問題タブ [rtcp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
rtp - RTPは、複数の受信者へのデータファイルの配信に適していますか?
単一の集中型ソースから数百台のクライアントマシンにファイルを転送する必要があります。現在、UDPCastを使用してこの種のことを行っていますが、問題を解決するための標準ベースのアプローチをさらに探しています。
私はRTPRFC(1889)を読んでいて、プロトコルが主に複数のクライアントにメディア(オーディオおよび/またはビデオ)をストリーミングするために開発されたことに気づきました。ファイル転送のニーズも満たすかもしれないと思いました。
もちろん、送信するファイルのすべての「ブロック」が各クライアントによって確実に受信されるようにする必要があります。
RTPはデータファイルの転送に適していますか?RTCPを使用して、すべてのクライアントが送信されたすべてのデータを確実に受信できるようにすることはできますか?
任意のガイダンスをいただければ幸いです。
c# - How do I determine if a packet is RTP/RTCP?
I am using SharpPCap which is built on WinPCap to capture UDP traffic. My end goal is to capture the audio data from H.323 and save those phone conversations as WAV files. But first thing is first - I need to figure out what my UDP packets are crossing the NIC.
SharpPCap provides a UdpPacket class that gives me access to the PayloadData of the message. But I am unsure what do with this data. It's a Byte[] array and I don't know how to go about determining if it's an RTP or RTCP packet.
I've Googled this topic but there isn't much out there. Any help is appreciated.
java - NIO を使用した Java RTP/RTCP ライブラリ
Java NIO または一部の Java NIO フレームワーク (Netty、MINA など) に基づく Java RTP/RTCP ライブラリはありますか?
stream - pcap ファイルを RTP/RTCP ストリームにストリーミングするには?
メタデータを含む pcap ファイルとして 3 つの異なるストリームをキャプチャしました。RTP/RTCP ストリームに戻すにはどうすればよいですか?
timestamp - 誤ったタイムスタンプ計算を修正するには? [OpenRtspClient]
Myは、ストリームの計算されたタイムスタンプの一部に対して信頼性が低く、RTSP Source
頻繁 に大きな負のジャンプが発生します。RTCP
SR
H.264
デバッグ ログの例を次に示します。101006.6130 から -4193861.6830 にジャンプし、そのまま継続する様子をご覧ください。
だから、私の質問は:
Live555
メディア ライブラリを使用してこの問題を解決するにはどうすればよいですか? 情報を無視する必要RTCP
がありますか、または推奨される解決策とはLive555
?
android - RTSP セッションを維持するには?
Google nexus S (2.3.7)、HTC Desire (2.3.3)、Samsung Galaxy (3.2) でストリーミングしてみました。また、RTSP セッション タイムアウトの問題があるのは Google Nexus だけです。
この問題についていくつかのスレッドを読みました。セッションを維持するために毎秒RTCPリクエストを送信する必要があるようです。または、基本的に何もせずにアプリを維持するRTSP「OPTION」リクエストを送信するだけです。そのリクエストを生成する方法について、誰かが私に有利なスタートを切ることができますか? これまで RTCP を扱った経験はありません。
rtp - AVPF の初期メディア設定
RFC4585 によると、AVPF プロファイルにより、デバイスは通常の RTCP パケットの通常の送信よりも早くフィードバックを送信できます。ただし、帯域幅、ユーザー数、および通常の RTCP パケットの周期性によっては、セッションの参加者が早期フィードバックを使用できない可能性があります。
このしきい値はどのように計算されますか? これは提供されていません (少なくともポイント ツー ポイントの場合は、提供されていると便利です)。
scheduling - AVPFスケジューリングアルゴリズム
RFC4585によると:
RのFBメッセージが5のように他の受信者FBメッセージによって抑制されなかった場合、teに達したときに、RはそのFBメッセージを含む(最小の)複合RTCPパケットを送信する必要があります。次に、Rはallow_early = FALSEを設定し、tn = tp + 2 * T_rrを再計算し、tpを前のtnに設定する必要があります。新しく計算されたtnに達するとすぐに、Rが次の通常のRTCPパケットを送信するか、T_rr_intervalのためにそれを抑制するかに関係なく、allow_early=TRUEを再度設定する必要があります。
初期のRTCPパケットが時間t1't1
--- t1'------ t2 ------------ t3
に送信され、t1、t2、t3が通常の時間であると仮定します。 RTCPパケットが送信されます。RFCは、パケットが時刻t1'に送信された場合、時刻t2のRTCPパケットはドロップされ、t3までフィードバックメッセージは許可されないことを示唆しています。
ただし、同じRFCの後半では、次のように述べられています。
完全な複合RTCPパケットは、定期的に送信する必要があります。これらの
パケットには、1つ以上のFBメッセージも含まれる場合があります。通常のRTCPパケットの送信
は次のようにスケジュールされます。T_rr_interval == 0の場合、送信はこのドキュメントのセクション3.2および3.4で指定されているルールに従う必要があり、セクション3.5.2で指定されているtnの調整に準拠する必要があります(つまり、早期RTCPパケット送信の場合は通常の送信を1回スキップする必要があります発生しました)。[1]に従って、tnに達するとタイマーの再検討が行われます。通常のRTCPパケットは、タイマーの再検討後に送信されます。通常のRTCPパケットが送信または
抑制される場合は常に、allow_earlyをTRUEに設定し、tp、tn
を[1]に従って更新する必要があります。通常のRTCP
パケットの最初の送信後、Tminを0に設定する必要があります。
これは矛盾しているように見えます。これは、RTCPパケットが抑制されている場合、allow_earlyをTRUEに設定する必要があるため、時間t2でallow_earlyをTRUEに設定する必要があるように見えるためです。
network-programming - ループバックで RTP ストリームからパケットを傍受し、C++ コードを介してデータにアクセスする方法は?
このストリームのパケットをインターセプトし、C++ コードからデータにアクセスできるようにしたいと考えています。C++ コードでこれを行うにはどうすればよいですか? RTP メディア ストリームは、このサーバーを使用してストリーミングされます:リンク
次に、パケットを FEC エンコードします。それらをネットワーク経由で送信します。それらを受信側で FEC デコードし、データのストリームを RTCP クライアントに渡します。