问题描述
k230在使用官方的录制视频代码的时候出现AttributeError: 'PyAudio' object has no attribute 'initialize'抱错

硬件板卡
庐山派
软件版本
CanMV-K230_LCKFB_micropython_v1.2.2-0-g4b8cae1_nncase_v2.9.0.img
其他信息
代码为
立创·庐山派-K230-CanMV开发板资料与相关扩展板软硬件资料官网全部开源
开发板官网:www.lckfb.com
技术支持常驻论坛,任何技术问题欢迎随时交流学习
立创论坛:www.jlc-bbs.com/lckfb
关注bilibili账号:【立创开发板】,掌握我们的最新动态!
不靠卖板赚钱,以培养中国工程师为己任
Save MP4 file example
Note: You will need an SD card to run this example.
You can capture audio and video and save them as MP4.The current version only supports MP4 format, video supports 264/265, and audio supports g711a/g711u.
from media.mp4format import *
import os
width = 800
height = 480
file_name = "/data/test.mp4"
设置默认录制时间(单位:秒)
MAX_RECORD_TIME = 30
def mp4_muxer_test():
print("mp4_muxer_test start")
# 实例化mp4 container
mp4_muxer = Mp4Container()
mp4_cfg = Mp4CfgStr(mp4_muxer.MP4_CONFIG_TYPE_MUXER)
if mp4_cfg.type == mp4_muxer.MP4_CONFIG_TYPE_MUXER:
mp4_cfg.SetMuxerCfg(file_name, mp4_muxer.MP4_CODEC_ID_H265, width, height, mp4_muxer.MP4_CODEC_ID_G711U)
# 创建mp4 muxer
mp4_muxer.Create(mp4_cfg)
# 启动mp4 muxer
mp4_muxer.Start()
start_time_ms = time.ticks_ms() # 记录开始时间
elapsed_time = 0
frame_count = 0
try:
while True:
os.exitpoint()
# 处理音视频数据,按MP4格式写入文件
mp4_muxer.Process()
frame_count += 1
print("frame_count = ", frame_count)
# 检查当前时间与开始时间的差值是否超过最大录制时间
elapsed_time = time.ticks_ms() - start_time_ms
if elapsed_time >= MAX_RECORD_TIME*1000:
print("录制已超过最大时长,停止录制,请等待视频保存")
break
except BaseException as e:
print(e)
# 停止mp4 muxer
mp4_muxer.Stop()
# 销毁mp4 muxer
mp4_muxer.Destroy()
print("mp4_muxer_test stop,video saved!")
if name == "main":
os.exitpoint(os.EXITPOINT_ENABLE)
mp4_muxer_test()