Как изменить соотношение сторон 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