媒体子系统

    本次开源基于本仓代码信息将相关设备配置文件放入到test\lite\devini内,用户使用时将配置文件放入到开发板/data目录,通过该配置文件可以方便去适配sensor及分辨率帧率等能力。

    多媒体子系统框架

    多媒体子系统系统业务流程图

    媒体子系统 - 图2

    如上图,多媒体包括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