# -*- coding: utf-8 -*-
"""
Created on Thu Mar 5 17:42:05 2020
@author: Administrator
"""
import cv2
"""
读取视频文件的帧, 采用yuv颜色编码写入到另一个帧
6
7 VideoCapture和VideoWriter用于视频文件的读写
8 VideoCapture读的每一帧都是一个bgr格式的图像
"""
videoCapture = cv2.VideoCapture("vedio/4.mp4")
fps = videoCapture.get(cv2.CAP_PROP_FPS)
size = (
int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT))
)
print(size)
videoWriter = cv2.VideoWriter(
"4.mp4",
cv2.VideoWriter_fourcc("I", "4", "2", "0"), fps, size )
'''
24 编码器常用的几种:
25 cv2.VideoWriter_fourcc("I", "4", "2", "0")
26 压缩的yuv颜色编码器,4:2:0色彩度子采样 兼容性好,产生很大的视频 avi
27 cv2.VideoWriter_fourcc("P", I", "M", "1")
28 采用mpeg-1编码,文件为avi
29 cv2.VideoWriter_fourcc("X", "V", "T", "D")
30 采用mpeg-4编码,得到视频大小平均 拓展名avi
31 cv2.VideoWriter_fourcc("T", "H", "E", "O")
32 Ogg Vorbis, 拓展名为ogv
33 cv2.VideoWriter_fourcc("F", "L", "V", "1")
34 FLASH视频,拓展名为.flv
35 '''
success, frame = videoCapture.read()
count=0
while success: # 循环直到没有帧了
videoWriter.write(frame)
success, frame = videoCapture.read()
path=str(count) +'.jpg'
cv2.imwrite(path, frame)
count=count+1