私は現在、(特に)次の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つ以上を実行します。
すべてのAppleデバイスに加えてファイルサイズの縮小を達成する上でビデオを楽しく実行させるまともな万能ffmepgコマンドラインはありますか?
720pを超えるビデオも縮小する(ただし歪まない)場合はボーナスポイント。
これが私の見解です。 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になります。
これは基本的なものですが、iPad 3ではすぐに機能しました
ffmpeg -i inputfile outputfile.m4v