ffmpeg - mux视频和音频并修剪音频

时间:2016-12-20 16:59:07

标签: audio video ffmpeg mux

我有一个很长的音频部分 还有一个简短的视频部分,我想一起 mux

我正在尝试以下命令 mux

  1. Video_0-0002.h264 - 整个文件(2秒长)
  2. Audio.wav - 从4到6秒
  3. ffmpeg -y -i /Documents/viz-1/01/Video_0-0002.h264 -i /Documents/viz-1/01/Audio.wav -codec:v copy -f mp4 -af atrim=4:6 -strict experimental -movflags faststart /Documents/viz-1/01/Video_0-0001.mp4

    但音频搞砸了...... 我怎么能正确地做到这一点?

    还试过,听起来最终会有沉默。

    ffmpeg -y -i Video_0-0003.h264 -i Audio.wav -c:v copy -af atrim=6:8,asetpts=PTS-STARTPTS -strict experimental -movflags +faststart Video_0-0003.mp4
    
    
        Input #0, h264, from 'Video_0-0003.h264':
          Duration: N/A, bitrate: N/A
            Stream #0:0: Video: h264 (Main), yuv420p(progressive), 388x388 [SAR 1:1 DAR 1:1], 30 fps, 30 tbr, 1200k tbn, 60 tbc
        Guessed Channel Layout for Input Stream #1.0 : stereo
        Input #1, wav, from 'Audio.wav':
          Duration: 00:00:16.98, bitrate: 1411 kb/s
            Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
        Output #0, mp4, to 'Video_0-0003.mp4':
          Metadata:
            encoder         : Lavf57.56.100
            Stream #0:0: Video: h264 (Main) ([33][0][0][0] / 0x0021), yuv420p(progressive), 388x388 [SAR 1:1 DAR 1:1], q=2-31, 30 fps, 30 tbr, 1200k tbn, 1200k tbc
            Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s
            Metadata:
              encoder         : Lavc57.64.101 aac
        Stream mapping:
          Stream #0:0 -> #0:0 (copy)
          Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
        Press [q] to stop, [?] for help
        [mp4 @ 0x7fca8f015000] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
        [mp4 @ 0x7fca8f015000] Starting second pass: moving the moov atom to the beginning of the file
        frame=   60 fps=0.0 q=-1.0 Lsize=     242kB time=00:00:02.02 bitrate= 982.2kbits/s speed=  21x
        video:207kB audio:32kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.382400%
        [aac @ 0x7fca8f017400] Qavg: 1076.270
    
    

2 个答案:

答案 0 :(得分:0)

尝试

ffmpeg -y -i /Documents/viz-1/01/Video_0-0002.h264 -i /Documents/viz-1/01/Audio.wav -c:v copy -af atrim=4:6,asetpts=PTS-STARTPTS -strict experimental -movflags +faststart /Documents/viz-1/01/Video_0-0001.mp4

答案 1 :(得分:0)

您可以尝试通过视频定时剪切音频,然后调整视频和音频轨道。 在单独的ffmpeg进程中使用-vn和-an。

ffmpeg -i video.mp4 -c:v h264 -an -y video.h264
ffmpeg -i video.mp4 -c:a aac -t 00:01:00 -vn -y audio.aac

对于marge轨道:

ffmpeg -i auido.acc -i video.h264  -c:v copy -c:a copy -f mp4 -y out.mp4