Entfernen Sie die oberen und unteren schwarzen Balken von .mp4-Videos mit ffmpeg

20

Ich bin neu bei ffmpeg und habe gehört, dass es einen Filter für Schwarz gibt. Ich möchte schwarze Balken oben und unten im Video entfernen, damit das Video auf das verbleibende Video ohne schwarze Balken zugeschnitten wird. Vielen Dank:)


quelle
Windows? Installieren Sie WinFF. Hier können Sie die Werte
eingeben,

Antworten:

36

FFmpeg cropdetect und crop filters

1. Ernte Parameter abrufen

cropdetect kann verwendet werden , um die Parameter für die zur Verfügung zu stellen Ernten Filter. In diesem Beispiel werden die ersten 90 Sekunden übersprungen und 10 Frames verarbeitet:

$ 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

Also nach cropdetect können wir verwenden crop=1280:720:0:0.

2. Vorschau mit ffplay

$ ffplay -vf crop=1280:720:0:0 input.mp4

3. Kodieren Sie mit dem Erntefilter neu

$ ffmpeg -i input.mp4 -vf crop=1280:720:0:0 -c:a copy output.mp4

In diesem Beispiel wird das Audio nur per Stream kopiert (erneut gemuxt), da Sie es wahrscheinlich nicht erneut codieren müssen.

Siehe auch


Zuschneiden während der Wiedergabe

Wie Sie oben am ffplayBeispiel gesehen haben, können Sie bei einigen Playern beim Abspielen beschneiden. Dies hat den Vorteil:

  • Sofortige Befriedigung; keine Notwendigkeit, neu zu codieren
  • Die Qualität bleibt erhalten
Logan
quelle
Tut mir leid, aber ich bin neu in ffmpeg und verstehe das Teil nicht, um schwarze Balken oben und unten zu entfernen und die Größe des Videos auf die verbleibende Größe ohne schwarze Balken zu ändern.
1
Gibt es eine automatisierte Möglichkeit, schwarze Balken zu entfernen, oder muss ich Werte immer manuell zuschneiden?
1
@rexhin Wenn Sie cropdetect ausführen, werden eine Reihe von Informationen in der Konsolenausgabe ausgegeben, wie oben gezeigt. Es gibt Ihnen buchstäblich die tatsächlichen Ernteparameter, die Sie verwenden müssen. Sie können es per Scripting automatisieren.
Logan
Wow genial es hat funktioniert. Aber wo haben wir den Filter für Schwarz hingelegt? Auch was sind die anderen beiden Parameter in crop = 1280: 720: 0: 24
Es hat den oberen schwarzen Balken entfernt, aber unten einen kleinen schwarzen Balken hinterlassen. Warum ist das passiert?
1

Die Antwort von @LordNeckbeard ist großartig. Ich würde es in den meisten Fällen empfehlen.

ffplay funktionierte prima und zeigte eine gute Vorschau, aber die Version von ffmpeg, die ich verwendete, kämpfte mit dem Audio dieses Videos, das ich verwendete.

st:1 error, non monotone timestamps 

Es kam zu Problemen mit der vorgeschlagenen Antwort, da ich sowohl mit -c:ader von mir ausgeführten Version nicht unterstützt wurde als auch mit der Bitratenkonvertierung des von mir verwendeten Videos.

Hinweis: -c:akann ersetzt werden durch:-acodec

Die einfachste Alternative, die ich gefunden habe, war die Verwendung einer Handbremse.

Es ist Autocrop entfernt die schwarzen Balken ohne viel Mühe.

Ich hoffe, das hilft.

phyatt
quelle