FFMpeg でストリーミング可能な (断片化された?) mp4 ファイルを書き込もうとしています。しかし、フォーマットの FFMpeg 動作のデフォルトは-f mp4
これではありません。
たとえば、次の AAC-LC MP4 テスト ファイルを名前を付けて保存し、次のコマンドaac_lc_in.m4a
を実行します。ffmpeg
ffmpeg -y -i aac_lc_in.m4a -strict -2 -codec copy -f mp4 aac_lc_out.m4a
その結果、ストリーミングできないファイルが生成されます (サーバーに配置し、ブラウザーにロードしてみてください。完全にダウンロードされた後にのみ開始されます)。これは、ダウンロードが完了する前に開始できる元のファイルでは発生しません。
mp4
フォーマットパラメーターも使用してみました:
-movflags frag_keyframe+empty_moov
-movflags faststart+frag_keyframe
-movflags faststart+frag_keyframe+empty_moov
-movflags faststart+rtphint+frag_keyframe
-movflags rtphint+frag_keyframe
-movflags rtphint+frag_keyframe -rtpflags latm
しかし、何も役に立ちませんでした。出力ファイルが元のファイル (ファイル形式ボックス、サンプル テーブル ボックスなど) と非常によく似ている場合でも、生成されたファイルはストリーミングできません。