out = cv2.VideoWriter('result_video/output.avi',cv2.VideoWriter_fourcc(*'DIVX'), 15,(width,height))怎么把这串代码换成保存成mp4视频格式
时间: 2025-06-27 12:06:00 浏览: 13
### 如何使用 OpenCV 的 `VideoWriter` 保存 MP4 格式的视频
为了实现通过 OpenCV 将视频保存为 MP4 格式,需要正确配置 `cv2.VideoWriter()` 函数中的参数。以下是具体方法以及示例代码:
#### 参数说明
- **filename**: 输出视频文件的路径和名称。
- **fourcc**: 编码器的选择,对于 MP4 文件通常推荐使用 `'MP4V'` 或者平台支持的其他编码器[^1]。
- **fps**: 设置输出视频的帧率(每秒显示多少帧)。
- **frameSize**: 定义每一帧的分辨率 (宽度, 高度),单位为像素。
- **isColor**: 布尔值,指示是否保存彩色图像。
下面是一个完整的 Python 示例代码来展示如何创建并保存 MP4 格式的视频文件:
```python
import cv2
import numpy as np
# 初始化 VideoWriter 对象
output_filename = 'output_video.mp4'
frames_per_second = 30.0 # 设定帧率为 30 FPS
video_size = (1920, 1080) # 视频分辨率为 1920x1080 (即 Full HD)
# 创建 VideoWriter 实例,指定编码器为 'MP4V'
fourcc_codec = cv2.VideoWriter_fourcc(*'MP4V')
out_writer = cv2.VideoWriter(output_filename, fourcc_codec, frames_per_second, video_size)
if not out_writer.isOpened():
print("Error: Could not open the video writer.")
else:
print(f"Successfully opened {output_filename} with codec {'MP4V'}.")
try:
while True:
# 构造一帧随机颜色的数据作为演示用途
random_frame = np.random.randint(0, 255, size=video_size[::-1]+(3,), dtype=np.uint8)
# 写入当前帧到视频流中
out_writer.write(random_frame)
except KeyboardInterrupt:
pass
finally:
# 关闭视频写入对象释放资源
out_writer.release()
print("Finished writing to file:", output_filename)
```
上述脚本会生成一段由随机色彩组成的 MP4 格式视频片段[^2]。如果希望从一系列静态图片合成视频,则需替换掉循环体内的随机帧部分逻辑,改为读取实际图片序列的内容。
需要注意的是,在某些操作系统上可能还需要额外安装软件包或者库才能正常工作所有的编解码选项;另外尽管这里提到 MP42 表现较好,但在跨平台上兼容性和稳定性方面,“MP4V”通常是更安全的选择之一。
阅读全文
相关推荐
















