使用 ffmpeg 將音訊與 h264 mp4 視訊混合

使用 ffmpeg 將音訊與 h264 mp4 視訊混合

我有 2 個文件:

Input #0, wav, from '105426_1.wav':
  Duration: 00:00:09.98, bitrate: 1312 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 41000 Hz, stereo, s16, 1312 kb/s

和:

Duration: 00:00:41.29, start: 0.000000, bitrate: 1313 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 1211 kb/s, 24.42 fps, 25 tbr, 90k tbn, 48 tbc
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 99 kb/s
    Metadata:
      handler_name    : SoundHandler

我想將第一個音訊檔案插入視訊中的特殊位置(例如在視訊的 10 秒中)並將其與視訊檔案的音訊串流混合。

我試著

 /usr/local/bin/ffmpeg  -i 105426_1.wav -i 105426.mp4 -map 0:0 -map 1:1 -map 1:0  video_finale.mp4

但結果是:

  Duration: 00:00:41.31, start: 0.046440, bitrate: 755 kb/s
    Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 588 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc
    Metadata:
      handler_name    : VideoHandler

我只需要一個音訊串流,並且第一個串流不是從開始播放而是從 10 秒開始播放

答案1

ffmpeg我想如果能夠做到這樣的事情那就太奇怪了。您應該對音訊串流進行解復用並將音訊混合到其中(例如,使用audacity),然後進行複用。

我想,第二種方法是使用 選項 移動第二個音訊串流-itsoffset,然後嘗試使用具有適當分離器的媒體播放器同時播放兩個串流(在這種情況下,我建議嘗試MPC-HC + ffdshow + Haali Media Splitter) 。

相關內容