Как конвертировать MP4 видео на 180 градусов, используя ffmpeg или mencoder
После прочтения о том, как конвертировать видео на 90 градусов
Я попробовал эти команды:
mencoder old.mp4 -oac lavc -ovc x264 vcodec=mpeg4 -vf flip,mirror -o new.mp4
mencoder old.mp4 -oac lavc -ovc x264 vcodec=mpeg4 -vf rotate=2 -o new.mp4
ffmpeg -i old.mp4 -vf "hflip" -strict -2 new.mp4
но конвертированное видео все еще с ног на голову.
Запуск видео с
mplayer -vf flip,mirror old.mp4
делает это по желанию. Но в любом случае, я хотел бы преобразовать это.
я использую ffmpeg version 2.8.15-0ubuntu0.16.04.1
а также MEncoder 1.2.1 (Debian), built with gcc-5.3.1
2 ответа
Видео с телефонов часто содержат метаданные, которые указывают проигрывателю вращаться при воспроизведении (не все проигрыватели уважают это). При перекодировании ffmpeg
автоматически повернет видео в соответствии с метаданными поворота, поэтому вам не нужно делать ничего особенного:
ffmpeg -i input.mp4 -c:a copy output.mp4
Однако, если метаданные поворота неверны, вы можете просто удалить или изменить их без необходимости перекодирования:
ffmpeg -i input.mp4 -c copy -metadata:s:v rotate="" output.mp4
Кроме того, вы можете изменить его, например, -metadata:s:v rotate="180"
,
Я обнаружил, что следующий код командной строки работает с Ubuntu 20.04LTS с использованием ffmpeg:
ffmpeg -i filename.mp4 \
-c copy -metadata:s:v:0 rotate=0 \
output.mp4
Он изменяет только метаданные без потери качества.