私は自分でこれを理解しようとしましたが、無数のオプションが私を困惑させます。
理想的にはffmpeg
またはmencoder
(または他の何かですが、私が動作していることを知っているこれら2つ)を使用して、着信ビデオを固定画面サイズに変換します。
ビデオが幅が広いか短すぎる場合は、ビデオを中央で切り抜きます。サイズが適切でない場合は、画面サイズを正確に固定するためにサイズを変更します。
最後に必要なのは、MP3オーディオトラックを備えたXVid AVIの720x480です。
最大解像度にサイズ変更する方法を示すページをたくさん見つけましたが、ビデオを正確にその解像度にする必要があります(余分な部分が切り取られ、黒いバーがありません)。
実行するコマンドラインを誰にでも教えてもらえますか?複数のコマンドラインが必要な場合(Xを実行して解像度を取得し、この計算を実行してから、その計算の出力でYを実行します)、スクリプトを作成できます。
注:元の回答はこのリンクに投稿されました: どうすればffmpegでビデオをトリミングできますか? もともと私が投稿し、最新バージョンの最新オプションに更新するために数回編集しましたffmpegの。 slhck 、 Jonathan。 、Anton Rudeshko 、 LordNeckbeard および将来のメンテナーに感謝します。
FFmpegの最近のバージョンでは、 crop
filter を使用します。
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
オプションは次のとおりです。
out_w
は、出力長方形の幅ですout_h
は、出力長方形の高さですx
およびy
は、出力長方形の左上隅を指定します
元の320x240の画像
位置(200、100)から始めて80×60セクションをトリミングするには:
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
右下の四分の一をトリミングするには:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
これは次と同じです:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
これは次と同じです:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
in_w
およびin_h
を使用して入力画像サイズを参照できます。出力の幅と高さは、out_w
およびout_h
でも使用できます。上から20ピクセル、下から20ピクセルをトリミングします。
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
とy
が省略されている場合、フィルターは自動的にトリミングを中央に配置します。作物を採取して(heh heh)、ffplay
でライブプレビューできます:
ffplay -i input -vf "crop=in_w:in_h-40"
これにより、エンコード、表示、繰り返しを行うことなく、トリミングを実験および調整できます。
MP4のデフォルトのエンコーダーは、ffmpeg
ビルドに応じて、libx264
(H.264ビデオ)またはmpeg4
(MPEG-4 Part 2ビデオ)です。詳細については、 FFmpeg Wiki:H.264 Video Encoding Guide を参照してください。
トリミングして再エンコードする代わりに、再生時にトリミングすることを検討してください。これは、使用する価値のあるプレーヤーで可能です。
以前のffmpeg
ビルドでは、crop
フィルターの代わりに-croptop
、-cropbottom
、-cropleft
、-cropright
オプションが使用されていました。これがあなたに当てはまる場合は、 最新のffmpeg
を取得します。開発は非常に活発であり、アンティークを使用する理由はありません。