Como posso girar o vídeo em 180 graus com avconv


24

Gostaria de girar o vídeo (mp4) em 180 graus, mas não virar. É possível fazê-lo com avconv?


Descobri com as duas respostas existentes que elas funcionam com os arquivos MP4 de uma câmera Hero 3, mas somente depois que adicionei -c:acó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.
Simon

Respostas:


31

É possível usando o transposefiltro 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 transposena página de avconvmanual: http://manpages.ubuntu.com/manpages/quantal/en/man1/avconv.1.html


Isso rodou meu vídeo, mas a queda na qualidade (resolução e taxa de quadros) foi enorme (arquivo .mov para iphone).
Gringo Suave

obras de transposição = relógio agora ver a minha resposta
Elder Geek

15

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 -crfopçã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. -presetdefine 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:vpara 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 #
Karel Bílek

... e sem ele, eu tenhoUnknown encoder 'libx264'
Karel Bílek

1
apt-get install libavcodec-extra-53resolveu
Karel Bílek

6

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

Mesmo: isso girou meu vídeo, mas a queda na qualidade (resolução e taxa de quadros) foi enorme (arquivo .mov para iphone).
Gringo Suave

1
@GringoSuave wcarlson lhe deu um exemplo despojado, você ainda precisa adicionar toda a -codec: v ... e outras tags
v010dya

1

Eu fiz isso:

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

Vídeo em Full HD, ótimos resultados com perda de qualidade não perceptível


1

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.