1

私のプログラム (C で書かれたもの) で次の結果を達成するために私を導いてください: HTTP MPEG TS ストリーム (コーデック h264 & aac) としてストリーム ソースがあり、1 つのビデオと 1 つのオーディオ サブストリームがあります。RTP 経由で RTSP クライアントに送信するには、(同じコーデックの) MPEG ES フレームを取得する必要があります。libavformat が RTP ヘッダー付きのフレームを提供するのが最善です。私が知っているように、Blackberry電話のメディアプレーヤーはTSを再生しないため、MPEG ESが必要です(私は試しました)。ただし、h264とaacを保持でき、ブラックベリーやその他の電話でうまく再生できる、この状況で入手しやすい別の形式を誰かが教えてくれたらありがたいです。

ストリームを開き、FLV コンテナーに再多重化する他のタスクは既に成功しています。

「rtp」形式で 2 つの出力形式コンテキストを開こうとしましたが、フレームも取得しました。クライアントに送信されます。失敗。

また、フレームを「m4v」AVFormatContextに書き込んで、フレームを取得し、NALでカットし、各フレームの前にRTPヘッダーを追加して、クライアントに送信しようとしました。クライアントが最初のフレームを表示してハングするか、10 秒以上ごとに 1 秒間のビデオとオーディオを (必要以上に速く) 再生します。VLC プレーヤーのログには次のようなものがあります: http://pastebin.com/NQ3htvFi

簡単にするために、タイムスタンプを 0 から開始するようにスケーリングしました。VLC (または覚えていない Wowza) がオーディオ TS を 1920 ではなく 1024 ずつインクリメントしたものと比較したので、他のストリーマーと同様になるように追加の線形スケーリングを行いました。bigbuckbunny_450.mp4 の再生のパケット ダンプはこちら: ftp://rtb.org.ua/tmp/output_my_bbb_450.log

ところで、どちらの場合も、Wowza または VLC から SDP をほとんどコピーしていません。

必要なものを取得する正しい方法は何ですか? libavformatに似たライブラリがあるかどうかも興味がありますか? 胚の状態でもかまいません。

4

0 に答える 0