Как изменить соотношение сторон mp4 до 16:9 с помощью ffmpeg?

Я получил MP4-видео, которое я копирую за 4 минуты, используя ffmpeg. После загрузки на YouTube я заметил, что загруженное видео имеет черные полосы с обеих сторон видео (справа и слева)! После поиска способа удаления этих черных полос я обнаружил, что мне нужно использовать yt:stretch=16:9! Однако Использование тега yt:stretch=16.9 не удалит черные полосы на iPhone и в приложении Samsung Smart TV YouTube!

Может ли эксперт помочь мне изменить соотношение сторон исходного видео mp4 до 16: 9, используя ffmpeg (без потери качества видео) для повторной загрузки на YouTube? Заранее спасибо?

Я получил два типа источника со следующей информацией:

1)Resolution:720x576 ,Frame rate:25 . Codec:H264 - MPEG-4 AVC(part 10)(avc1),
2)Resolution:848x480 , Frame rate:24.804393,Codec:H264 - MPEG-4 AVC(part 10)(avc1)

Код ffmpeg, используемый для обрезки исходного видео:

   ffmpeg -i orginalVideo.mp4 -ss 00:25:55 -t 00:04:02 -acodec copy -vcodec copy videoForYoutube.mp4

3 ответа

К сожалению, ни один из предоставленных ответов не помог мне с файлом MKV и FFMpeg 5.1.2.

После некоторого погружения я нашел эту простую команду, которая конвертирует видео в соотношение сторон 16: 9:

      ffmpeg -i input.mkv -c copy -aspect 16/9 output.mkv

Предполагая, что видео выглядит приемлемым после растяжения, вы можете использовать следующую команду:

ffmpeg -ss 25:55 -t 4:02 -i input.mp4 -vf scale=ih*16/9:ih,scale=iw:-2,setsar=1 -crf 20 -c:a copy YT.mp4

Эта команда также полезна

      ffmpeg -i input.mp4 -crf=20 -vf 'split[original][copy];[copy]scale=ih*16/9:-1,crop=h=iw*9/16,gblur=sigma=80,eq=saturation=0.9[background];[background][original]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2' output.mp4

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

источник


Был протестирован с использованием ffmpeg version 3.4.8-0ubuntu0.2 на linux

Другие вопросы по тегам