提交 0b187d69 编写于 作者: W wangzx0705

modify the docs format

Signed-off-by: Nwangzx0705 <wangzx0705@thundersoft.com>
上级 3c1cde0e
......@@ -31,7 +31,6 @@
- [开发音频通话功能](audio-call-development.md)
- [视频播放](video-playback.md)
- [视频录制](video-recording.md)
- 屏幕录制
- [屏幕录制](avscreen-capture.md)
- 音视频编解码
- [获取支持的编解码能力](obtain-supported-codecs.md)
......
# 屏幕录制
屏幕录制功能主要有主屏幕录屏、指定物理屏录屏和应用内录屏
屏幕录制主要为主屏幕录屏功能
录屏(AVScreenCapture)以单独的原子能力构建,给开发者提供能力接口,视频采集功能对接窗口和图形模块,语音采集和编码后码流对接AudioService和AVCodecService。AVScreenCapture采用client-server设计结构,用openharmony IPC进行通信。proxy和stub,负责IPC接口通信,npi提供kit层级的接口,client负责权限校验以及接口能力。server负责音视频的采集,以及buffer管理等
开发者可以调用录屏(AVScreenCapture)模块的Native API接口,完成屏幕录制,采集设备内、麦克风等的音视频源数据。当开发直播、办公等应用时,可以调用录屏模块获取音视频码流,然后通过流的方式流转到其他模块处理或直接对接CDN服务器,达成直播时共享桌面的场景
主屏幕录屏:录屏框架在制作录屏镜像时默认使用主屏;图形默认根据主屏生产录屏帧数据到显示数据缓冲队列;录屏框架从显示数据缓冲队列获取数据进行相应消费处理
录屏模块和窗口(Window)、图形(Graphic)等模块完成整个视频采集的流程
## 如何选择屏幕录制开发方式
当前在进行屏幕录制时默认使用主屏,图形默认根据主屏生产录屏帧数据到显示数据缓冲队列,录屏框架从显示数据缓冲队列获取数据进行相应消费处理。
录屏取码流场景,主要用于直播类应用,应用需要获取录屏相关的音视频码流,然后通过流的流转方式或者对接CDN服务器方式,达到直播时桌面共享的场景。应用配置完音视频相关参数后 ,可启动录制,在录制过程中可以控制麦克风的开关,达到mic音频是否在直播时播放,结束直播时刻停止录制。
另外某些应用有自己的编码器,因此需要获取的是原始码流,用于对接它内部自己的编码器(比如:welink,内部采用webRTC,有自己的编码器)。有些应用需要把流发布到CDN服务 器,那么他就需要编码后的码流。
## 选择屏幕录制开发方式
## 开发录制应用须知
应用可以调用麦克风录制音频,但该行为属于隐私敏感行为,在调用麦克风前,需要先向用户申请权限“ohos.permission.MICROPHONE”。
应用可以调用屏幕录制视频,但该行为属于隐私敏感行为,在调用屏幕录制前,需要先向用户申请权限“ohos.permission.CAPTURE_SCREEN”。
权限申请的流程请参考[访问控制授权申请指导](../security/accesstoken-guidelines.md)
有自己编码器的应用,需要获取原始码流,用于对接自己的内部编码器。
需要把流发布到CDN服务器的应用,需要获取编码后的码流。
## 开发指导
......@@ -25,6 +20,16 @@
使用AVScreenCapture时要明确其状态的变化,在创建实例后,调用对应的方法可以进入指定的状态实现对应的行为。
在确定的状态下执行不合适的方法会导致AVScreenCapture发生错误,开发者需要在调用状态转换的方法前进行状态检查,避免程序运行异常。
### 权限说明
在开发前,请根据应用实际需求,参考[访问控制授权申请指导](../security/accesstoken-guidelines.md)申请以下权限:
| 权限名 | 说明 | 授权方式 | 权限级别 |
| ------ | ----- | --------| ------- |
| ohos.permission.CAPTURE_SCREEN | 允许应用截取屏幕图像。| system_grant | system_core |
| ohos.permission.MICROPHONE | 允许应用使用麦克风(可选)。
如需录制麦克风源的音频,需要申请该权限。| user_grant | normal |
### 开发步骤及注意事项
开发者可以通过以下几个步骤来实现一个简单的屏幕录制功能。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册