2

rtp ペイロードから mpeg4 を抽出しようとしています。rtsp メディア (ビデオ) の形式は MP4V-ES ですが、ペイロードから mp4 を抽出できません。抽出物を生ファイルにダンプし、ffmpeg を使用して .avi または .mpg に変換すると、機能しません。ここで何が欠けているのかわかりません。コードはJavaで書かれています。rtp から各ビデオ フレームを抽出し、それをファイルに保存するか、再送信したいと考えています。

ありがとう

質問の更新..... 入力していただきありがとうございます。実際には 000001b6 からバイトを抽出して ffmpeg に送信できましたが、ヘッダー情報ではないというエラーが表示され、 000001b0 00000000 および 000001B5 00000005 でヘッダーを作成して送信しましたffmpegにですが、運がありません。RTP から取得しているのは 000001b6 [データ] であり、再び 000001b6 [データ] であるため、ここで助けてもらえますか? 私はここに何かが欠けています! また、RTPから取得したものは実際のmpeg4データであるため、デコード/エンコードする必要があるかどうかを知りたいのですが、デコードする理由がわかりません。ファイルに保存して、quicktimeまたはVLCで開くことができますか1 フレーム右に表示されます。

4

1 に答える 1

1

MPEG-4 ビデオ RTP ペイロードは、 MPEG-4 オーディオ/ビジュアル ストリームの RTP ペイロード形式 で説明されています。

MPEG-4 ビデオ ストリームを再構築するために必要な手順の簡単な説明とともに、生の UDP パケットを処理して、directshow ソース フィルターのデコーダー フィルターでデコードできるようにする方法も参照してください。

更新:セッション記述子でB0andを探す必要がある場合があります。B5どこを探すべきかがわかるように、MPEG-4 RTSP/SDP 応答の例を次に示します。

RTSP/1.0 200 OK
CSeq: 2
Content-Base: rtsp://192.168.0.57/webcam/
Content-Type: application/sdp
Content-Length: 320

v=0
o=- 1 1 IN IP4 127.0.0.1
s=Test
a=type:broadcast
t=0 0
c=IN IP4 0.0.0.0
m=video 0 RTP/AVP 96
a=rtpmap:96 MP4V-ES/90000
a=fmtp:96 profile-level-id=1;config=000001B003000001B509000001000000012000C488BA9850584121463F
a=control:track0
m=audio 0 RTP/AVP 97
a=rtpmap:97 AMR/8000/1
a=fmtp:97
a=control:track1
于 2011-10-25T10:46:45.663 に答える