Combine áudio e vídeo com avconv sem mesclar vídeo

Combine áudio e vídeo com avconv sem mesclar vídeo

Estou tentando combinar um stream copiado do YouTube que parece estar em um formato estranho. De qualquer forma, o vídeo e o áudio parecem tocar sozinhos, mas quando tentei combiná-los, o tamanho do arquivo é um pouco maior que o tamanho original do arquivo de áudio, então parece não ter feito nada.

jonathan@localhost:~/foo$ avconv -i video.mp4 -i audio.m4a -c copy audio_and_video.mp4
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
  built on Sep 16 2014 23:10:48 with gcc 4.7.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2014-12-06 03:30:37
  Duration: 00:31:35.36, start: 947.680067, bitrate: 1939 kb/s
    Stream #0.0(und): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 29.97 tbr, 90k     tbn, 59.94 tbc
    Metadata:
      creation_time   : 2014-12-06 03:30:37
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'audio.m4a':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2014-12-13 10:25:20
  Duration: 00:31:35.42, start: 947.745193, bitrate: 64 kb/s
    Stream #1.0(und): Audio: aac, 44100 Hz, stereo, s16
    Metadata:
      creation_time   : 2014-12-13 10:25:20
Output #0, mov, to 'audio_and_video.mov':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2014-12-06 03:30:37
    encoder         : Lavf53.21.1
    Stream #0.0(und): Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 90k tbn, 90k tbc
    Metadata:
      creation_time   : 2014-12-06 03:30:37
    Stream #0.1(und): Audio: aac, 44100 Hz, stereo
    Metadata:
      creation_time   : 2014-12-13 10:25:20
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
Press ctrl-c to stop encoding
frame=    0 fps=  0 q=-1.0 Lsize=   14892kB time=947.68 bitrate= 128.7kbits/s
video:0kB audio:14530kB global headers:0kB muxing overhead 2.493168%

E algumas informações adicionais:

jonathan@localhost:~/foobar$ file audio.m4a
audio.m4a: ISO Media
jonathan@localhost:~/foobar$ file video.mp4
video.mp4: ISO Media
jonathan@localhost:~/foobar$ file audio_and_video.mp4
audio_and_video.mp4: ISO Media, MPEG v4 system, version 1
jonathan@localhost:~/foobar$ ls -lh
total 468M
-rw-r--r-- 1 jonathan jonathan  15M Mar 12 12:29 audio_and_video.mp4
-rw-r--r-- 1 jonathan jonathan  15M Dec 14 23:50 audio.m4a
-rw-r--r-- 1 jonathan jonathan 439M Dec 14 23:50 video.mp4

Qualquer idéia sobre o que estou fazendo de errado e como isso pode ser corrigido será muito apreciada.

Obrigado.

Responder1

Como o avconv 0.8.6 é um pouco antigo, parece um bug que pode ser resolvido instalando uma versão recente do avconv (ou ffmpeg, como você indicou nas tags da sua pergunta).

Observe que esses dois sãoprojetos diferentes, masmuitosemelhanteem termos de sintaxe e funcionalidade, e obter uma versão recente é tão simples quanto baixar uma "compilação estática" deffmpeg.org, que existem para todos os principais sistemas operacionais. Não é necessária compilação – extraia e execute.

Para o avconv, existem apenas compilações do Windows, então você mesmo terá que compilá-lo.

Em geral, com avconv e ffmpeg você geralmente deseja usar uma versão recente em vez da que as distribuições padrão oferecem em suas fontes de pacotes.

informação relacionada