Объединить аудио и видео с помощью avconv, не объединяя видео

Объединить аудио и видео с помощью avconv, не объединяя видео

Я пытаюсь объединить скопированный поток с YouTube, который, кажется, имеет странный формат. В любом случае, видео и аудио, похоже, воспроизводятся сами по себе, но когда я попытался объединить их, размер файла оказался лишь немного больше, чем исходный размер аудиофайла, так что, похоже, это ничего не дало.

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%

И еще немного дополнительной информации:

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

Буду очень признателен за любые идеи о том, что я делаю не так и как это можно исправить.

Спасибо.

решение1

Поскольку avconv 0.8.6 немного устарел, это похоже на ошибку, которую можно устранить, установив последнюю версию avconv (или ffmpeg, как вы указали в тегах своего вопроса).

Обратите внимание, что эти двоеразные проекты, нооченьпохожийс точки зрения синтаксиса и функциональности, а получить последнюю версию так же просто, как загрузить «статическую сборку» сffmpeg.org, которые существуют для всех основных операционных систем. Компиляция не требуется — извлеките и запустите.

Для avconv существуют только сборки для Windows, поэтому там вам придется скомпилировать его самостоятельно.

В целом, при использовании avconv и ffmpeg вам, как правило, следует использовать последнюю версию, а не ту, что предлагают стандартные дистрибутивы в своих исходных кодах.

Связанный контент