2011-07-04 12 views
1

例えばaviからh.264への変換にlibavcodecを使用する方法を理解できません。私はこのように私のC++プログラムにビデオを変換することができます:ffmpegを使ってC++ストリーミングサーバのビデオを変換する

file=popen("ffmpeg -i file.avi file.m4v"); 

は私が動的に映像変換処理を完了を待たずにストリーミングするために、この機能を使用することはできますか?

+1

プロセスの実行を待たない場合は、 'fork'と' exec'ファミリの関数を使うのが良いでしょう。 –

答えて

2

m4vファイルがトランスコードされている間にストリーミングすることはできません。 ffmpegは、ビデオをストリーミングするために必要なトランスコード処理の最後にメタデータを書き出します。変換が完了したら、最初にこのメタデータを入力するにはMP4Boxまたはqt-fatsstartを使用する必要があります。変換中にビデオをストリーミングしたい場合は、ビデオをMPEGトランスポートストリーム(mpeg-ts)形式に変換する必要があると思います。

関連する問題