Видаліть .mp4 відео верхню та нижню чорні смуги за допомогою ffmpeg


23

Я новачок у ffmpeg, і я чув, що у нього є фільтр для чорного кольору. Я хочу видалити чорні смуги вгорі та внизу відео, щоб відео було обрізане на решту відео без чорних смуг. Спасибі:)

ffmpeg  mp4 

Windows? Встановіть WinFF. Це дозволить вводити значення, які ви хочете обрізати через графічний інтерфейс ...
Kinnectus,

Відповіді:


41

FFmpeg cropdetect та фільтри для врожаю

1. Отримати параметри обрізання

cropdetect можна використовувати для надання параметрів для фільтра обрізання . У цьому прикладі пропускаються перші 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.

2. Попередній перегляд с ffplay

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

3. Перекодуйте за допомогою фільтра для обрізання

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

У цьому прикладі звук просто копіюється (повторно відтворюється), оскільки, ймовірно, не потрібно його перекодувати.

Також див


Обрізати під час відтворення

Як ви бачили вище на ffplayприкладі, деякі гравці дозволяють обрізати при відтворенні. Це має перевагу:

  • Миттєве задоволення; не потрібно повторно кодувати
  • Якість збережена

Вибачте, але я новачок у ffmpeg, і я не розумію частину, щоб видалити чорні смуги вгорі та внизу та змінити розмір відео до розміру, що залишився без чорних смуг.

1
Чи є автоматичний спосіб видалення чорних смуг або мені завжди доводиться використовувати значення обрізання вручну?

1
@rexhin Коли ви запускаєте cropdetect, він скидає купу інформації у консольний вихід, як показано вище. Це буквально дає фактичні параметри врожаю, які вам потрібно використовувати. Ви можете автоматизувати це за допомогою сценарію.
llogan

Нічого страшного це не спрацювало. Але де ми поставили фільтр для чорного? Також які ще два парами в урожай = 1280: 720: 0: 24

Він видалив верхню чорну смугу, але внизу залишив невелику чорну смужку. Чому так сталося?

1

Відповідь @LordNeckbeard чудова. Я б рекомендував це в більшості випадків.

ffplay чудово працював і добре переглядав, але версія ffmpeg, яку я використовував, боровся зі звуком цього відео, яке я використовував.

st:1 error, non monotone timestamps 

У мене виникли проблеми із запропонованою відповіддю, як із тим, що -c:aне підтримували версію, яку я працював, так і проблеми з перетворенням бітрейту у відео, яке я використовував.

Примітка: -c:aможна замінити на:-acodec

Найпростішим альтернативним безкоштовним рішенням, який я знайшов, було використання ручного гальма.

Це автокроп видалив чорні смуги без особливих проблем.

Сподіваюся, що це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.