Respostas:
É possível usando o transpose
filtro de vídeo. Você não pode girar 180 graus, mas pode girar 90 graus e encadear o filtro.
avconv -i video.mp4 -vf transpose=1,transpose=1 out.mkv
Veja transpose
na página de avconv
manual:
http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html
Sim, mas você precisará adicionar algumas opções adicionais ao seu comando para que ele funcione corretamente. Transpose e vflip / hflip devem funcionar, mas se você não disser ao avconv mais detalhes sobre o que deseja, provavelmente obterá resultados de qualidade muito baixa:
avconv -i original.mp4 -vf "hflip,vflip" -codec:v libx264 -preset slow -crf 20 -codec:a copy flipped.mp4
Observe a -crf
opção. Isso define a qualidade da saída. Vai de 0 (sem perdas) para cima logaritmicamente. Você provavelmente desejará um valor entre 19 e 25 na maioria dos casos. -preset
define a velocidade da codificação, "lenta", "média" ou "rápida". O Slow deve ter tamanhos de arquivo menores, com uma troca óbvia. Você deve ajustar -codec:v
para corresponder ao original. Se você não definir essas opções, obterá os padrões, que não funcionam bem ao virar o vídeo do iPhone.
Unrecognized option 'preset' Failed to set value 'slow' for option 'preset'
Isso é o que eu tenho #
Unknown encoder 'libx264'
apt-get install libavcodec-extra-53
resolveu
Um método adicional com o avconv é usar os filtros vflip e hflip. Deve executar mais rápido e talvez com melhor qualidade:
avconv -i video.mp4 -vf vflip,hflip out.mp4
Para avconv ou ffmpeg Abaixo de 14.04 ou posterior
Houve algumas alterações na documentação do libav desde a resposta da qualidade @phoibos a esta pergunta. Você pode girar um vídeo 180 graus, evitando inverter totalmente, encadeando 2 comandos de 90 graus juntos (separados por vírgula). Consegui isso com o comando
avconv -i arquivo de entrada -vf transpose = clock, transpose = clock outputfile
para rotação no sentido horário.
em ffmpeg a sintaxe é a mesma.
ffmpeg -i arquivo de entrada -vf transpose = clock, transpose = clock outputfile
onde inputfile é o arquivo de vídeo de entrada suportado e outputfile é o arquivo de saída desejado.
Para rotação no sentido anti-horário, substitua o relógio pelo relógio
Fontes:
https://libav.org/avconv.html#transpose
Testando no Ubuntu 14.04.5 e 16.04 LTS
-c:a
cópia ao comando (logo antes do nome do arquivo de saída). Também descobri que a segunda versão era de qualidade indistinguível, mas cerca de 50% mais rápida que a versão de conversão encadeada.