代码拉取完成,页面将自动刷新
AVCodec 部件示例 Sample,基于 API12 构建,提供视频播放和录制的功能。
媒体格式 | 封装格式 | 码流格式 |
---|---|---|
视频 | mp4 | 视频码流:H.264/H.265 |
视频 | mkv | 视频码流:H.264/H.265 |
视频 | mpeg-ts | 视频码流:H.264 |
封装格式 | 视频编解码类型 |
---|---|
mp4 | H.264/H.265 |
m4a | AVC(H.264) |
播放 | 特效 | 录制 | 录制 |
---|---|---|---|
弹出是否允许“videoCodecSample”访问图片与视频?点击“允许”
弹出是否允许“videoCodecSample”访问文件?点击“允许”
弹出是否允许“videoCodecSample”使用相机?点击“允许”
点击下方“开始录制”,录制一个视频文件或推送视频文件至storage/media/100/local/files/Docs下
点击播放按钮,选择文件
点击“录制”
点击“开始录制”
点击“停止录制”
仓目录结构如下:
video-codec-sample/entry/src/main/
├── cpp # Native层
│ ├── capbilities # 能力接口和实现
│ │ ├── include # 能力接口
│ │ ├── demuxer.cpp # 解封装实现
│ │ ├── muxer.cpp # 封装实现
│ │ ├── video_decoder.cpp # 解码实现
│ │ └── video_encoder.cpp # 编码实现
│ ├── common # 公共模块
│ │ ├── dfx # 日志
│ │ ├── sample_callback.cpp # 编解码回调实现
│ │ ├── sample_callback.h # 编解码回调定义
│ │ └── sample_info.h # 功能实现公共类
│ ├── render # 送显模块接口和实现
│ │ ├── include # 送显模块接口
│ │ ├── egl_core.cpp # 送显参数设置
│ │ ├── plugin_manager.cpp # 送显模块管理实现
│ │ └── plugin_render.cpp # 送显逻辑实现
│ ├── sample # Native层
│ │ ├── player # Native层播放接口和实现
│ │ │ ├── Player.cpp # Native层播放功能调用逻辑的实现
│ │ │ ├── Player.h # Native层播放功能调用逻辑的接口
│ │ │ ├── PlayerNative.cpp # Native层 播放的入口
│ │ │ └── PlayerNative.h #
│ │ └── recorder # Native层录制接口和实现
│ │ ├── Recorder.cpp # Native层录制功能调用逻辑的实现
│ │ ├── Recorder.h # Native层录制功能调用逻辑的接口
│ │ ├── RecorderNative.cpp # Native层 录制的入口
│ │ └── RecorderNative.h #
│ ├── types # Native层暴露上来的接口
│ │ ├── libplayer # 播放模块暴露给UI层的接口
│ │ └── librecorder # 录制模块暴露给UI层的接口
│ └── CMakeLists.txt # 编译入口
├── ets # UI层
│ ├── common # 公共模块
│ │ └──utils # 共用的工具类
│ │ ├── DateTimeUtils.ets # 获取当前时间
│ │ ├── Logger.ts # 日志工具
│ │ └── SaveAsset.ets # 选取文件保持位置
│ ├── entryability # 应用的入口
│ │ └── EntryAbility.ts # 申请权限弹窗实现
│ ├── pages # EntryAbility 包含的页面
│ │ └── Index.ets # 首页/播放页面
│ └── sample # sample
│ └── recorder # 录制
│ └── Recorder.ets # 录制页面
├── resources # 用于存放应用所用到的资源文件
│ ├── base # 该目录下的资源文件会被赋予唯一的ID
│ │ ├── element # 用于存放字体和颜色
│ │ ├── media # 用于存放图片
│ │ └── profile # 应用入口首页
│ ├── en_US # 设备语言是美式英文时,优先匹配此目录下资源
│ └── zh_CN # 设备语言是简体中文时,优先匹配此目录下资源
└── module.json5 # 模块配置信息
参考开发者文档,以下是补充:
参考开发者文档,以下是补充:
不涉及。
1.本示例仅支持标准系统上运行;
2.本示例仅支持 API12 及以上版本SDK,SDK版本号(API Version 12 Release),镜像版本号(5.0 Release);
3.本示例需要使用DevEco Studio 5.0 才可编译运行。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。