# QPlayer2-Android **Repository Path**: ader2020/QPlayer2-Android ## Basic Information - **Project Name**: QPlayer2-Android - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-17 - **Last Updated**: 2025-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QPlayer2 Qplayer2是一款跨平台的播放器SDK,除了基础的播放器能力外,更致力于各种应用场景的对接。SDK 包含2个库: 1. qplayer2-core:提供播放器的核心能力。 2. qplayer2-ext:一个基于应用层框架组件,更好的实现播放器场景下的UI/手势/场景切换等。 ### 支持的平台 Platform | Build Status -------- | ------------ Android | Latest Version :1.5.0 IOS | https://github.com/pili-engineering/QPlayer2-IOS.git HarmonyOS NEXT | https://github.com/pili-engineering/QPlayer2-HarmonyOS-NEXT Mac | 敬请期待 Linux | 敬请期待 ### qplayer2-core 功能列表 | 能力 | 亮点 | 备注 | | --------------------- | ------------------------------------------------------------ | -------------------------------- | | 媒体资源组成形式 | 一个媒体资源支持多url,比如一个音频url和一个视频url组成一个媒体资源,提升拉流速度和解封装速度 | | | 播放协议及视频类型 | http/https/rtmp/srt flv/m3u8/mp4/flac/wav(PCM_S24LE) | 新增协议和视频类型请联系技术支持 | | 解码 | 除了软解/硬解/自动解码方式外 新增混解方式,提升硬解首帧速度 | | | 色盲模式 | 能在业务场景中更好的服务视觉有障碍的客户 | | | 缩放/旋转/镜像 | 方便用户对视频画面进行一些自定义操作 | | | 屏幕显示方式 | 自动/铺满/拉伸/16:9/4:3 | | | 倍速 | 变速不变调 | | | 清晰度切换 | 通用清晰度切换方案,无缝切换,即使媒体资源gop不对齐 | | | seek | 支持精准/关键帧 seek 两种方式 | | | 指定起播位置 | 从指定位置开始播放 | | | 起播方式 | 起播播放/起播暂停 设置起播暂停时,起播后首帧渲染出来就停止画面 | | | 预加载 | 提前加载点播视频,获得更好的首帧体验 | | | SEI数据回调 | 所有解码方式都支持 | | | 纯音频播放/纯视频播放 | 播放只有单音频流或者只有单视频流的视频 | | | APM埋点上报 | 支持性能数据上报到平台,并通过邮件定时发送全盘性能报告。 | | | VR视频 | 支持Equirect-Angular类型的vr视频播放 | | | 截图 | 自动转换成jpeg格式,可以展示在UI上,也可存放到相册 | | | 静音 | 针对视频的静音,不影响系统声音 | | | 字幕 | 支持srt字幕文件加载并根据时间回调当前时间的文案给上层 | | | DRM | 支持HLS 私有加密/通用加密 2种方式,支持 MP4 CENC-AES-CTR 加密,支持七牛私有 MP4 加密方式 | | | 音视频数据上抛 | 适用于业务层需要获取当前播放的音视频数据的场景(比如推流等) | | | 本地重建时间轴 | 以真实的流逝时间为准,避免某些视频时间轴错乱导致播放过程中时间进度回调数值异常 | | ### qplayer2-ext 能力介绍 | 能力 | 亮点 | 备注 | | ------------------ | ------------------------------------------------------------ | ---- | | 场景切换定制 | 当一个播放器有直播点播场景时,且2个场景的业务逻辑完全不同时,通过场景定制,能更丝滑的在2套逻辑中切换 | | | 播放面板定制 | 统一控制面板的显示隐藏,不同的视频场景中 可快速切换面板 | | | 播放器上层浮窗定制 | 拥有统一的浮窗展示隐藏动画和布局规范,更快的实现各类弹窗 | | | 播放器上层手势 | 支持多种手势判定回调,上层只需关心业务逻辑 | | | 选集控制 | 多集场景(电视剧综艺等)通过选集控制定制播放顺序逻辑 | | ### Android ##### 引入依赖 ```groovy implementation("com.qiniu:qplayer2-core:1.5.0") implementation("com.qiniu:qplayer2-ext:1.5.0") //如果无需qplayer2-ext能力可以不引入 不影响core的使用 ``` ##### 鉴权 | 权限 | 说明 | 鉴权失败结果 | | ----- | --------------- | ------------------------------------------------------------ | | Base | 基础播放能力 | 播放器进入error状态 | | VR | 播放VR视频 | 播放vr视频,起播后播放器进入error状态 | | SEI | SEI数据回调 | 开启sei 回调,且视频有sei数据。能正常播放视频,SEI数据不回调,同时抛出鉴权失败错误码 | | SRT | srt协议视频 | 播放srt链接 播放器进入error状态 | | BLIND | 色盲滤镜 | 开启色盲滤镜,视频正常播放,滤镜不生效。 | | APM | APM性能数据上报 | 关闭埋点上报,不影响播放器核心功能使用。 | 如需使用该套sdk到其他工程中,请联系我们的技术支持开通帐号和权限。 ##### API文档 请查阅document目录下的api文档 ##### 接入文档 https://developer.qiniu.com/pili/12214/qplayer2-android ##### Demo介绍 1. demo工程内的 长视频播放页 是基于qplayer2-ext + qplayer2-core来实现的 2. demo工程内的 短视频视频播放页 是仅基于qplayer2-core来实现的 3. 体验demo下载: #### 技术支持与交流 产品及服务咨询:400-808-9176 问题反馈:如有问题请提交issue