摘录自个人博客 /
开发中有时需要生成静音音频或者纯色黑屏视频为便于测试或其他特殊应用场景,可以使用FFmpeg命令-f lavfi
来搞定。
生成静音音频
可以使用anullsrc
或者aevalsrc
来生成静音音频,aevalsrc
还可以生成其他类型声音。
以下命令生成10s特定采样率和声道的静音音频,可以指定编码器进行编码。
anullsrc
ffmpeg -f lavfi -i anullsrc -t 10 silent-audio.mp3
# or
ffplay -f lavfi -i anullsrc=r=44100:cl=stereo -t 10 silent-audio.mp3
-
sample_rate, r
指定采样率,默认44100。
-
channel_layout, cl
指定通道布局,详见 libavutil/channel_layout.c 中 channel_layout_map 定义,常见
mono
stereo
5.1
。 -
-t
文件时长,不指定就一直生成。
aevalsrc
ffmpeg -f lavfi -i aevalsrc=0 -t 10 silent-audio.mp3
生成纯色视频
可以使用color
或者nullsrc
源来生成指定格式的纯色视频。
color
ffmpeg -f lavfi -i color=size=1920x1080:rate=25:color=black:duration=5 black.mp4
# or
ffmpeg -f lavfi -i color=s=1920x1080:r=25:c='#FF00FF':d=5 purple.mp4
-
color,c:
视频颜色,可以是颜色名或者数值
#RRGGBB
,详见ffmpeg color。
nullsrc
ffmpeg -f lavfi -i nullsrc=size=1280x720:rate=25:duration=5,lutrgb=0:0:0 black.mp4
# or
ffmpeg -f lavfi -i nullsrc=s=1280x720:r=25:d=5,lutrgb=255:0:255 purple.mp4
-
size, s:
图像分辨率
-
rate, r:
视频帧率
-
duration, d:
视频时长
图片生成视频
一张图片合成10s视频
ffmpeg -r 5 -loop 1 -i -c:v libx264 -t 10 1.mp4
多张图片合成视频
ffmpeg -r 5 -i bg% -c:v libx264 1.mp4
其他正弦信号音频 白噪声信号音频 文字转语音等更多内容,详见个人博客
/