Android主流开源视频播放器对比

播放器/对比维度 库大小 年限 热度(git star) issues数 开发组织 适配版本
ijkplayer lite(4M),all(8.2M) 6年 23647+ 2226+ bilibili android2.3以上
Exoplayer lite(1.7M),all(2M) 5年 13273+ 337+ google 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

猜你喜欢

转载自blog.csdn.net/aa642531/article/details/93230076