使用 Ffmpeg 在視訊上復用音頻

使用 Ffmpeg 在視訊上復用音頻

所以我已經經歷了很多測試,但我似乎仍然無法使用 ffmpeg 將音訊透過視訊進行複用,並且無法弄清楚我哪裡出錯了,所以我非常感謝一些幫助。

我有這個影片。 影片下載

如果我運行 ffmpeg -i 它會給我這個。

 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 366x662 [SAR 1:1 DAR 183:331], 755 kb/s, 24 fps, 24 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 105 kb/s (default)

所以直播 0:0

我有這段音頻。 音訊下載

當我運行 ffmpeg 時我得到了這個。

Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 277 kb/s
Stream #0:1: Video: png, rgb24, 400x400, 90k tbr, 90k tbn, 90k tbc

所以我要做的就是複製音訊 0:0 來替換視訊音訊 0:1,而不需要重新編碼整個檔案。

ffmpeg -i testing.mp4 -i rkelly.mp3 -c copy -map 0:1 -map 0:0 -shortest out3.mp4 

答案1

選項中的第一個數字-map是輸入檔案索引。因此,如果您使用0兩次,那麼您只是使用了testing.mp4.

試試這個:

ffmpeg -i testing.mp4 -i rkelly.mp3 -c copy -map 0:v:0 -map 1:a:0 -shortest out3.mp4 

這裡,0:v:0選擇第一輸入檔案的第一視訊串流,並1:a:0選擇第二輸入檔案的第一個音訊串流。原則上,這:0對您的文件來說不是必需的,但如果有多個視訊/音訊軌道,將其放在那裡也沒有什麼壞處。

請參閱FFmpeg wiki-map條目上的選項了解更多。

相關內容