私はffmpegが初めてで、黒用のフィルターがあると聞きました。ビデオの上部と下部にある黒いバーを削除して、黒いバーのない残りのビデオにビデオをトリミングします。ありがとう:)
cropdetect を使用して、 crop フィルターのパラメーターを提供できます。この例では、最初の90秒がスキップされ、10フレームが処理されます。
$ ffmpeg -ss 90 -i input.mp4 -vframes 10 -vf cropdetect -f null -
...
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:215 t:0.215000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:257 t:0.257000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:299 t:0.299000 crop=1280:720:0:0
それで、cropdetectによると、crop=1280:720:0:0
。
ffplay
でプレビュー$ ffplay -vf crop=1280:720:0:0 input.mp4
$ ffmpeg -i input.mp4 -vf crop=1280:720:0:0 -c:a copy output.mp4
この例では、オーディオを再エンコードする必要がないため、オーディオは ストリームコピー (再多重化)です。
上記のffplay
の例で見たように、一部のプレーヤーでは、再生時にトリミングできます。これには次の利点があります。
@LordNeckbeardの答えは素晴らしいです。ほとんどの場合それをお勧めします。
ffplayはうまく機能し、プレビューもうまくいきましたが、使用していたffmpegのバージョンは、使用していたこのビデオのオーディオに苦労していました。
st:1 error, non monotone timestamps
実行中のバージョンでは-c:a
がサポートされておらず、使用していたビデオでのビットレート変換に問題があったため、提案された回答に問題が生じました。
注:-c:a
は、-acodec
に置き換えることができます。
私が見つけた最も簡単な代替無料ソリューションは、ハンドブレーキを使用することでした。
オートクロップは黒いバーを問題なく削除しました。
お役に立てば幸いです。