媒体子系统
本次开源基于本仓代码信息将相关设备配置文件放入到test\lite\devini内,用户使用时将配置文件放入到开发板/data目录,通过该配置文件可以方便去适配sensor及分辨率帧率等能力。
多媒体子系统框架
多媒体子系统系统业务流程图
如上图,多媒体包括camera,recorder和player,camera提供yuv/rgb,jpeg以及H264,H265数据到共享内存surface中,recorder模块将surface中h264/h265数据和音频aac数据打包成mp4文件,player模块把mp4文件解复用成音频和视频数据,分别送入对应编码器解码,然后进行播放。
目录
表 1 轻量级多媒体子系统源代码目录结构
- C++11版本或以上
安装
- 请提前加载内核及相关驱动,参考内核及驱动子系统readme。
- 配置合适的配置文件,可以参考test/devini下配置文件,说明参见《配置文件说明文档》,当前仅支持imx335和imx327sensor,如果适配其他sensor可在开源社区中求助。
- 北向接口调用参见test下demo实现。
开发者使用多媒体接口用于录像、预览和播放音视频等资源,使用这些资源前先创建camerakit组件对象,注册各种事件回调,这些事件回调是用户实现用来响应多媒体模块中事件响应的,之后调用创建camera就可以创建一个操作camera资源的对象,使用这个对象可以启动预览、录像或抓拍取流,及设置取流的相关参数。
涉及仓
multimedia_frameworks_camera_lite
multimedia_frameworks_audio_lite
multimedia_frameworks_player_lite
multimedia_frameworks_recorder_lite
multimedia_hals_camera_lite
multimedia_interfaces_kits_recorder_lite
multimedia_interfaces_kits_audio_lite
multimedia_interfaces_kits_camera_lite
multimedia_interfaces_kits_player_lite
multimedia_services_media_lite