最近在编程过程中遇到了保存视频的问题,之前使用cv2.VideoWriter的方式保存的mp4文件在chrome中无法播放,查阅相关资料后发现是由于chrome由于版权问题只支持h264编码的视频。所以使用ffmpeg工具来对保存好的视频转码,代码如下
video_writer = cv2.VideoWriter('xx.avi', cv2.VideoWriter_fourcc(*'XVID'), 20.0,(w, h))
for frame in frame_list:
video_writer.write(frame)
video_writer.release()
os.system(f'ffmpeg -i "xx.avi" -vcodec h264 "xx.mp4"')
我们首先定义使用XVID的编码格式对视频帧进行编码,该编码保存文件的后缀为avi,随后我们使用ffmpeg工具使用调用命令行命令的方式将保存的avi视频转码为h264编码的mp4视频
TODO: 是否能直接使用opencv将编码设置为h264
原文:https://www.cnblogs.com/oiwio-wsf/p/12274238.html