it-swarm-es.com

¿Cómo puedo rotar el video 180 grados con avconv?

Me gustaría rotar el video (mp4) 180 grados, pero no voltearlo. ¿Es posible hacerlo con avconv?

24
sobi

Es posible usar el filtro de video transpose. No puede rotar 180 grados, pero puede rotar 90 grados y encadenar el filtro.

avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv

Consulte transpose en la página de manual avconv: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html

31
phoibos

Sí, pero deberá agregar algunas opciones adicionales a su comando para que funcione correctamente. Transpose y vflip/hflip deberían ser útiles, pero si no le dice a avconv más detalles sobre lo que desea, es probable que obtenga resultados de muy baja calidad:

 avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4

Observe la opción -crf. Eso establece la calidad de salida. Va de 0 (sin pérdida) hacia arriba logarítmicamente. Probablemente desee un valor entre 19 y 25 en la mayoría de los casos. -preset establece la velocidad de la codificación, ya sea "lenta", "media" o "rápida". Lento debería obtener archivos de menor tamaño con una compensación obvia. Debe ajustar -codec:v para que coincida con el original. Si no configura estas opciones, obtendrá los valores predeterminados, que no funcionan bien al voltear el video de iPhone.

15
lunchboxer

Un método adicional con avconv es usar los filtros vflip y hflip. Debería correr más rápido y tal vez de mejor calidad:

avconv -i video.mp4 -vf vflip,hflip out.mp4
6
wcarlson

Para avconv o ffmpeg Bajo 14.04 o posterior

Se han producido algunos cambios en la documentación de libav desde que @phoibos quality responde a esta pregunta. Puede rotar un video 180 grados evitando voltear completamente encadenando 2 comandos de 90 grados juntos (separados por una coma) Lo logré con el comando

avconv -i inputfile -vf transpose = clock, transpose = clock outputfile

para rotación en sentido horario.

en ffmpeg la sintaxis es la misma.

ffmpeg -i inputfile -vf transpose = clock, transpose = clock outputfile

donde inputfile es su archivo de video de entrada compatible y outputfile es su archivo de salida deseado.

Para rotación en sentido antihorario, reemplace el reloj con cclock

Fuentes:

https://libav.org/avconv.html#transpose

Pruebas en Ubuntu 14.04.5 y 16.04 LTS

1
Elder Geek

Hice esto:

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

Video Full HD, excelentes resultados con pérdida de calidad no perceptible

1
jap1968