質問: すべてのブラウザとデバイス(windows / mac / ios / android)で機能するffmpegでh264をエンコードします ffmpegを使用して画像をwindowsブラウザとmacブラウザおよびiosで動作するh264ビデオファイルにエンコードしたい/ android html5で表示するデバイス。エンコードされたものを使用してそれを行う方法はありますか?ファイル?現在、私のffmpeg文字列はwindows/android用にのみエンコードされていますこれが私の現在のffmpegコードです:これが私のhtml5表示コードです:ffmpeg -y -r 25 -i ./images/video%04d.png -i music.wav -shortest -vcodec libx264 -s 720x480 -strict experimental -acodec aac video_file.mp4 <video width="640" height="480" controls="" preload="" poster="../poster.jpg"> <source src="video.mp4" type="video/mp4"> your browser does not support the video tag. </video> -vcodecをlibx264ではなくmpeg4に変更すると、ios/macで機能しますが、windowsでは機能しません。これは本当に紛らわしいです!ffmpegバージョン3.0.1を使用-静的 http://johnvansickle.com/ffmpeg/ copyright(c)2000 -2016ffmpeg開発者
回答: ffmpegの最新バージョンを使用しているので、以下のコマンドを使用してくださいffmpeg -y -i ./images/video%04d.png -i music.wav -profile:v baseline -shortest -vcodec libx264 -s 720x480 -acodec aac -movflags +faststart video_file.mp4 profileは、幅広い互換性のために最小公分母baselineに設定されます。 moovボックスはファイルの先頭に移動するため、再生を開始する前にmp4全体をダウンロードする必要はありません。デフォルトでは、ffmpegは、特に指定されていない限り、画像シーケンスに25のフレームレートを割り当てます。 2015年12月以降、ネイティブaacエンコーダーは実験用としてマークされなくなりました。720x480のサイズ値とhtml5ビデオサイズ(640x480)の両方から、ntscソースマテリアルを扱っていると思います。その場合は、ffmpeg -y -framerate 30000/1001 -i ./images/video%04d.png -i music.wav -vf "scale=640x480,setsar=1' -profile:v baseline -shortest -vcodec libx264 -acodec aac -movflags +faststart video_file.mp4