コマンドラインを使用する場合は、ffmpeg
(またはhandbrake-cli
)を使用できます。
MP4
あなたが最近のバージョンを使用していると仮定するとffmpeg
:
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
-crf
:品質。範囲は対数0(損失なし)から51(最低品質)です。デフォルトは23です。主観的な正常範囲は約18〜28です。それでも許容できる品質が得られる最高の値を使用します。YouTubeなどにアップロードするために非現実的に大きな入力を再エンコードする場合、これらのビデオサービスはいずれにしても再エンコードされるため、17または18の値を試してください。
-preset
:エンコード速度。プリセットを遅くすると圧縮率は向上しますが(ファイルサイズあたりの品質)、遅くなります。忍耐力が最も遅いものを使用してください:超高速、超高速、超高速、高速、高速、中(デフォルト)、低速、低速、超低速。
-movflags +faststart
:プログレッシブダウンロード表示の場合、完全にダウンロードされる前にビデオを再生できます。ビデオをホストしている場合に役立ちます。YouTubeなどのビデオサービスにアップロードする場合は不要です。
-vf scale=-2:720,format=yuv420p
:フィルターグラフ使ってスケールをし、フォーマットビデオフィルタ。高さ720ピクセルに拡大縮小し、アスペクトを維持する幅を自動的に選択してから、ピクセル形式がダムプレーヤーと互換性があることを確認します。
-b:a 128k
:音声ビットレート。ffmpeg
が古い場合は-strict experimental
、使用するために追加する必要があります-c:a aac
。
MOV
MOVおよびMP4ファイルにはおそらく同じビデオおよびオーディオ形式が含まれているため、MP4をエンコードし、再エンコードの代わりに(ストリームコピーモードで)再多重化することでMOVを作成できます。
ffmpeg -i input.mp4 -codec copy output.mov
WMV
FFmpegはWMV 7および8のみをサポートします。バージョン9のオープンソースエンコーダーを知りません。
$ ffmpeg -encoders | grep -i windows
[...]
V..... = Video
A..... = Audio
------
V..... wmv1 Windows Media Video 7
V..... wmv2 Windows Media Video 8
A..... wmav1 Windows Media Audio 1
A..... wmav2 Windows Media Audio 2
私はこれらのエンコーダーに慣れていないので、テストされていない例を紹介するだけです。
ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv
ffmpegの入手
ffmpegのLinuxビルドをダウンロードするか、ステップバイステップのffmpegコンパイルガイドに従ってビルドをカスタマイズできます。
bash「forループ」を使用してバッチエンコードを実行する
ディレクトリ内のすべてのビデオをエンコードするには:
$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
"encoded/${f%.avi}.mp4"; done
こちらもご覧ください