# 录制 **Repository Path**: xqf222/recording ## Basic Information - **Project Name**: 录制 - **Description**: 学习使用Qt+FFmpeg实现录音录屏功能 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-04-15 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 录制 #### 介绍 学习使用Qt+FFmpeg实现录音录屏功能 #### 软件架构 - 功能:同步录音和录制屏幕,最后保存为mp4文件; - 架构: 1.开启总录制线程,打开输入设备,并创建输出。待流程准备完成后,开启录音子线程和录屏子线程进行录制; 2.录音线程和录屏线程有各自的包队列,并使用条件变量和锁完成生产者和消费者的逻辑; 3.具体录制子线程作为生产者,循环读取帧,并按照正常流程解码和编码。最后,将编码后的包压入队列,并通知消费者; 4.总录制线程在开启子录制线程后,作为消费者,不断从队列中取出包并写入文件。直到状态为停止且各队列为空时,退出; 5.写入包时,通过包pts判断哪个在前哪个在后,交替将包写入; #### 使用说明 1. 本地需先安装Qt、FFmpeg6.0, 双击AVRecord.pro文件即可打开Qtcreator; 2. 在QtCreator中,进入AVRecord.pro文件,将FFmpeg库路径更改为本机路径即可运行; #### 效果图 https://gitee.com/niepeng110/recording/blob/master/show.jpg https://gitee.com/niepeng110/recording/blob/master/result.jpg