Как конвертировать 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

Он изменяет только метаданные без потери качества.

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