Я хотел бы повернуть видео (mp4) на 180 градусов, но не перевернуть. Возможно ли это сделать с помощью avconv?
Это возможно при использовании видеофильтра transpose
. Вы не можете повернуть на 180 градусов, но вы можете повернуть на 90 градусов и зацепить фильтр.
avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv
См. transpose
на странице руководства avconv
: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
Да, но вам нужно добавить некоторые дополнительные параметры в вашу команду, чтобы она работала правильно. Transpose и vflip / hflip должны сделать свое дело, но если вы не сообщите avconv более подробно о том, что вы хотите, вы, скорее всего, получите очень низкое качество вывода, попробуйте:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
Обратите внимание на -crf
вариант. Это устанавливает качество продукции. Это идет от 0 (без потерь) вверх логарифмически. Вы, вероятно, захотите значение между 19 и 25 в большинстве случаев. -preset
устанавливает скорость кодирования: «медленное», «среднее» или «быстрое». Медленный должен получить меньшие размеры файлов с очевидным компромиссом. Вы должны отрегулировать -codec:v
в соответствии с оригиналом. Если вы не установите эти параметры, вы получите значения по умолчанию, которые плохо работают при перелистывании видео с iphone.
Дополнительным методом с avconv является использование фильтров vflip и hflip. Должен работать быстрее и, возможно, лучшего качества:
avconv -i video.mp4 -vf vflip,hflip out.mp4
Я сделал это:
avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4
Видео Full HD, отличные результаты с невообразимой потерей качества
Для avconv или ffmpeg Менее 14.04 или более поздней версии
В документации libav произошли некоторые изменения с тех пор, как @phoibos quality ответил на этот вопрос. Вы можете повернуть видео на 180 градусов, избегая переворачивания целиком, объединяя вместе две 90-градусные команды (разделенные запятой). Я выполнил это командой
avconv -i inputfile -vf transpose = clock, transpose = clock outputfile [ 113]
для вращения по часовой стрелке.
в ffmpeg синтаксис тот же.
ffmpeg -i inputfile -vf transpose = clock, transpose = clock outputfile
где inputfile - ваш поддерживаемый входной видеофайл, а outputfile - желаемый выходной файл.
Для вращения против часовой стрелки замените часы на cclock
Источники:
https://libav.org/avconv.html#transpose
Тестирование на Ubuntu 14.04.5 и 16.04 LTS