FFmpeg 信息

FFmpeg 信息

我有以下文件:

01.mp4

G:\>ffmpeg -i 01.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '01.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.63.104
  Duration: 00:14:21.42, start: 0.000000, bitrate: 3746 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720, 3616 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(unk): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 123 kb/s (default)
    Metadata:
      handler_name    : SoundHandler

02.mp4

G:\>ffmpeg -i 02.mp4    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '02.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isom
    creation_time   : 2013-12-06 17:49:10
    encoder         : FAAC 1.26.1 (Apr 29 2008) UNSTABLE
  Duration: 00:01:21.75, start: 0.023220, bitrate: 120 kb/s
    Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 119 kb/s (default)
    Metadata:
      creation_time   : 2013-12-06 17:49:10

03.mp4

G:\>ffmpeg -i 03.mp4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '03.mp4':
  Metadata:
    major_brand     : M4V
    minor_version   : 0
    compatible_brands: M4V M4A mp42isom
  Duration: 00:20:31.98, start: 0.000000, bitrate: 1928 kb/s
    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 1796 kb/s, 25 fps, 25 tbr, 25k tbn, 50k tbc (default)
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)

我必须将文件02.mp4和附加03.mp401.mp4;这样,在第一个视频结束后(在00:14:21.42);下一个文件(只有音频,没有视频流)将播放(空/白/黑背景?)。音频持续时间约为 2 分钟,之后第三个文件将开始播放。

附言:请不要建议创建播放列表。我想要一个 mkv/mp4 文件。该文件将分发给其他几个人,告诉每个人顺序等很烦人

我已经玩过了MKVToolNixFFmpeg并设法调整大小并合并两个视频文件(01.mp403.mp4);但我仍然不知道如何继续插入带有空白视频帧的音频流......


FFmpeg 信息

ffmpeg version N-58869-gae33007 Copyright (c) 2000-2013 the FFmpeg developers
  built on Dec  7 2013 22:01:45 with gcc 4.8.2 (GCC)
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetyp
e --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --ena
ble-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-l
ibopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libsp
eex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aa
cenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavp
ack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 56.100 / 52. 56.100
  libavcodec     55. 45.100 / 55. 45.100
  libavformat    55. 22.100 / 55. 22.100
  libavdevice    55.  5.102 / 55.  5.102
  libavfilter     3. 92.100 /  3. 92.100
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
  libpostproc    52.  3.100 / 52.  3.100

答案1

我认为您可以在此处使用 lavfi 输入,并带有过滤颜色。以下是示例命令:

ffmpeg -i 1.mp4 -i 2.mp4 -i 3.wav -f lavfi -i "color=black:size=1920x1080:duration=40" \
-filter_complex "[0:v][1:v][3:v]concat=n=3[out_video];[0:a][1:a][2:a]concat=n=3:v=0:a=1[out_audio]" \
-y -map [out_audio] -map [out_video] out.mp4

其中 1.mp4 和 2.mp4 是带视频的文件,3.wav 是带音频的文件。lavfi 输入的大小应与 1.mp4 和 2.mp4 的视频大小相同。lavfi 输入的持续时间应与 3.wav 文件的持续时间相同。

希望能帮助到你。

相关内容