O vídeo aparado ffmpeg não suporta saltar para uma posição de tempo

0

Após um vídeo é cortado , o player (mplayer) não pode mais pular para uma posição de tempo específica. Clicar na linha do tempo geralmente termina a reprodução. Como isso pode ser corrigido?

    
por ohho 10.05.2012 / 11:25

1 resposta

1

O vídeo aparado provavelmente tem um índice AVI quebrado. A tag idx1 no formato de arquivo AVI identifica onde os fragmentos de dados estão, portanto, se o índice estiver ausente, o player não saberá onde procurar por blocos de dados em um determinado timestamp.

Isso é um pouco esperado, já que o fluxo de bits bruto é cortado em algum lugar usando a opção -c:v copy do FFmpeg na sua pergunta vinculada.

Não tenho conhecimento de nenhum comando FFmpeg para corrigir o índice, mas mencoder deveria tê-lo .

-forceidx

Force index rebuilding. Useful for files with broken index (A/V desync, etc). This will enable seeking in files where seeking was not possible.

Se você baixar este mencoder não-oficial construa de Stef Pause's blog , você pode tentar consertar o AVI.

cd ~/Downloads
unzip mencoder.zip
chmod +x mencoder
mv mencoder /usr/local/bin/

Em seguida, digite:

mencoder -forceidx input.avi -o output.avi -oac copy -ovc copy

Isso irá recriar o índice para o seu arquivo AVI. Boa sorte - se não estiver funcionando, provavelmente é melhor re-codificar o vídeo original após o corte.

    
por 10.05.2012 / 11:41