質問

libx264のストリーミング出力について質問があります。私のシナリオは、IamがWebカメラからビデオをキャプチャし、x264でエンコードしてから、データをフラッシュにストリーミングし、FLVとして多重化することです。多重化の場合、libx264budleに含まれているoutput / flv_bitstream.hを使用します。私が行ったmuxerの唯一の変更は、ソケットを介してデータを転送するためにfwrite()im usig send()の代わりに...エンコーディングライブラリが正常に機能していることです。出力を保存すると(多重化されていても)、vlcプレーヤーで再生できます。ただし、ソケットを介したデータ転送の場合、vlcとflashは連携していません。奇妙なことに、Imがソケットを介してvlcプレーヤーにデータを送信すると、送信が終了するまで待機してから、バッファーからビデオを再生します。しかし、私が必要としているのは、ライブストリームを再生することです。

また、flvファイルを読み取って、タグごとにフラッシュタグのvlcに送信しようとしましたが、正常に機能しています。

何か提案はありますか?

役に立ちましたか?

解決

単純なhttpサーバーを実装し、次のコマンドで着信リクエストに応答します。
"HTTP / 1.0 200 OK \ r \ n"
"プラグマ:キャッシュなし\ r \ n"
"コンテンツタイプ:video / x-flv \ r \ n"
"\ r \ n"
これらのそれぞれの後に、生のFLVビットストリームが続く必要があります。
これにより、たとえばを使用してコンテンツをライブで消費できるようになります。VLC、flowplayer、...

また、「fwrite」ではなく「url_open_dyn_buf」/「url_close_dyn_buf」の使用を検討してください。参照についてはffserverを参照してください。

ソフィンのナダブ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top