python使用VideoWriter只有1kb
时间: 2024-03-28 10:37:55 浏览: 109
可能是由于代码中没有写入实际的视频数据,所以输出的视频文件大小很小。可以检查是否正确地读取了视频数据并将其写入输出文件中。此外,还应该检查输出文件的格式和编解码器是否正确设置。以下是一个简单的例子,可以参考一下:
```python
import cv2
# 读取视频文件
cap = cv2.VideoCapture('input_video.mp4')
# 获取视频的宽度和高度
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建 VideoWriter 对象
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('output_video.mp4', fourcc, 30, (width, height))
# 读取视频数据并写入输出文件
while cap.isOpened():
ret, frame = cap.read()
if ret:
out.write(frame)
else:
break
# 释放资源
cap.release()
out.release()
```
这个例子中,我们首先使用 `cv2.VideoCapture` 读取输入视频文件,然后获取视频的宽度和高度。接着,我们使用 `cv2.VideoWriter` 创建输出视频文件,并设置编解码器、帧率和视频大小。最后,我们使用一个循环读取视频数据并将其写入输出文件中。在完成写入后,我们需要释放资源,包括关闭输入和输出视频文件。
阅读全文