FFmpeg -ss -t (buscando) saída não é precisa, alguma solução alternativa?

4

Minha missão é criar pequenos segmentos de vídeo a partir de um segmento maior e juntá-los em um único arquivo. Depois de muita pesquisa e leitura, decidi usar o próximo comando

ffmpeg -y -ss 03:00 -i myvideo.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts -t 00:05 segment01.ts

Meus problemas; esperando que você tenha alguma solução alternativa para resolvê-los:

1- Como você pode ver a duração da saída desejada é de 5 segundos, o que eu não consegui. Eu tenho duração diferente para diferentes segmentos; 4, 6, 8, 9 segundos.

** Depois de pesquisar, descobri que isso acontecia devido a problemas nos quadros-chave.

Mas eu não entendo o que isso tem a ver com a duração do segmento.

Eu estou totalmente compreendendo que a posição de busca pode ser diferente devido aos keyframes, mas por que a duração?

2-Depois de ler mais, decidi usar o comando -fs para limitar o tamanho do segmento. De alguma forma funcionou, exceto uma coisa.

Os segmentos têm um pequeno jeito (drop frames! Eu não tenho ideia) no final, fazendo com que o resultado final quando se junta é terrível. O que posso fazer para me livrar desse "travar"

Alguma idéia?

** Nota: Eu tentei tanto a busca (entrada / saída), mas nada mudou.

    
por user2132188 29.09.2016 / 00:57

1 resposta

1

Isso geralmente acontece quando usamos -ss e -t junto com -c copy ou -codec copy .

Não use copy e use outros codecs ou simplesmente não especifique as opções -c , -codec . e isso não vai acontecer.

por exemplo: ffmpeg -y -ss 03:00 -i myvideo.mp4 -c:v libx264 -f mpegts -t 00:05 segment01.ts ou algo parecido.

    
por 03.10.2016 / 23:06

Tags