Удалите .mp4 видео верхнюю и нижнюю черные полосы с помощью ffmpeg


23

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

ffmpeg  mp4 

Окна? Установите WinFF. Это позволит вам ввести значения, которые вы хотите обрезать через графический интерфейс ...
Kinnectus

Ответы:


39

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

Таким образом, в зависимости от урожая мы можем использовать 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.