Как правильно обрезать и масштабировать с FFMPEG? - PullRequest
0 голосов
/ 06 октября 2018

Я пытаюсь удалить верхние и нижние черные полосы видео.

образец изображения из видео

что я пытаюсьдостижения

Само видео имеет размер 1280x720 16: 9, но часть информации об изображении составляет в формате 4: 3, поскольку оно было снято с VHS.Я хочу как-то растянуть его, пока верхние полосы не исчезнут, не деформируя изображение.Мне плевать на левую и правую полосы.

Я попытался использовать crop и scale, но безуспешно.

При использовании этого кода верхняя и нижняя черные полосы исчезли наVLC, когда на обычный экран , но при переходе в полноэкранный режим полосы снова появляются

ffmpeg -i test.avi -filter:v "crop=1280:670" output_video.mp4

Я думал, что это как-то связано со шкалой видео, но, честно говоря, каждый scale код, который я пытался использовать, сильно искажал изображение.

Я надеюсь, что кто-то может помочья, довольно новый для FFMPEG, но действительно наслаждаюсь этим далеко.

Спасибо!

1 Ответ

0 голосов
/ 06 октября 2018

Я получил ваше изображение, изменил его размер до 720p, сделал 30-секундное видео для тестирования.

В моем примере я также обрезал края (влево / вправо), потому что, как упомянул @LordNeckbeard, когда ониЕсли вы дойдете до края экрана, они могут помешать верхней / нижней части видео достичь верхней / нижней части экрана, которая снова будет выглядеть как черные полосы сверху / снизу, независимо от того, присутствуют они или нет.

Это сработало для меня:

ffmpeg -y -hide_banner -i "test.avi" -filter:v "crop=iw-400:ih-40,scale=960:720" -pix_fmt yuv420p output_video.mp4

Быстрое объяснение:

crop=iw-400:ih-40 Обрезка 400 от ширины ввода (iw) (2x200 влево / вправо) Обрезка 40 от входной высоты (ih) (2x20 сверху / снизу) Вы можете обрезать немного больше, если хотите получить «более четкие» края.

scale=960:720 Немного масштабировать видео, чтобы вернуть его обратноВаш оригинальный 720p, 960 должен держать его в хорошем соотношении 4x3.Это масштабирование не нужно, ваши предпочтения.

Дайте мне знать, сработало ли это для вас.

...