使用 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,您通常希望使用最新版本,而不是標準發行版在其套件來源中提供的版本。

相關內容