Как я могу повернуть видео на 180 градусов с помощью avconv

24

Я хотел бы повернуть видео (mp4) на 180 градусов, но не перевернуть. Возможно ли это сделать с помощью avconv?

СОБИ
источник
Я нашел с обеими существующих ответами , которые theywork с MP4 файлами из 3 камеры Hero, но только после того, как я добавил -c:aкопию команды (только перед выходным файлом). Я также обнаружил, что вторая версия отличается неотличимым качеством, но примерно на 50% быстрее, чем версия с цепочкой для перевода.
Саймон

Ответы:

31

Это возможно с помощью 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

Phoibos
источник
Это повернуло мое видео, но падение качества (разрешение и частота кадров) было огромным (файл iphone .mov).
Гринго Суаве
transpose = часы работают, теперь посмотрите мой ответ
Старейшина Geek
15

Да, но вам нужно добавить некоторые дополнительные параметры в вашу команду, чтобы она работала правильно. 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.

lunchboxer
источник
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset' Вот что я получил
Карел Билек,
... а без этого я получилUnknown encoder 'libx264'
Карел Билек
1
apt-get install libavcodec-extra-53решил это
Карел Билек
6

Дополнительным методом с avconv является использование фильтров vflip и hflip. Должен работать быстрее и, возможно, лучшего качества:

avconv -i video.mp4 -vf vflip,hflip out.mp4
wcarlson
источник
То же самое: Это повернуло мое видео, но падение качества (разрешение и частота кадров) было огромным (файл iphone .mov).
Гринго Суаве
1
@GringoSuave wcarlson дал вам урезанный пример, вам все еще нужно добавить все -codec: v ... и другие теги
v010dya
1

Я сделал это:

avconv -i invertedOne.mp4 -c:a copy -vf "hflip,vflip" rightOne.mp4

Видео Full HD, отличные результаты с невообразимой потерей качества

jap1968
источник
1

Для 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

Старейшина Гик
источник