赞
踩
播放器/对比维度 | 库大小 | 年限 | 热度(git star) | issues数 | 开发组织 | 适配版本 |
---|---|---|---|---|---|---|
ijkplayer | lite(4M),all(8.2M) | 6年 | 23647+ | 2226+ | bilibili | android2.3以上 |
Exoplayer | lite(1.7M),all(2M) | 5年 | 13273+ | 337+ | android4.1以上 | |
GSYVideoPlayer | lite(5.7M), all(10.2M) | 3年 | 10447+ | 18+ | 个人 | android4.1以上 |
JiaoZiVideoPlayer | lite(4M),all(8.2M) | 4年 | 9215+ | 162+ | 团队 | android4.1以上 |
播放器/对比维度 | 优点 | 缺点 |
---|---|---|
ijkplayer | 几乎支持所有媒体格式,可自定义编译库并支持多架构,接入方便,支持弹幕,HTTPS,支持边下边播 | 编译麻烦,库体积大,网上搜到的坑挺多的,大屏上720P及以下视频模糊,锯齿严重,暂无解决方案 |
Exoplayer | 支持HTTPS,边下边播;支持DASH(自适应流),SmoothStream,HLS;支持定制和扩展;耗电量和原生Mediaplayer相比几乎一样;无缝地合并、连接和循环媒体 | 接入比较复杂;不适合只播放音频的场景;不是线程安全的,只能在主线程进行操作 |
GSYVideoPlayer | 对ijkplayer和Exoplayer的再封装,拥有上述播放器的优缺点,可以选择不同的引擎 | |
JiaoZiVideoPlayer | 对ijkplayer的封装,优缺点同源 | |
Mediaplayer | google自带,高度封装,使用很简单 | 只支持少量格式,扩展性差 |
市面上热度最高的开源播放器就是ijkplayer和Exoplayer,其他大多数是在它们的基础上进行二次封装。
播放器/对比维度 | 视频支持的格式 | 支持的网络协议 |
---|---|---|
ijkplayer | 几乎支持所有媒体格式,详情可看:https://ffmpeg.org/general.html | sctp,concat,ftp,lcecast,rtmp,rtp,crypto,HTTP/HTTPS |
Exoplayer | m3u8,mp4,3gp,mkv,webm,Matroska,Ogg,WAV,MPEG-TS,MPEG-PS,FLV,AAC,Flac,AMR | RTMP,RTSP,HTTP/HTTPS(协议这块貌似没在官方文档说到) |
Mediaplayer | mp4,3gp,mkv,webm | RTSP (RTP, SDP),HTTP/HTTPS顺序流,实时流(Android3.1以上) |
Google的Exoplayer和系统的Mediaplayer耗电量对比:
2019/9/8更新:
1.Exoplayer占用的内存会比MediaPlayer大,在电视播放一些1080P的视频时有出现锯齿的现象;
2.Exoplayer 在github的issue大多是关了的,google要求提issue必须按照他们的模板,这个有点坑。
3.exoplayer+textureView在一些低端机和盒子上会莫名突然黑屏,流程还在跑,还有声音,但是画面都是黑的。
Google官方文档:
https://developer.android.google.cn/guide/topics/media/media-formats.html
ijkplayer坑:
https://www.jianshu.com/p/220b00d00deb
https://blog.csdn.net/shareus/article/details/78585260
https://www.jianshu.com/p/220b00d00deb
ExoPlayer:
https://blog.csdn.net/qq_15602635/article/details/83271349
官方文档:https://exoplayer.dev/supported-formats.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。