Como posso acelerar um vídeo sem distorção de pitch no Linux?

5

O que eu gostaria de alcançar é obter o mesmo efeito que recebo (assumindo uma aceleração de 1,7x):

mplayer -af scaletempo -speed 1.7 myvideo.mp4

Este comando me dá exatamente o que eu quero, mas eu preciso salvar o resultado no arquivo de alguma forma.

O que eu não quero é o seguinte:

mplayer -vf scale -speed 1.7 myvideo.mp4

Eu preciso que isso seja feito no arquivo (arquivo tem que ser recodificado) porque eu tenho que jogar fora do Linux.

A CLI é preferível, porque quero fazer isso no script. Googled muito e encontrou muitas sugestões - ffmpeg, mencoder e muitas ferramentas exóticas uncompilable engraçadas, nada me dá o resultado exato. Na verdade quase nada disso funciona (eu acho que funcionou em algum momento, muito tempo atrás).

Infelizmente eu atualizei e usei o Ubuntu 13.04 e parece que quase todas as soluções não funcionam nesta versão; (

    
por Viacheslav Rodionov 24.06.2013 / 13:02

2 respostas

9

Exemplo de uso do ffmpeg com o setpts filtro de multimídia e atempo filtro de áudio:

ffmpeg -i input -filter_complex "setpts=PTS/1.7;atempo=1.7" output

Observe que o intervalo atempo deve ser de 0,5 a 2,0.

O falso "ffmpeg" no repositório não possui atempo , então você terá que encontrar outro método se você quiser continuar usando-o, ou você pode seguir um passo-a-passo guide para compilar o ffmpeg , ou você pode usar um ffmpeg build (veja instruções ).

Veja também Quem pode me dizer a diferença e relação entre ffmpeg, libav e avconv?

    
por 25.06.2013 / 19:25
0

Tente isto:

Vídeo:

mkfifo stream.yuv
mplayer -vf scale -speed 1.7 -vo yuv4mpeg source.avi

cat stream.yuv | yuv2lav -o result.avi

ou

ffmpeg -i source.avi -filter "setpts=PTS/1.7" result.avi

Áudio:

mplayer -vf scale -speed 1.7 -vo null -ao pcm -ao pcm:file=result.wav source.avi

Arquivos de resultado: result.avi, result.wav

    
por 24.06.2013 / 22:33