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

必要なのは1つのオーディオストリームだけで、最初のストリームは最初からではなく10秒から再生されます。

答え1

ffmpegがそのようなことができるとしたら奇妙だと思います。オーディオ ストリームを demux し、それにオーディオをミックスして (たとえば、 を使用audacity)、その後 mux する必要があります。

2 番目の方法は、オプションを使用して 2 番目のオーディオ ストリームをシフトし-itsoffset、適切なスプリッターを備えたメディア プレーヤーを使用して両方のストリームを同時に再生してみることです (この場合は、MPC-HC + ffdshow + Haali Media Splitter を試すことをお勧めします)。

関連情報