个人查询整理了关于FFMPEG处理视频较为全面的命令以及功能。
且完成批量剪辑视频处理:拼接,加入音频以及字母,拼接淡入特效,封面图设置等。
一下附上部分功能处理命令~
- 水平翻转
#水平翻转视频
import ffmpeg
stream = ffmpeg.input("input.wmv")
stream = ffmpeg.hflip(stream)
stream = ffmpeg.output(stream, "output.mp4")
ffmpeg.run(stream)
- 图片加文字
import subprocess
"""ffmpeg加文字水印
drawtext:绘制文本,也就是文字水印,相关参数第一个似乎要写=,其它参数写: 。默认字体 Sans
text:文字水印内容
fontsize:水印字体大小,直接填数字
box --是否使用背景框,默认为0
boxcolor --背景框的颜色
borderw --背景框的阴影,默认为0
bordercolor --背景框阴影的颜色
"""
# x=w-tw-th:y=h-th,文本的位置,放置图片右下方位置;w、h 表示原图的宽、高;tw、th 表示文本宽高;在减去th 作为间距
cmdLine = 'ffmpeg -i pic.jpg -vf drawtext=fontfile=font/HanYiYanKaiW-2.TTF:text="python学习":x=110:y=250:fontsize=70:fontcolor=white:shadowy=0,' \
'drawtext=fontfile=font/HanYiYanKaiW-2.TTF:text="Python学习":x=120+th/40*62*3:y=270:fontsize=50:fontcolor=yellow:shadowy=0 -y picture.jpg'
subprocess.call(cmdLine, shell=True)
- 视频加文字
import subprocess
# x=w-tw-th:y=h-th, 文本的位置,放置图片右下方位置;w、h 表示原图的宽、高;tw、th 表示文本宽高;在减去th 作为间距
cmdLine = 'ffmpeg -i input.avi -vf drawtext=fontfile=font/HanYiYanKaiW-2.TTF:text="关注作者":x=110:y=250:fontsize=100:fontcolor=yellow output.avi'
subprocess.call(cmdLine, shell=True)
- 视频合并
视频2合1
import ffmpeg
streams = []
for in_filename in glob.glob("*.avi"):
stream = ffmpeg.input(in_filename)
streams.append(stream)
out_filename = "output4.avi"
out = ffmpeg.concat(*streams)
out = ffmpeg.output(out, out_filename)
ffmpeg.run(out)
- 截取视频
#从第5秒开始,截取8秒的视频
cmdLine ='ffmpeg -ss 0:0:5 -t 0:0:8 -i input.mp4 -vcodec copy -acodec copy output.mp4'
subprocess.call(cmdLine, shell=True)
其他功能就暂不添加啦,后续有空再进行更新叭
有需求滴滴ღ~