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
Aqui está a informação do mergedVideo.mp4:
Você pode me dizer o que está errado?