web-dev-qa-db-ja.com

iPad / iPhone / iPodのビデオを変換するffmpegコマンドは何ですか?

私は現在、(特に)次のhandbrakecliコマンドラインを実行してビデオを変換するバッチファイルを使用しています。

HandBrakeCLI.exe -v0 --input "D:\input.mkv" --preset="Universal" --iPod-atom -t 1 --angle 1 --gain 0 --output="D:\output.mp4"

これは何年にもわたって私に役立ち、元の(16Gbデバイスしかない場合は良い)よりも小さいビデオファイルを生成し、十分に美しく、私が装着したほとんどすべてのiPod、iPad、iPhoneで動作します。

しかし、時間の経過とともに、handbrakecliは、より多くのビデオを変換して、別の方法を探す必要があるまで苦労しています。ログがクラッシュした理由に関するログがまったく提供されていないという事実は役に立ちません。たとえば、このビデオは変換によって71%でクラッシュし、これが最後の4行です。

AC3 Passthru requested and input codec is not compatible for track 2, using AC3 encoder
x264 [info]: using SAR=9593/9600
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile Constrained Baseline, level 3.0

あまり役に立たなかった。

私はffmpegを代替として使用することを検討しましたが、インターネットで見たすべての例は次の1つ以上を実行します。

  1. 動作しない(コマンドラインオプションが認識されない)-一般的な!
  2. 元のファイルよりも大きいファイルが作成されます-非常に一般的です!
  3. 特に予期しないビデオサイズが変換された場合(例:非ワイドスクリーンPAL)、画像を歪めます。
  4. オーディオを削除する
  5. IPhone、iPod、iPadで再生できない動画が表示される

すべてのAppleデバイスに加えてファイルサイズの縮小を達成する上でビデオを楽しく実行させるまともな万能ffmepgコマンドラインはありますか?

720pを超えるビデオも縮小する(ただし歪まない)場合はボーナスポイント。

24
Richard

これが私の見解です。 iPhone 4以降(すべてのiPadを含む)をターゲットにします:H.264メインプロファイル、レベル3.1

ffmpeg -i input.mp4 -vcodec libx264 -profile:v main -level 3.1 -preset medium -crf 23 -x264-params ref=4 -acodec copy -movflags +faststart output.mp4

自由に変更できる値:

  • -crf 23:一定の品質設定。値が高い=品質が低く、ファイルが小さい。低い=品質が高く、ファイルが大きい。正気値は[18-24]
  • -preset medium:これが遅すぎる場合は、より高速なプリセットを使用します。忍耐力がある場合は、遅い方を使用してください。詳細は here を参照してください。
  • -acodec copy:オーディオトラックをMP4コンテナーにコピーしようとします。コピーできない場合は、AAC/MP3/AC3に再エンコードする必要があります...例:-acodec libmp3lame

ビデオが720pより大きい場合は、入力の後に以下を追加します。

-vf "scale=-2:720:flags=lanczos"

これにより、ビデオが720pに縮小され、アスペクト比が維持されます。使用されるスケーリングアルゴリズムは、デフォルトよりもはるかに優れているため、lanczosになります。

30
Ely

これは基本的なものですが、iPad 3ではすぐに機能しました

ffmpeg -i inputfile outputfile.m4v
0
yeeking