VideoPlayer
Info
这是一个视频播放器,又不仅仅是一个播放器。它不仅能观看本地视频,还能看斗鱼直播, 能看央视和各大地方卫士,能看美剧和电影。许多功能正在紧张的开发中。。。敬请期待
参考
- iToutiao相关设计也实现
- 影视天地(Android 客户端),涵盖电影、电视剧、综艺节目、动漫、游戏五大类别的资源。整合两大资源搜索引擎,连接互联网千万数量级的资源库。支持视频资源在线播放、边下边播,不限速下载,不等待播放
- abigfishtv ios 大鱼电视直播 基于ijkplayer的播放器 700多个电视台 包括央视,各地方台,卫视,熊猫直播,社会化分享,登陆,仿微博等 (支持iphonex)
- 各种视频播放所需要的功能集
- 弹弹play 概念版,弹弹play系列应用安卓平台上的实现,是一个提供了视频播放(本地+局域网)和弹幕加载(在线+本地)功能的本地播放器
- 后期项目怎么优化
- QSVideoPlayer
- 支持软硬解码
- 其他的videoplayer: 1, 2, 3, 4, 5, 6, 7
功能简介
- 切换播放器: 默认播放器(基于android自带的MediaPlayer), 基于ijkplayer的播放器
[Bug]进度条可以预览视频(该功能有bug): 实现方法比较另类, 用Glide加载, 某些格式的视频需要能解码的库; 窗口暂时不能移动[Bug]斗鱼直播源暂时不会逆向获得, 故使用了一个官方赛事MSI 4000分辨率的一个源替代来演示
依赖框架和技术
MVP, retrofit2, rxjava2
实现简介
- MainActivity:
- DefaultPlayActivity: 使用handler作为异步机制, 使用android自带的视频库播放视频;
斗鱼直播源的获取(未实现)
Note: @2019年6月5日17:33:56之前: 手动方式有效,python方式无效,反编译不会
斗鱼官方api
手动获取
斗鱼原先提供的v1可以直接获取直播地址的api已经失效,暂时无法获取地址。Demo中使用了一个24h直播间https://www.douyu.com/3346305,手动获取地址,来测试。 斗鱼直播源破解参考
具体破解步骤:
- 假设原直播源地址为
http://hlsa.douyucdn.cn/live/431935rYIJ0kKhQ4_550/playlist.m3u8?wsSecret=924a83c6700d9d802a7717f1068811f6&wsTime=1558565155&token=h5-douyu-0-431935-373ef2a3e162f552b55145ccdd4571a3&did=h5_did
- 直播源地址格式固定为
http://hlsa.douyucdn.cn/live/*_550/playlist/*
. - 替换hlsa为tx2play1, _550为普通清晰度,去除改为默认最高清晰度
- 最终结果
http://tx2play1.douyucdn.cn/live/431935rYIJ0kKhQ4.flv
python破解方式参考(失效)
反编译app获取地址
Todo
- todo: Fragment实现本地视频,和电视直播,斗鱼直播等功能
- 斗鱼更多游戏频道界面点击没有效果, 因为暂时无法解决fragment覆盖及销毁和逻辑的问题
- 实现沉浸式状态栏: 参考1 参考2
- 申请权限管理
- navitationdrawler添加切换player的菜单
- Recyclerview covered by BottomNavigationView
- Douyu界面,无法通过
GridLayoutManager.setPanSize()
设置第一行只有1列显示 - 电视频道
- 本地视频
- 该界面搜索: 搜索本地视频
- 参考小米视频: 实现最近播放记录功能(或者用videopage实现)