web-dev-qa-db-ja.com

FFMPEGを使用してMP4を最大のモバイル対応MP4に変換する

ffmpegを使用してmp4を「低サイズ」に変換したいmp4 ...

mp4ビデオとaacオーディオを含むh263ファイル(または低価格のモバイルでサポートされているその他の設定)が必要です。私の主な懸念は、ビデオがほとんどのデバイスで再生できることです。

これを達成するためのいくつかの可能なffmpegコマンドは何でしょうか?

前もって感謝します。

21
Notepad

MP4ビデオをエンコードする方法は数多くあり、モバイルデバイス用にエンコードする方法はさらに複雑です。 「低コストのモバイル」とはどういう意味かわかりませんが、デバイスと同じように低コストですか、それとも、その動画の再生に必要な帯域幅ですか。

いずれにせよ、ここにあなたを始めるための投稿: FFMPEGを使用したH.264 WEBビデオエンコードのチュートリアル

投稿のffmpegの例をいくつか示します...

「標準」Webビデオ(500kbit/sで480p):

ffmpeg -i input_file.avi -vcodec libx264 -vprofile high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -b:a 128k output_file.mp4

古い携帯電話用の360pビデオ(ベースラインプロファイルで250kbit/sで360p):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -acodec libvo_aacenc -ab 96k output.mp4

iPadとタブレット用の480pビデオ(メインプロファイルで400kbit/sで480p):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile main -preset slow -b:v 400k -maxrate 400k -bufsize 800k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -ab 128k output.mp4

アーカイブ/ストレージ用の高品質SDビデオ(1Mbit/sのPALが目立つ):

ffmpeg -i inputfile.avi -vcodec libx264 -vprofile high -preset slower -b:v 1000k -vf scale=-1:576 -threads 0 -acodec libvo_aacenc -ab 196k output.mp4

ビットレート、スケール、プロファイル...

そこの例から、あなたが注意を払う必要があるかもしれない主要な事柄のいくつかは...

-b:v 500k

-b:a 128k

これらはビデオvとオーディオaのビットレートであり、数値が低いほど品質は低くなりますが、ローエンドデバイスでの「再生」が向上する可能性もあります。

scale=-1:480

これにより、ビデオのサイズが小さくなります。詳細については、投稿を参照してください)

-vprofile baseline

これは奇妙に見えるbaseline(または別の適切な プロファイルパラメータ )は、特定の低コスト(例:Android)デバイスをエンコードするときに重要になる場合があります...

ベースラインプロファイル(BP)

主に、データ損失の堅牢性をさらに必要とする低コストアプリケーション用に、このプロファイルは一部のビデオ会議およびモバイルアプリケーションで使用されます。このプロファイルには、制限付きベースラインプロファイルでサポートされているすべての機能に加えて、損失の堅牢性(または低遅延マルチポイントビデオストリーム合成などの他の目的)に使用できる3つの追加機能が含まれています。これらの2つのプロファイルは同じプロファイル識別子コード値を共有するため、すべての制限付きベースラインプロファイルのビットストリームもベースラインプロファイルビットストリームと見なされます。

44
Justin Jenkins