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