avconv
およびffmpeg
を使用してビデオファイルを変換しましたが、このプロセス後のこれらのファイルはモバイルブラウザーでは機能しませんでした。 VLCまたはデスクトップの他のブラウザー(LinuxまたはWindows)でのみ機能します。
そして、StackOverflowで見られる変換にすべてのコードを使用しました! H264またはVP9コーデックを使用するMP4またはWebMは機能しません。
最後に使用したコードは次のとおりです。
ffmpeg -i buck.webm -b 1500k -vcodec libx264 -profile:v baseline -g 30 "example.mp4"
PCでは正常に動作しますが、モバイルブラウザー(ChromeまたはFirefox)では動作しません。
どうすればいいですか?
Android開発者向けにこのドキュメントをよく見てください:
これはベースライン設定のみを提供し、特定のモバイルデバイスは、表にリストされていない追加の形式またはファイルタイプをサポートする場合があることに注意してください。
これに基づいて、video codecの選択とこのcodecの設定は受け入れられるように見えますが、コマンドラインでaudio codecにaacを指定した方が良いでしょう。これにより、再生が正常に行われるさまざまなデバイスが可能になります。
FFmpegの推奨コマンドラインは次のとおりです。
ffmpeg -i input \
-c:v libx264 -preset slow -crf 22 \
-profile:v baseline -level 3.0 \
-movflags +faststart -pix_fmt yuv420p \
-c:a libfdk_aac -b:a 128k \
output.mp4
このコマンドラインの選択に関するいくつかのポイント:
-profile:v baseline -level 3.0
を使用する-movflags +faststart
を追加することをお勧めします。この設定で再生を開始する必要がありますbefore完全にダウンロード済み-pix_fmt yuv420p
を使用して、より広い範囲のデバイスで再生できるようにしますlibfdk_aac
は、ネイティブFFmpeg AACエンコーダーよりも優れたAACサウンドを提供します(このエンコーダーがまだ「実験的」とマークされていた場合)このコマンドラインを使用してテストするために、作業サンプル here を提供しました。