Ответы:
Это возможно с помощью 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.
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset'
Вот что я получил
Unknown encoder 'libx264'
apt-get install libavcodec-extra-53
решил это
Дополнительным методом с avconv является использование фильтров vflip и hflip. Должен работать быстрее и, возможно, лучшего качества:
avconv -i video.mp4 -vf vflip,hflip out.mp4
Для avconv или ffmpeg до 14.04 или более поздней версии
С момента качественного ответа на этот вопрос @phoibos произошли некоторые изменения в документации libav. Вы можете повернуть видео на 180 градусов, избегая переворачивания целиком, объединяя 2 90-градусные команды вместе (через запятую). Я выполнил это с помощью команды
avconv -i входной файл -vf transpose = часы, transpose = часы выходной файл
для вращения по часовой стрелке.
в ffmpeg синтаксис такой же.
ffmpeg -i входной файл -vf transpose = часы, transpose = часы выходной файл
где inputfile - ваш поддерживаемый входной видеофайл, а outputfile - желаемый выходной файл.
Для вращения против часовой стрелки замените часы на часы
Источники:
https://libav.org/avconv.html#transpose
Тестирование на Ubuntu 14.04.5 и 16.04 LTS
-c:a
копию команды (только перед выходным файлом). Я также обнаружил, что вторая версия отличается неотличимым качеством, но примерно на 50% быстрее, чем версия с цепочкой для перевода.