python opencv3 视频文件的读写

 git: https://github.com/linyi0604/Computer-Vision

 1 # coding:utf8
 2 import cv2
 3 
 4 """
 5 读取视频文件的帧, 采用yuv颜色编码写入到另一个帧
 6 
 7 VideoCapture和VideoWriter用于视频文件的读写
 8 VideoCapture读的每一帧都是一个bgr格式的图像
 9 """
10 videoCapture = cv2.VideoCapture("../data/demo3.mp4")
11 fps = videoCapture.get(cv2.CAP_PROP_FPS)
12 size = (
13     int(videoCapture.get(cv2.CAP_PROP_FRAME_WIDTH)),
14     int(videoCapture.get(cv2.CAP_PROP_FRAME_HEIGHT))
15 )
16 
17 videoWriter = cv2.VideoWriter(
18     "output.mp4",
19     cv2.VideoWriter_fourcc("I", "4", "2", "0"),  # 编码器
20     fps,
21     size
22 )
23 '''
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 '''
36 
37 success, frame = videoCapture.read()
38 while success:  # 循环直到没有帧了
39     videoWriter.write(frame)
40     success, frame = videoCapture.read()

 

posted @ 2018-07-30 20:53  稀里糊涂林老冷  阅读(8013)  评论(0编辑  收藏  举报