問題タブ [rtp]
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.
filter - カスタム DirectShow RTSP/RTP ソース プッシュ フィルターの作成 - ライブ ソースからのタイムスタンプ データ
ビデオ サーバーから RTP データを受信してレンダラーにプッシュするカスタム DirectShow ソース プッシュ フィルターを作成しています。CSourceStream から継承する CVideoPushPin クラスと、ビデオ サーバーから RTP パケットを受信するスレッドのラッパーである CVideoReceiverThread クラスを作成しました。レシーバー スレッドは、基本的に次の 3 つのことを行います。
- 生の RTP パケットを受信し、受信者レポートに必要なデータを収集します
フレームを組み立て、それらをバッファにコピーし、それらに関する情報を 256 要素キューに格納します。これは次のように定義されています。
/li>受信したすべてのフレームには、現在のストリーム時間でタイムスタンプが付けられます
/li>
問題は、FillBuffer メソッドですべての MediaSample のタイムスタンプを設定する方法がわからないことです。いくつかの方法を試しましたが、再生が停止するか、遅すぎます。現在、FillBuffer メソッドは次のようになっています。
この場合、キュー内のアイテムの数が非常に急速に増加することに気付きました (何らかの理由で FillBuffer メソッドが十分な速さでデータを引き出すことができません)。その結果、ビデオの再生時に遅延が増加しています。ライブ ソースからデータを受信するときにタイムスタンプを付ける方法を知っている人はいますか?
java - Rtp on Java の初心者は役に立ちますか?
私は Android の Java で RTP をいじり始めましたが、誰かが私に少しの助けやガイダンスを与えてくれるかどうか疑問に思っていました。
これが私が始めたコードです:
RTP マネージャ、RTP セッション、および RTP パケット レシーバを設定する正しい方法がわかりません。
最初にデータグラム ソケットを開き、それを RTP セッションにリンクする必要がありますか?
上記のコードから RTPSession を文字列に出力すると、次のようになります。
それがどの程度正しいか間違っているかわかりませんか??
また、コードは rtpPacketReciever.run(); にのみ到達します。このメソッドの後のロギングは出力されないので、rtpPacketReciever.run();? に問題があると思います。
私はRTPに非常に慣れていないので、誰もが知っているガイダンスや優れたリソースは本当に役に立ちます.
前もって感謝します
編集:
編集:
このコードを追加しました:
コード:
また、ds リモート ソケットをログに記録すると、次の結果が返されます。
私にはどれが間違っているように見えますか? それは...ですか?
rtp - クライアントに RTP トランスポートを UDP から TCP に強制的に切り替える方法は?
クライアントが私の RTSP サーバーにあるストリームを見たい場合、最初に UDP プロトコルを介してストリームをセットアップしようとします。サーバーが RTP/AVP/TCP のみをサポートし、トランスポートを切り替える必要があることをどのように伝えることができますか?
サーバーで UDP サポートを終了したいのですが、すべてのクライアントが最初に UDP 経由でセッションをセットアップしようとし、後で TCP 経由でセットアップしようとします...そして、RTSP プロトコルでできるだけ早くそれらを TCP に切り替えたいと考えています。
どうやってやるの?
voip - 1つのストリームからRTPメディアをマルチプレクサ/デマルチプレクサするにはどうすればよいですか?
現在、1つのRTPストリーム(1つの接続)を介して複数のソースからビデオをストリーミングできるライブラリを見つけています。誰かがそれに推測を持っていますか?
実際、私はOpal3.8がVoIPlibであり、RTP/H264をサポートしていることを理解しました。しかし、1つのストリームからmux / demux rtpメディアをサポートできるかどうかわかりませんか?いいえの場合、私にいくつかの提案をしてもらえますか?
ありがとう、
video - h264 RTP タイムスタンプ
h264 RTP パケットのタイムスタンプについて混乱しています。ビデオのウォール クロック レートは、SIP SDP で定義した 90KHz であることを知っています。私のエンコーダーのフレームレートは正確に 30 FPS ではなく、可変です。オンザフライで 15 FPS から 30 FPS まで変化します。したがって、固定のタイムスタンプは使用できません。
次のエンコードされたパケットのタイムスタンプを教えてください。
0 ミリ秒後、エンコードされた RTP タイムスタンプ = 0 (開始タイムスタンプを 0 とする)
50 ミリ秒後、エンコードされた RTP タイムスタンプ = ?
40 ミリ秒後にエンコードされた RTP タイムスタンプ = ?
33 ミリ秒後にエンコードされた RTP タイムスタンプ = ?
エンコードされたフレーム レートが可変の場合の計算式は?
前もって感謝します。
c++ - RTP H.264 の保存と再生
H.264 ストリームを保存して再生することに関心があります。winpcapでh.264保存して再生した経験ある人いますか?H.263 を保存して再生することはできましたが、H.264 では同じロジックが機能しません。
H264 ストリームを保存するために rtpdump ツールも試しましたが、その形式で再生できませんでしたか?
前もって感謝します
android - AndroidはRTPやSCTPをネイティブにサポートしていますか?
Android用のトランシーバーアプリケーションを開発していますが、RTPやSCTPが最新バージョンのAndroidSDKでネイティブにサポートされているかどうかを知りたいです。
私がこれまでに掘り下げたものは何でも、答えはノーです。
SCTPのサポートはJDK7で行われるようです。しかし、それでは、これが私のAndroid開発でどのように機能するかわかりません。
これに光を当てていただけませんか?
ありがとう、
video - H264 RTP パケットのダンプと QuickTime ファイルの生成
libpcap を使用してキャプチャしたストリーミング H264 ビデオの RTP パケットのダンプがあります。そこから再生可能なビデオファイルを生成できるツールを誰かが知っているかどうか疑問に思っていました.
ありがとう
java - Java でバイト配列を埋める
私が取り組んでいるプロジェクトの一部では、バイトのヘッダー配列に RTP ヘッダー フィールドを入力する必要がある RTPpacket を実装しています。
これが私のアプローチでした:
これを行うための他の、おそらく「より良い」方法はありますか?
video - raw h.264 パケットのキャプチャと VLC での再生
ビデオ会議 HDX からネットワークからパケットをキャプチャしています。ビデオは RTP で送信され、H264 でエンコードされます。
これらのパケットをキャプチャしてビデオ ファイルを生成しようとしています。生の H264 データをパケットからディスクに書き込んで、VLC で再生しようとしています。
VLC は緑色のボックスを表示するだけです。
データ書き込みのアプローチが単純すぎるのでしょうか、それとも VLC がこのファイルを再生する必要があると仮定するのは間違っているのでしょうか?
誰でもそのようなことの経験はありますか?