媒体编解码组件(含音视频编解码、封装、解封装等功能)
| 文件 | 最后提交记录 | 最后更新时间 |
|---|
| 修改部件架构图 Signed-off-by: zhanghongran <zhanghongran@huawei.com> | 3 年前 |
| 流媒体DFX打点 Signed-off-by: yu_qi0 <suyixin9@h-partners.com> | 7 个月前 |
| !7284 merge master into master 流媒体DFX打点 Created-by: yu_qi0 Commit-by: yu_qi0 Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue) ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:bundle exec xxx RAILS_ENV = production;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/multimedia_av_codec!7284 | 7 个月前 |
| !7284 merge master into master 流媒体DFX打点 Created-by: yu_qi0 Commit-by: yu_qi0 Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue) ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:bundle exec xxx RAILS_ENV = production;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/multimedia_av_codec!7284 | 7 个月前 |
| !7284 merge master into master 流媒体DFX打点 Created-by: yu_qi0 Commit-by: yu_qi0 Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue) ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:bundle exec xxx RAILS_ENV = production;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/multimedia_av_codec!7284 | 7 个月前 |
| Merge branch '1208hdr' of git@gitcode.com:yangjunhui10/multimedia_av_codec_develop.git into 'master' # Conflicts: # conflict .gitattributes | 8 个月前 |
| 【修改说明】 删除冗余gitignore信息 Signed-off-by: li-jianchao1993 <lijianchao9@huawei.com> | 2 年前 |
| Merge branch 'develop_test' of gitee.com:zjskpajs/av_codec into dev_av_muxer Signed-off-by: cailei24 <cailei24@huawei.com> | 3 年前 |
| Initial commit Signed-off-by: rchdlee <liyidong1@huawei.com> | 3 年前 |
| 修改OTA描述 Signed-off-by: limengfei <limengfei5@huawei.com> | 2 年前 |
| 修改readme Signed-off-by: zhanghongran <zhanghongran@huawei.com> | 3 年前 |
| edit readme Signed-off-by: rchdlee <liyidong1@huawei.com> | 3 年前 |
| 打点需求 Signed-off-by: jiayu2dai <gaoziyu@h-partners.com> | 8 个月前 |
| !7090 merge rm_demuxer_ut_fuzz into master add rm demuxer_UT Created-by: zhaona45 Commit-by: zhaona45 Merged-by: openharmony_ci Description: ### 一、内容说明(相关的Issue) https://gitcode.com/openharmony/multimedia_av_codec/issues/5512 ### 二、建议测试周期和提测地址 建议测试完成时间:xxxx.xx.xx 投产上线时间:xxxx.xx.xx 提测地址:CI环境/压测环境 测试账号: ### 三、变更内容 * 3.1 关联PR列表 * 3.2 数据库和部署说明 1. 常规更新 2. 重启unicorn 3. 重启sidekiq 4. 迁移任务:是否有迁移任务,没有写 "无" 5. rake脚本:bundle exec xxx RAILS_ENV = production;没有写 "无" * 3.4 其他技术优化内容(做了什么,变更了什么) - 重构了 xxxx 代码 - xxxx 算法优化 * 3.5 废弃通知(什么字段、方法弃用?) * 3.6 后向不兼容变更(是否有无法向后兼容的变更?) ### 四、研发自测点(自测哪些?冒烟用例全部自测?) 自测测试结论: ### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方) 检查点: | 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 | |------|------------|----------|---------------| | xxx | 否 | 需要 | 不需要 | | | | | | 接口测试: 性能测试: 并发测试: 其他: See merge request: openharmony/multimedia_av_codec!7090 | 8 个月前 |
| 【修改说明】modify hisysevent.yaml Signed-off-by: wangyanko <wangyongkai5@h-partners.com> | 8 个月前 |
av_codec部件
简介
av_codec部件为OpenHarmony系统提供了统一的音视频编解码、封装、解封装能力,使得应用能够直接调用系统提供的编解码、封装、解封装能力实现音视频的播放、录制、编码等功能。
av_codec部件提供了以下常用功能:
图 1 av_codec部件架构图

模块介绍
| 模块名称 |
功能 |
| 编解码 |
提供音视频编解码功能接口以及编解码能力查询功能接口。 |
| 解封装 |
提供音视频资源的加载、音视频轨分离和音视频数据读取的功能接口,读取的数据可使用解码器进行解码。 |
| 封装 |
提供将编码后的音视频数据写入媒体文件的功能接口。 |
| 编解码生命周期管理 |
用于服务端编解码功能的创建、销毁、实例管理等。 |
| 解封装生命周期管理 |
用于服务端解封装功能的创建、销毁、实例管理等。 |
| 封装生命周期管理 |
用于服务端封装功能的创建、销毁、实例管理等。 |
| 编解码能力列表 |
用于描述所有编解码器的详细信息,比如名字、mimetype、支持的分辨率等。 |
| 硬件编解码器 |
使用专用的编解码硬件进行编解码处理的编解码器,提供编解码处理功能。 |
| 软件编解码器 |
使用CPU进行编解码处理的编解码器,提供编解码处理功能。 |
| 解封装器 |
提供音视频资源的加载、音视频轨分离和音视频数据读取的功能。 |
| 封装器 |
提供将编码后的音视频数据写入媒体文件的功能。 |
| 硬件编解码器HDI |
提供硬件编解码器的抽象接口,通过该接口对服务层屏蔽不同的硬件编解码器,向服务层提供硬件编解码能力。 |
目录
仓目录结构如下:
/foundation/multimedia/av_codec # av_codec部件业务代码
├── BUILD.gn # 编译入口
├── bundle.json # 部件描述文件
├── frameworks # 部件无独立进程框架代码的实现
│ └── native # native c++实现
├── interfaces # 外部接口层
│ ├── inner_api # 系统内部件接口
│ └── kits # 应用接口
├── sa_profile # 部件配置
├── services # 服务实现代码
│ ├── dfx # dfx代码
│ ├── engine # 功能实现
│ │ ├── base # 功能基类
│ │ ├── codec # 编解码功能实现
│ │ ├── codeclist # 编解码能力查询功能实现
│ │ ├── common # 功能实现公共库
│ │ ├── demuxer # 解封装功能实现
│ │ ├── factory # 功能实现工厂库
│ │ ├── muxer # 封装功能实现
│ │ ├── plugin # 插件实现
│ │ └── source # 媒体资源读取工具功能实现
│ ├── etc # 部件进程配置
│ ├── include # 服务对外头文件
│ ├── services # 服务IPC实现
│ │ ├── codec # 编解码IPC实现
│ │ ├── codeclist # 编解码能力查询IPC实现
│ │ ├── common # 服务IPC实现公共库
│ │ ├── demuxer # 解封装IPC实现
│ │ ├── factory # 服务IPC实现工厂库
│ │ ├── muxer # 封装IPC实现
│ │ ├── sa_avcodec # 部件主进程IPC实现
│ │ └── source # 媒体资源读取工具IPC实现
│ └── utils # 服务实现通用资源
└── test # 测试代码
编译构建
编译32位ARM系统av_codec部件
./build.sh --product-name {product_name} --ccache --build-target av_codec
编译64位ARM系统av_codec部件
./build.sh --product-name {product_name} --ccache --target-cpu arm64 --build-target av_codec
{product_name}为当前支持的平台,比如rk3568。
说明
使用说明
使用说明参考开发指导中音视频编解码章节。
相关仓
媒体编解码组件(含音视频编解码、封装、解封装等功能)
定制我的领域