使用 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 媒体分离器)。

相关内容