请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么我按照视频写的代码,录制下来的视频不能播放呢

def capture_video():
    cap = cv2.VideoCapture(0)

    # 将采集到的视频帧保存为视频文件
    fourcc = cv2.VideoWriter_fourcc(*"MP4V")
    out = cv2.VideoWriter("output.mp4", fourcc, 30.0, (640, 480))

    i = 0
    while cap.isOpened:
        ret, frame = cap.read()
        if ret:
            if i <= 100:
                out.write(frame)
            else:
                break
            i += 1
        else:
            print("Video capture failed")
            break

    cap.release()
    out.release()
    print("视频已保存为 output.mp4")


capture_video()

图片描述

正在回答 回答被采纳积分+3

1回答

李超 2025-06-26 06:51:40

你摄像头可以打开手机吧?如果可以的话,你多尝试几次,另外把帧数由100改成1000试试。

0 回复 有任何疑惑可以回复我~
  • 提问者 蓝色的暴风雪 #1
    解决了,问题是 VideoWriter 写的格式不一直,我的是mac m4 笔记本,摄像头是 1920 * 1080
    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
    print(f"摄像头输出分辨率: {int(width)}x{int(height)}")
    # 用这个 确保与 VideoWriter 的分辨率一致就可以录制正常视频了
    frame = cv2.resize(frame, (width, height))
    回复 有任何疑惑可以回复我~ 2025-06-26 14:16:05
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号