我在 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
在视频流结束时停止文件。