Skip to content
Shuyu Guo edited this page Oct 30, 2017 · 95 revisions

Welcome to GSYVideoPlayer(请多参考Demo)

该项目是基于IJKPlayer的播放器,目前支持:

状态 功能
支持 边播边缓存,使用了AndroidVideoCache
支持 其他协议和编码concat、rtsp、hls、rtmp、crypto、mpeg等。
支持 DEMO演示获取视频第一帧等实现。
支持 简单滤镜(马赛克、黑白、色彩过滤、高斯、模糊、模糊等等20多种)。
支持 GL效果动画,(xyz轴旋转,放大)。
支持 视频帧截图功能,视频生成gif功能
支持 视频播放效果(水印、画面多重播放等)
支持 列表播放;列表连续播放;重力旋转与手动旋转;视频本身rotation旋转属性。
支持 全屏切换动画效果;小窗口播放,可拖动。
支持 快播和慢播;网络视频加载速度。
支持 调整显示比例:默认、16:9、4:3、填充。
支持 播放时旋转画面角度(0,90,180,270);镜像旋转。
支持 暂停前后台切换不黑屏;调整不同清晰度的支持;无缝切换支持。
支持 Https;IJKPlayer和EXOPlayer切换。
支持 锁定/解锁全屏点击功能;进度条小窗口预览(测试)。
支持 全屏与非全屏两套布局切换;弹幕功能。
支持 没有任何操作控件的纯播放支持。
待支持 自带广告功能(目前需要自己实现)。

温馨提示

关于自定义和出现问题的请先看问题集锦、demo、issue。

多了解一些音视频的基础常识,对容器,音视频编码,ffmpeg先做一些了解,以及mediacodec等的不同。
尽量少出现为什么别的能播的问题哟。

播放器的可自定义还是挺高的,定制请参考demo,多看源码。现在的功能有些多,demo也在不断的更新。

一些新功能和项目结构也在不断的调整。

欢迎提出问题,谢谢。

项目介绍

2、Video相关

有了一些调整,后面将修改wiki说明。

说明
GSYTextureRenderView 画面渲染绘制相关层。【源码】
GSYVideoView 视频播放相关层。【源码】
GSYVideoControlView 控制与UI显示相关。【源码】
GSYBaseVideoPlayer 全屏和小屏幕相关处理层,最基础可基础对象类。【源码】
StandardGSYVideoPlayer 可以直接使用的标准播放器,标准使用例子,适合参考实现或基础【源码】
VideoAllCallBack 视频相关的回调接口【源码】
ListGSYVideoPlayer 继承StandardGSYVideoPlayer,添加连续播放一个视频列表的功能。【源码】
CustomGSYVideoPlayer 继承StandardGSYVideoPlayer,小窗口进度预览,测试版本。【源码】
LandLayoutVideo 继承CustomGSYVideoPlayer ,DEMO里演示全屏非全屏不同布局效果。【源码】
SampleVideo 继承StandardGSYVideoPlayer,DEMO演示清晰度切换,镜像,旋转等效果。【源码】
DanmakuVideoPlayer 继承StandardGSYVideoPlayer,DEMO演示弹幕集成效果。【源码】
NormalGSYVideoPlayer 继承StandardGSYVideoPlayer,使用图片播放按键和loading的播放器。【源码】
EmptyControlVideo 继承StandardGSYVideoPlayer,空播放UI的播放器。【源码】
SmartPickVideo 无缝切换的播放器。【源码】
SampleCoverVideo 内置封面的播放器。【源码】

3、Utils相关

说明
GSYVideoType 默认配置开关(显示比例,是否硬解码,切换播放器等)。【源码】
ListVideoUtil 单例列表播放器封装,封装了StandardGSYVideoPlayer ,对应 DEMO ListVideo2Activity,目前不再维护。
OrientationUtils 旋转工具类。【接口文档】
GSYVideoManager 视频管理器,实际上的单例播放器,全局暂停/播放接口,清理缓存,配种option,切换播放器,设置静音等。【接口文档】
Debuger log输出类
GSYVideoOptionBuilder 配置工具类【源码】

4、Demo相关

说明
PlayActivity 直接打开一个播放器作为全屏,不需要单独调用全屏功能。
ListVideoActivity 普通列表DEMO,滑出屏幕会被释放。
ListVideo2Activity ListVideoUtil的DEMO,滑出列表不会被释放。
RecyclerViewActivity 普通列表DEMO的RecyclerView。
RecyclerView2Activity ListVideoUtil的RecyclerView。
DetailPlayer 详情类型的DEMO,手机旋转\点击全屏等效果。
DetailListPlayer 详情类型的DEMO,播放一个列表,自动播放下一个,手机旋转\点击全屏等效果。
WebDetailActivity 嵌套WebView的详情类型DEMO,主要是滑动演示。
WebDetailActivity 嵌套WebView的详情类型DEMO,主要是滑动演示。
DanmkuVideoActivity 嵌套DanmakuVideoPlayer的DEMO,主要是弹幕功能。
DetailMoreTypeActivity 支持全屏与非全屏切换的清晰度,旋转,镜像等功能。
InputUrlDetailActivity 增加了自定义输入框输入url页面。
PlayEmptyControlActivity 没有任何ui的播放页面。
DetailControlActivity 增加一些特俗控制的播放页面。
PlayEmptyControlActivity 没有任何控制ui的播放器。
PlayPickActivity 无缝切换播放页面。
DetailFilterActivity 滤镜效果播放页面

其他

持续完善中。。。。。

Clone this wiki locally