Acho que há dois problemas aqui, e a entrada parece truncada ou danificada, por isso os resultados podem variar.
1. avconv
tem bugs (como sempre)
Ele mostra o fluxo de áudio de entrada com 0 channels
, o que está errado.
Obtenha uma compilação recente de ffmpeg
. Eu não sei qual versão do Ubuntu você está usando, então o método mais fácil é usar uma construção estática recente . Basta baixar, extrair e executar. Além disso, você marcou sua pergunta com ffmpeg
, então, suponho que você estaria disposto a usá-la ( avconv
! = ffmpeg
). Ele deve mostrar o número adequado de canais de áudio.
2. Use um formato de contêiner de saída compatível
Matroska
Isso fará com que transfira a cópia (re-mux) do vídeo e codifique novamente o áudio:
ffmpeg -i input -c:v copy -c:a aac output.mkv
-
Recodificar o áudio provavelmente é necessário neste caso porque o muxer Matroska se recusará a trocar um fluxo de áudio com extradata inválida.
-
As versões mais antigas do ffmpeg exigirão
-strict experimental
para o codificador AAC.
MP4
Isso recodificará o vídeo e o stream copiará o áudio:
ffmpeg -i input -c:v libx264 -c:a copy -bsf:a aac_adtstoasc output.mp4
- Nesse caso, o
aac_adtstoasc
filtro de bitstream é necessário. Mais recentesffmpeg
builds podem adicionar isso automaticamente.