O vídeo cortado pelo ffmpeg não suporta pular para uma posição de tempo

O vídeo cortado pelo ffmpeg não suporta pular para uma posição de tempo

Depoisum vídeo é cortado, o jogador (mplayer) não pode mais pular para uma posição de tempo específica. Clicar na linha do tempo geralmente encerra a reprodução. Como isso pode ser consertado?

Responder1

O vídeo cortado provavelmente tem um índice AVI quebrado. A idx1tag no formato de arquivo AVI identifica onde estão os blocos de dados, portanto, se o índice estiver faltando, o player não saberá onde procurar os blocos de dados em um determinado carimbo de data/hora.

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

Não conheço nenhum comando FFmpeg para corrigir o índice, masmencoder deveria ter isso.

-forceidx

Forçar a reconstrução do índice. Útil para arquivos com índice quebrado (dessincronização A/V, etc). Isto permitirá a busca em arquivos onde a busca não era possível.

Se você baixaresta compilação não oficial do mencoderdeBlog de Stef Pause, 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 recriará o índice do seu arquivo AVI. Boa sorte - se não estiver funcionando, provavelmente será melhor recodificar o vídeo original após aparar.

informação relacionada