使用ffmpeg-python实现时间轴编辑:特定时段绘制画面框问题
解决ffmpeg-python中drawbox特定时段绘制无效的问题
问题出在ffmpeg-python的高层drawbox方法并未封装enable参数的传递逻辑,直接传关键字参数不会被正确解析到ffmpeg滤镜选项里。可以用以下方式解决:
方法一:手动调用filter滤镜(推荐)
直接使用filter方法调用ffmpeg原生的drawbox滤镜,能完整传递所有滤镜参数,包括enable:
( ffmpeg .input(video) .filter( 'drawbox', x=x, y=y, w=w, h=h, enable=f"between(t,{timestamp},{total_time})", color='red', # 设置显眼的框颜色,避免和背景重合 thickness=2 # 调整框线粗细,确保可见 ) .output("out.mp4") .run() )
额外注意事项
如果尝试其他方式,需先确认几个容易忽略的点:
- 确保
timestamp和total_time是正确的秒数(支持小数,比如3.5表示3秒半),且结束时间大于开始时间 - 必须显式设置
color参数,默认颜色可能和视频背景一致导致看不见 - 调整
thickness参数,默认1像素的线可能过于细微
内容的提问来源于stack exchange,提问作者Synthels
相关产品推荐
相关产品推荐

