Por que a concatenação de dois vídeos com o ffmpeg (5s e 33s) produz vídeo de 4m34s em câmera lenta

1

Estou desenvolvendo um serviço para concatenar um vídeo (meu) com outro de um usuário (ele / ela faz upload dele) e retornar ao usuário.

Primeiro, tentei usar o demuxer do Concat porque não quero recodificar vídeos se não for necessário . Supõe-se que, com o mesmo codec, ele deve concatir vídeos quase imediatamente.

Os usuários podem fazer upload de vídeos diferentes com codecs diferentes, por isso, preciso converter esse vídeo em um determinado codec. O problema que tenho agora é que mesmo tendo vídeos com o mesmo codec concat não está funcionando bem, então eu gostaria de saber o que mais é necessário.

Meu mylist.txt

file './myVideo1.mp4'
file './userVideo1.mp4'

Comando:

ffmpeg -f concat -i mylist.txt -c copy mergedVideo.mp4

Não funcionou porque havia codecs de áudio diferentes (pcm_u8 vs aac) então eu converti myVideo1 audio para aac com;

ffmpeg -i myVideo1.mp4 -map 0:0 -map 0:1 -acodec libfaac -vcodec copy myVideo1_aac.mp4

Essa foi uma tarefa intermediária, eu mencionei porque tive um aviso :

Codec for stream 0 does not use global headers but container format requires global headers

Neste ponto, eu tenho dois vídeos com o mesmo áudio e codec, vamos ver os detalhes:

Eutenteiconcatirvídeoscomoantes...

ffmpeg-fconcat-imylist.txt-ccopymergedVideo.mp4

...e não foram mostrados erros , mas quando reproduzi o vídeo, vi o primeiro vídeo normal, no entanto, o segundo foi super lento, apenas alguns quadros por segundo, na verdade, o vídeo merged.mp4 tem 4 minutos e 34 segundos, quando deveria ter 39s (5,38 + 33,79).

Aqui está a informação do mergedVideo.mp4:

Você pode me dizer o que está errado?

    
por Mikel 30.07.2015 / 11:34

0 respostas