最近、ffmpeg をトランスコーディングおよびストリーミング ツールとして使用するタスクがありました。タスクは、ファイルを特定の形式から MP4 に変換し、stdout からキャプチャすることですぐにストリーミングすることでした。ここまでは順調ですね。ストリーミングは、VLC プレーヤーだけでなく、Android タブのネイティブ プレーヤーでもうまく機能します。問題はフラッシュプレーヤーにあります。次のエラーが発生します。
NetStream.Play.FileStructureInvalid : Adobe Flash は、無効なファイル構造を持つファイルをインポートできません。
使用されるffmpegフラグは
$ ffmpeg -loglevel quiet -i somefile.avi -vbsf h264_mp4toannexb -vcodec libx264 \
-acodec aac -f MP4 -movflags frag_keyframe+empty_moov -re - 2>&1