Gire um arquivo de vídeo 90 graus usando o Ubuntu


18

Eu quero usar o Ubuntu e, de preferência, pacotes padrão como o ffmpeg para girar um arquivo de vídeo .3gp em 90 graus em qualquer direção. De preferência uma linha de comando ou script Python.

Como eu posso fazer isso?


Eu descobri que o ffmpeg foi capaz de fazer isso. Veja, por exemplo, fóruns do Ubuntu: rodar vídeo 90 graus
Simon

Respostas:


9

usando o VLC , você pode girar o vídeo em Ferramentas >> Preferências ...

E selecione "Todos" para as configurações do programa. Então vá para: Vídeo >> Filtros >> Girar

Depois de definir o grau desejado, você pode girar em Ferramentas> Efeitos e filtros> Efeitos de vídeo> Geometria.

texto alternativo

o que eu testei é o mp4, mas acredito que o VLC também suporta 3gp. espero que isto ajude. :)


13
i pode ver o vídeo rodado, mas como você fazer a mudança persistem
justinhj


17

Na linha de comando, com ffmpeg:

ffmpeg -i input.3gp -filter:v transpose=1 \
-c:v libx264 -preset veryfast -crf 22 \
-c:a copy \
-metadata:s:v rotate="" \
output.3gp
  • transpose=1girará o vídeo 90 graus no sentido horário; para girar no sentido anti-horário, use transpose=2. Consulte a documentação de transposição para obter mais informações.

  • -metadata:s:v rotate=""removerá qualquer metadado de rotação de fluxo de vídeo existente; caso contrário, ffmpegirá copiá-lo, o que pode fazer com que seu player aplique rotação indesejada adicional.

  • Para obter informações sobre as configurações de codificação de vídeo aqui, consulte este guia de codificação H.264 e o guia de codificação AAC, se desejar recodificar o áudio em vez de copiar em fluxo .


Isso responde melhor à pergunta, pois explica como fazê-lo na linha de comando com ffmpeg, conforme especificado na pergunta original. Eu acho que essa resposta deve ser marcada como correta. A partir de maio de 2017 no Fedora 25, isso ainda funciona, embora uma mensagem de descontinuação para o codec MP4.
26717 Justin W. Flory

4

O Avidemux deve ser capaz de fazer isso.

Faça Video->Filters->Rotate(x degrees)->CloseentãoFile->Save->Save Video


2

Resolvi um problema semelhante - eu tinha um .MOV que foi levado de cabeça para baixo (ou seja, girado 180 graus) que eu queria acertar.

No meu sistema Ubuntu 14.04, executei avconvessencialmente as mesmas opções de linha de comando fornecidas ffmpegna resposta do evilsoup . Aparentemente, ele não suporta uma transposeopção para rotação de 180 graus, então eu fiz o ângulo de 90 graus no sentido horário (ou seja transpose=1) duas vezes.

Quando tentei opções mínimas, recebi uma mensagem no sentido de que:

encoder 'aac' is experimental and might produce bad results.

Add '-strict experimental' if you want to use it.

e o arquivo de saída tinha tamanho zero, então eu adicionei o -strict experimental.

As linhas de comando que funcionaram foram:

avconv -i IMG_orignl.MOV -filter:v 'transpose=1' -strict experimental IMG_interm.MOV
avconv -i IMG_interm.MOV -filter:v 'transpose=1' -strict experimental IMG_result.MOV

O resultado foi satisfatório, com efeitos colaterais inexplicáveis:

  1. O arquivo intermediário foi menor que o original em ~ 14%.
  2. O arquivo de resultados foi menor que o intermediário em ~ 18% e menor que o original em quase 30%.
  3. O arquivo de resultados mostra a miniatura, enquanto o original e o intermediário mostram o ícone apenas genérico.

Não que eu esteja reclamando: são desejáveis; Eu simplesmente não entendo por que eles surgiram ...


Bem-vindo ao superusuário. (1) Embora algumas informações básicas da sua resposta possam ser úteis, é melhor se concentrar na sua solução para o problema. Editei sua resposta para ilustrar; fique à vontade para editá- lo ainda mais se você acredita que mudei demais. (2) A ordem de exibição das respostas pode variar; é melhor identificar outras respostas explicitamente, em vez de dizer "acima". (2½) Espero que você tenha apresentado suas avconvlinhas de comando na íntegra, e não apenas as diferenças do ffmpegcomando. Sua resposta deve ser auto-suficiente; a outra resposta pode desaparecer. (3) boa sorte!
G-Man diz 'Reinstate Monica'

Além disso, suponho que quando você diz "resultado foi satisfatório", você quer dizer que o arquivo "resultado" parecia tão bom quanto o arquivo original. Você pode ( editar sua mensagem para) dizê-lo explicitamente. (Essas informações - isto é, se você perdeu a qualidade do vídeo visível aos olhos - são importantes para sua resposta e não devem ser escondidas em um comentário.) Além disso, aposto que você pode deixar de fora as aspas e dizer apenas -filter:v transpose=1 ….
G-Man diz que 'Reinstate Monica'

2

Houve algumas alterações no libav desde o momento em que esta pergunta foi originalmente respondida. Na tentativa de manter isso atual e útil, fornecerei o seguinte:

Você pode fazer isso com versões recentes ffmpege avconvusando o filtro de vídeo de transposição.

avconv -i inputfile -vf transpose=clock outputfile

para rotação no sentido horário.

em ffmpeg a sintaxe é a mesma.

ffmpeg -i inputfile -vf 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 horário contador de substituir relógio com cclock

Aqui está um trecho da documentação:

‘cclock_flip’

    Rotate by 90 degrees counterclockwise and vertically flip. (default)
‘clock’

    Rotate by 90 degrees clockwise.
‘cclock’

    Rotate by 90 degrees counterclockwise.
‘clock_flip’

    Rotate by 90 degrees clockwise and vertically flip. 

Fontes:

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

https://ffmpeg.org/ffmpeg-filters.html#transpose-1

Testando no Ubuntu 14.04.5 LTS, Ubuntu 16.04, Ubuntu 18.04


11
Obrigado pelos parâmetros mínimos. ffmpegtrabalhou para mim (não tentar avconv)
Amil Waduwawara

Excelente! sim, muitos posts sobre ffmpefincluem muitos argumentos desnecessários, obrigado!
Mariano Ruiz

@MarianoRuiz Estou feliz que tenha ajudado. O ffmpeg está sempre em desenvolvimento e, com o tempo, as coisas mudam. Não é de surpreender que existam métodos mais fáceis do que algumas das respostas mais antigas. Felicidades!
Elder Geek
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.