Wiresharkを使用して.pcapファイルへのビデオコールを保存しました.RTPパケットからビデオを取得します。 RTPパケットのペイロードタイプがvp8の場合、C++でlibpcapライブラリを使用してvp8 RTPパケットを調べることができました。次に、すべてのRTP vp8パケットの内容をファイルに保存しました。しかし、私はffmpegを使って、この生のvp8データを.mp4に変換することはできません。 ffmpegは変換中にエラーを返します。 ffmpegの変換エラー:入力を処理RTP vp8ペイロードパケットを.webmファイルに保存する
た無効なデータVP8のRTPパケットから.MP4または.webmビデオファイルを取得するための手順を教えてください。
編集:VP8ペイロード記述子、ペイロードヘッダー、およびキーフレームヘッダーを除いた、生のVP8データを取得できました。それから私はIVFの文書によると、各VP8生フレームのIVFヘッダとフレームヘッダを追加 IVF Document
しかし、私はffmpegの
のffmpeg -iを使用してoutput1.mp4に私のIVFファイル(OUTPUT1)を変換したい場合にはOUTPUT1 -c:V VP8のoutput1.mp4
私はエラーが
"次に、すべてのRTP vp8パケットの内容をファイルに保存しました。" - パケット境界を維持しましたか?私。それはちょうどバイナリ連結ガーベジですか、または各パケットはまだ有効なタイムスタンプなどを持つ個々のVP8フレームですか? –
VP8を含むすべてのRTPパケットを取得します。次に、これらのパケットからRTPヘッダーを抽出し、RTPペイロードデータを保存しました。保存したデータは、連結されたRTPペイロードのみです。おそらく、最初に各フレームの境界を見つけなければならず、その後、vp8形式で再生できるように各フレームのヘッダーを追加する必要があります。 SビットとパーツIDを使用してvp8ペイロードヘッダーを抽出できました。私は各フレームの境界を正しく見つけることができたと思います。 – Ibrahim