# VideoCodec
**Repository Path**: scenario-samples/video-codec
## Basic Information
- **Project Name**: VideoCodec
- **Description**: 【鸿蒙 Harmony Next 示例 代码】本示例基于picker模块,使用PhotoViewPicker方法拉起图库选择视频文件,将视频文件传递到native侧使用Demuxer解封装器进行解封装,再使用OH_VideoDecoder进行解码(surface模式)送显播放
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-02-27
- **Last Updated**: 2025-04-17
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 基于VideoCodec的音视频解码及二次处理播放
## 介绍
本示例基于picker模块,使用PhotoViewPicker方法拉起图库选择视频文件,将视频文件传递到native侧使用Demuxer解封装器进行解封装,再使用OH_VideoDecoder进行解码(surface模式)送显播放。
## 效果预览

## 约束与限制
[解封装支持的文件格式](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/audio-video-demuxer-V5)
1. 本示例仅支持标准系统上运行,支持设备:华为手机。
2. DevEco Studio版本:DevEco Studio 5.0.0 Release及以上。
3. HarmonyOS SDK版本:HarmonyOS 5.0.0 Release SDK及以上。
## 使用说明
下载代码后,点击选择视频可以选择相册里的视频,然后点击播放进行视频的播放。
## 实现思路
1. 导入picker模块,拉起图库选择视频文件保存到自定义路径。
2. 将文件传递到native侧进行交互。
3. 使用Demuxer接口对文件进行解封装获取视频流数据。
4. 使用OH_VideoDecoder接口将视频数据解码,结合Xcomponent送显播放。
## 工程目录
```
entry/src/main/
|---cpp
| |---decoder
| | |---VideoDecoder.cpp
| | |---VideoDecoder.h
| |---demuxer
| | |---Demuxer.cpp
| | |---Demuxer.h
| |---manager
| | |---plugin_manager.cpp
| | |---plugin_manager.h
| |---player
| | |---Player.cpp
| | |---Player.h
| |---render
| | |---plugin_render.cpp
| | |---plugin_render.h
| |---types
| | |---libplayer
| | | |---Index.d.ts
| | |---napi_player.cpp
| | |---sample_info.h
|---ets
| |---common
| | |---CommonConstants.ets
| |---entryability
| | |---EntryAbility.ets
| |---pages
| | |---Index.ets
```
## 参考文档
- [picker](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-picker-V5):提供拉起图库选择视频的功能接口。
- [Demuxer](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/audio-video-demuxer-V5):音视频解封装,用于获取视频等媒体帧数据。
- [OH_VideoDecoder](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/video-decoding-0000001822282761-V5):音视频解码,将视频数据解码后送显播放。
## ChangeLog
| 修改内容 | 时间 |
| :------------: | :------------: |
| 首版本 | 2024-10-12 |
| 优化及添加README | 2025-2-21 |
## 一份简单的问卷反馈
亲爱的Harmony Next开发者,您好!
为了协助您高效开发,提高鸿蒙场景化示例的质量,希望您在浏览或使用后抽空填写一份简单的问卷,我们将会收集您的宝贵意见进行优化:heart:
[:arrow_right: **点击此处填写问卷** ](https://wj.qq.com/s2/19042938/95ab/)