Ben ffmpeg için yeniyim ve siyah için bir filtre olduğunu duydum. Videonun üstündeki ve altındaki siyah çubukları kaldırmak istiyorum, böylece video siyah çubuklar olmadan kalan videoya kırpılır. Teşekkürler:)
Ben ffmpeg için yeniyim ve siyah için bir filtre olduğunu duydum. Videonun üstündeki ve altındaki siyah çubukları kaldırmak istiyorum, böylece video siyah çubuklar olmadan kalan videoya kırpılır. Teşekkürler:)
Yanıtlar:
cropdetect , kırpma filtresi için parametreler sağlamak üzere kullanılabilir . Bu örnekte ilk 90 saniye atlanır ve 10 kare işlenir:
$ 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
Böylece cropdetect'e göre kullanabiliriz 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
Bu örnekte ses, muhtemelen yeniden kodlamanız gerekmediğinden akışla kopyalanır (yeniden karıştırılır).
Yukarıda ffplay
örnekte gördüğünüz gibi, bazı oyuncular oynatma sırasında kırpmanıza izin verir. Bunun avantajı:
@LordNeckbeard'ın cevabı harika. Çoğu durumda tavsiye ederim.
ffplay harika çalıştı ve iyi önizlendi, ama kullandığım ffmpeg sürümü kullandığım bu videodan sesle mücadele etti.
st:1 error, non monotone timestamps
Hem -c:a
çalıştığım sürümle desteklenmemesi hem de kullandığım video ile bit hızı dönüşümü ile ilgili bir sorun ile önerilen cevapla ilgili sorun yaşadım.
Not: -c:a
ile değiştirilebilir:-acodec
Bulduğum en kolay alternatif serbest çözüm el freni kullanmaktı.
Autocrop, siyah çubukları çok sorunsuz bir şekilde kaldırdı.
Umarım yardımcı olur.