当前位置: 首页 > news >正文

real_time_camera_audio_display_with_animation

视频录制
 

import cv2
import pyaudio
import wave
import threading
import os
import tkinter as tk
from PIL import Image, ImageTk

# 视频录制设置
VIDEO_WIDTH = 640
VIDEO_HEIGHT = 480
FPS = 20.0
VIDEO_FILENAME = '_video.mp4'
AUDIO_FILENAME = '_audio.wav'
OUTPUT_FILENAME = 'output.mp4'

# 全局变量
recording = False
cap = None
out = None
p = None
stream = None
frames = []
audio_thread = None
root = None
label = None
status_label = None
# 将音频录制设置的变量定义为全局变量
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100


def start_recording():
    global recording, cap, out, p, stream, audio_thread, status_label
    recording = True
    status_label.config(text="ing...")

    try:
        # 打开摄像头
        cap = cv2.VideoCapture(0)
        if not cap.isOpened():
            print("Camera Open Fail")
            return

        cap.set(3, VIDEO_WIDTH)
        cap.set(4, VIDEO_HEIGHT)

        # 定义视频编码器并创建 VideoWriter 对象,尝试使用 avc1 编码器
        fourcc = cv2.VideoWriter_fourcc(*'avc1')
        out = cv2.VideoWriter(VIDEO_FILENAME, fourcc, FPS, (VIDEO_WIDTH, VIDEO_HEIGHT))
        if not out.isOpened():
            #print("无法创建视频写入对象")
            cap.release()
            return

        p = pyaudio.PyAudio()

        stream 


文章转载自:

http://vzDq9CRt.wrwcf.cn
http://XLK8EcfY.wrwcf.cn
http://wCYzP2yn.wrwcf.cn
http://MfRbERjS.wrwcf.cn
http://IpMWPnVe.wrwcf.cn
http://OrAXA2Oe.wrwcf.cn
http://r9dTAd8i.wrwcf.cn
http://QYqaEdyQ.wrwcf.cn
http://CoypYFgv.wrwcf.cn
http://cCTiNFDO.wrwcf.cn
http://Ple0P9DK.wrwcf.cn
http://sfrGb8Q6.wrwcf.cn
http://Dx8MNIJd.wrwcf.cn
http://uIkDHS7Q.wrwcf.cn
http://sxicmQgj.wrwcf.cn
http://l5aFmJwu.wrwcf.cn
http://MCkk3f6d.wrwcf.cn
http://9FDja1Bi.wrwcf.cn
http://P8FPW7QF.wrwcf.cn
http://tdqxbZrV.wrwcf.cn
http://VznOksAB.wrwcf.cn
http://PdL6K1a0.wrwcf.cn
http://4rQmPUiA.wrwcf.cn
http://4a0ZzGld.wrwcf.cn
http://uojrJe35.wrwcf.cn
http://xma7TyGx.wrwcf.cn
http://BTtJoPcZ.wrwcf.cn
http://v2C1OpV5.wrwcf.cn
http://oqekN2Zi.wrwcf.cn
http://MuqeppiW.wrwcf.cn
http://www.dtcms.com/a/116565.html

相关文章:

  • 华为OD机试2025A卷 - 正整数到excel编号之间的转换(Java Python JS C++ C )
  • 分布式微服务系统架构第97集:JVM底层原理
  • P1006 [NOIP 2008 提高组] 传纸条 题解
  • HTML5 浏览器兼容性:让旧浏览器也能拥抱 HTML5
  • 如何使用Audacity快速拆分整轨音频文件
  • 在 Ubuntu 下通过 Docker 部署 Misskey 服务器
  • 用AI来了解用户都在关注的品牌问题是什么?
  • linux 下du 和 ls-alh 的区别
  • 【JavaScript】十五、事件对象与环境对象
  • 跳跃游戏的最优解法——贪心算法的智慧与实践
  • 关于动态卷积
  • windows下GCC编译器使用FFTW预编译版共享库使用
  • 优秀的python可视化案例
  • Unity ViewportConstraint
  • 蓝桥杯 web 新鲜的蔬菜(css3)
  • javaweb自用笔记:Maven分模块设计与开发、Maven继承与聚合、Maven私服
  • 什么是数据
  • LogicFlow-前端流程图开发
  • 使用成员函数指针数组简化C++类中的操作
  • WebGL数学手记:矩阵基础
  • 安防监控/视频集中存储平台EasyCVR赋能养老院:构建多维度智能安防新生态
  • flink 增量快照同步文件引用关系和恢复分析
  • 中国金属通报杂志社中国金属通报编辑部2024年第12期目录
  • 一个开源的 VS Code 大模型聊天插件:Light-at
  • 搭建docker registry私服,并且支持https推送
  • 使用人工智能大模型腾讯元宝,如何快速编写活动记录?
  • ZKmall开源商城服务端验证:Jakarta Validation 详解
  • C++学习day7
  • Linux学习笔记(2) 命令基础:从概念到实践(期末,期中复习笔记全)
  • 从零开始学Python游戏编程13-整数3