FFMpeg:如何在视频中添加覆盖;然后添加 5 秒静止图像 + 5 秒静音

FFMpeg:如何在视频中添加覆盖;然后添加 5 秒静止图像 + 5 秒静音

我在 Linux 机器上安装了 ffmpeg 3.2。

ffmpeg version 3.2.10-1~deb9u1~bpo8+1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 4.9.2 (Debian 4.9.2-10)

我可以使用以下命令为视频添加覆盖。

/usr/bin/ffmpeg -y \
   -i "INPUT.MP4" \
   -i "WM.PNG" \
   -filter_complex " \
    [1:v]format=rgba,colorchannelmixer=aa=0.4[fg]; \
[fg]setsar=1[logo]; \
[0][logo]overlay=10:10" \
"OUTPUT.MP4"

这将在输出文件中写入透明覆盖层,并保留原始音轨。

我应该如何更改命令 - 我想让输出 mp4 显示静止/全帧图像 - 比如说 5 秒,添加在视频末尾。

如果我需要使用生成的音频来配合静止图像,我们可以使用静音。

如果我需要为输出 mp4 文件指定一种格式,我们可以使用 x264 视频和 mp3/立体声音频。

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input-2min.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
  Duration: 00:02:06.17, start: 0.000000, bitrate: 2677 kb/s

    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 2494 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler

    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 175 kb/s (default)
    Metadata:
          handler_name    : Stereo

答案1

使用

/usr/bin/ffmpeg -y \
   -i "INPUT.MP4" \
   -i "WM.PNG" \
   -loop 1 -t 5 -i "End.png" \
   -filter_complex " \
    [1:v]format=rgba,colorchannelmixer=aa=0.4,setsar=1[logo]; \
[0][logo]overlay=10:10[main]; \
[main][2]concat" \
   -af apad -shortest \
"OUTPUT.MP4"

apad 用于无限延长音频。 用于-shortest在视频流结束时停止文件。

相关内容