一、VideoWriter_fourcc()常见的编码参数
1、参数列表
参数 | 解释 |
cv2.VideoWriter_fourcc('M','P','4','V') | MPEG-4编码 .mp4 可指定结果视频的大小 |
cv2.VideoWriter_fourcc('X','2','6','4') | MPEG-4编码 .mp4 可指定结果视频的大小 |
cv2.VideoWriter_fourcc('I', '4', '2', '0') | 该参数是YUV编码类型,文件名后缀为.avi 广泛兼容,``但会产生大文件 |
cv2.VideoWriter_fourcc('P', 'I', 'M', 'I') | 该参数是MPEG-1编码类型,文件名后缀为.avi |
cv2.VideoWriter_fourcc('X', 'V', 'I', 'D') | 该参数是MPEG-4编码类型,文件名后缀为.avi,``可指定结果视频的大小 |
cv2.VideoWriter_fourcc('T', 'H', 'E', 'O') | 该参数是Ogg Vorbis,文件名后缀为.ogv |
cv2.VideoWriter_fourcc('F', 'L', 'V', '1') | 该参数是Flash视频,文件名后缀为.flv |
2、用法
- 以写mp4视频为例,以下为等价写法
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V')
fourcc = cv2.VideoWriter_fourcc(*'MP4V')
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
二、连续图片写成视频文件
import os
import cv2
img_path = 'xx' #图片存放路径
height=1080 #图片的宽
width=1920 #图片的长度
fps=10 #设置想要写成的视频的帧率
fourcc=cv2.VideoWriter_fourcc(*"mp4v") #设置编码参数
video = cv2.VideoWriter('xx.mp4', cv2.VideoWriter_fourcc(*"mp4v"), fps, (width,height)) #设置保存路径,创建视频流对象-格式一 ,帧率,长宽
for item in os.listdir(img_path ): #遍历文件夹找出所有jpg格式的图片
if item.endswith('.jpg'):
img = cv2.imread(os.path.join(img_path,item)) #读取
video.write(img) #合成视频
video.release() #释放
cv2.destroyAllWindows()