fourcc = cv2.VideoWriter_fourcc('m','p','4','v') 选择视频编解码器,为'avi'
时间: 2024-10-18 14:20:48 浏览: 22
`cv2.VideoWriter_fourcc('m', 'p', '4', 'v')` 是 OpenCV(计算机视觉库)中的一个函数,用于创建一个表示特定视频编码(codec)标识符的四字节序列。在这个例子中, `'m'`, `'p'`, `'4'`, 和 `'v'` 分别代表 Motion Picture Experts Group (MPEG) 视频编码的各个字母缩写:
- `'m'` 指的是 "M" for MPEG.
- `'p'` 表示 "P" for Layer 3 (MP3) audio compression, 这里实际上是误用,因为 `VideoWriter` 不处理音频编码,但OpenCV早期版本可能使用了这个字符。
- `'4'` 是 "V" for Video.
- `'v'` 是 "I" for Indefinite length (variable frame size).
对于 `.avi` 文件格式,通常使用的编码是 `XVID` 或 `DIVX`,它们都是MPEG-4的变种。如果你想要直接创建`.avi`文件,你应该使用 `cv2.VideoWriter_fourcc('D', 'I', 'V', 'X')` 或 `cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')`。
这里是创建`.avi`视频的完整代码示例:
```python
import cv2
# 规定帧率(fps)和尺寸
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi', fourcc, 30.0, (640, 480))
# ...然后你可以在这里添加视频帧(frame),比如从摄像头捕获或读取图像
# ...
while True:
frame = capture.read() # 假设capture是一个摄像头对象
if frame is None:
break
out.write(frame)
# 释放资源
out.release()
```
阅读全文