input=capture_source.mp4
output=output-video.mp4
temp_combine_video=temp_combine_video.mp4
temp_filelist=filelist.txt
temp_time_video=temp_time_video.mp4
rm ${temp_filelist}
for i in {1..5}
do
echo "file '${input}'" >>${temp_filelist}
done
ffmpeg -f concat -i ${temp_filelist} -c copy ${temp_combine_video}
ffmpeg -i ${temp_combine_video} -vf "drawtext=expansion=strftime: basetime=$(date +%s -d '2023-12-12 00:00:00')000000:text='%Y-%m-%d 星期五 %H\\:%M\\:%S':fontfile=方正像素16.ttf:fontsize=31:fontcolor=white:bordercolor=black:borderw=0.4:box=0:x=63:y=25:" -strict -2 -y ${temp_time_video}
ffmpeg -i ${temp_time_video} -vf "drawtext=expansion=strftime:text='自定义啦':fontfile=方正像素16.ttf:fontsize=31:fontcolor=white:bordercolor=black:borderw=0.4:box=0:x=63:y=255:" -strict -2 -y ${output}
rm ${temp_combine_video}
rm ${temp_time_video}
rm ${temp_filelist}
input 是输入的视频路径
output是输出的视频路径
功能: 重复合并输入的视频5次,并且添加时间戳,添加自定义文字。
刘宇:自定义
fontfile :字体
时间初始值: 2023-12-12 00:000:00
text:文本内容
x,y :坐标
for i in {1:5} 中 5 是次数可修改此值
时间总长度,根据input的视频长度来计算合并的次数,此次是5次。比如此次input视频长度是7秒,循环了5次合并,则输出是35秒的视频输出。
把代码文本内容 复制到 generate.sh
cd 到generate.sh 同目录执行:
./generate.sh