Moviepy使用GPU加速(英伟达)
- 修改moviepy包下的ffmpeg_writer,增加 ‘-hwaccel’, ‘cuvid’
cmd = [
get_setting("FFMPEG_BINARY"),
'-hwaccel', 'cuvid',
'-y',
'-loglevel', 'error' if logfile == sp.PIPE else 'info',
'-f', 'rawvideo',
'-vcodec', 'rawvideo',
'-s', '%dx%d' % (size[0], size[1]),
'-pix_fmt', 'rgba' if withmask else 'rgb24',
'-r', '%.02f' % fps,
'-an', '-i', '-'
]
- 在导出方法 write_videofile 指定 codec 参数
codec=h264_nvenc
- 在导出方法 write_videofile 指定 bitrate 参数,不然码率很低很模糊
bitrate="10000k"
根据需要调整bitrate值
注:这个加速只是ffmpeg的导出使用硬件编码器加速而已。帧处理还是在Python代码中完成,提升每帧在Python中的处理速度才是关键。