dividindo corretamente um arquivo avi

5

Estou tentando dividir um arquivo avi da seguinte forma.

avconv -i file.avi -vcodec copy -acodec copy -ss 0 -t 10 out.avi

e isso funciona (Cria um pedaço com os primeiros 10 segundos do vídeo).

O problema é quando quero dividir do décimo segundo para o vigésimo segundo do vídeo

avconv -i file.avi -vcodec copy -acodec copy -ss 10 -t 10 out.avi

O vídeo resultante tem apenas som nos primeiros dois segundos.

Eu uso em um loop. Tão similarmente pedaços 20-30.avi, 30-40.avi ... são chunked mal e contêm som só de vários comprimentos desde o começo.

Você sabe como checar os vídeos avi corretamente?

    
por xralf 12.04.2016 / 22:48

1 resposta

2

Muitos codecs de vídeo codificam quadros de vídeo de duas ou três maneiras diferentes: quadros I, quadros P e quadros B . Em resumo, apenas os quadros I armazenam dados suficientes para criar um ponto de partida de vídeo. Com -vcodec copy , o software só faz isso - copiando quadros. Então, se o seu corte acontecer em um momento em que o pedaço começa em um I-frame, ele vai jogar bem; caso contrário, não.

Assim, não há como voltar a codificar o vídeo. Algum software de GUI (por exemplo, avidemux) faz isso "inteligentemente": eles reencodificam apenas o início do bloco, até o primeiro quadro I disponível, e depois copiam o restante.

    
por 06.06.2016 / 21:44