使用 OpenCV 将视频格式转换

本代码示例展示了如何使用 Python OpenCV 库中的 cv2.VideoWriter 功能将视频文件从一种格式转换为另一种格式。

import cv2

# 打开视频文件
vc = cv2.VideoCapture('Jiche.mp4')

# 设置帧率
fps = 30

# 获取视频尺寸
size = (int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)), int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT)))

# 创建视频写入器
vw = cv2.VideoWriter('JiChenp.avi', cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, size)

# 读取第一帧
success, frame = vc.read()

# 循环读取视频帧并写入新视频
while success:
    vw.write(frame)
    cv2.imshow('mycamera', frame)
    key = cv2.waitKey()
    if key == 27:  # 按下 Esc 键退出循环
        break
    success, frame = vc.read()

# 释放视频读取器和写入器
vc.release()

代码说明

  1. import cv2: 导入 OpenCV 库。
  2. vc = cv2.VideoCapture('Jiche.mp4'): 打开名为 'Jiche.mp4' 的视频文件。
  3. fps = 30: 设置输出视频的帧率为 30 帧每秒。
  4. size = (int(vc.get(cv2.CAP_PROP_FRAME_WIDTH)), int(vc.get(cv2.CAP_PROP_FRAME_HEIGHT))): 获取输入视频的尺寸。
  5. vw = cv2.VideoWriter('JiChenp.avi', cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'), fps, size): 创建一个名为 'JiChenp.avi' 的视频写入器,使用 'XVID' 编解码器,帧率为 30,尺寸与输入视频相同。
  6. success, frame = vc.read(): 读取视频的第一帧。
  7. while success:: 循环读取视频帧,直到读取失败(successFalse)。
  8. vw.write(frame): 将当前帧写入到新的视频文件。
  9. cv2.imshow('mycamera', frame): 在名为 'mycamera' 的窗口中显示当前帧。
  10. key = cv2.waitKey(): 等待键盘输入。
  11. if key == 27:: 如果按下 Esc 键,则退出循环。
  12. vc.release(): 释放视频读取器。

总结

这段代码展示了如何使用 OpenCV 库中的 cv2.VideoWriter 函数将视频文件从一种格式转换为另一种格式,并通过 cv2.imshow 函数在窗口中实时显示处理后的视频帧。

Python OpenCV 视频处理:使用 cv2.VideoWriter 将视频格式转换

原文地址: https://www.cveoy.top/t/topic/dHMW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录