Android mainstream open source video player comparison

Player/Compare Dimensions library size number of years Heat (git star) number of issues development organization Adapted version
ijkplayer lite(4M),all(8.2M) 6 years 23647+ 2226+ biliable android2.3 or higher
Exoplayer lite(1.7M),all(2M) 5 years 13273+ 337+ google android4.1 above
GSYVideoPlayer lite(5.7M), all(10.2M) 3 years 10447+ 18+ personal android4.1 above
JiaoZiVideoPlayer lite(4M),all(8.2M) 4 years 9215+ 162+ team android4.1 above
Player/Compare Dimensions advantage shortcoming
ijkplayer Supports almost all media formats, can customize the compilation library and supports multiple architectures, easy access, supports barrage, HTTPS, and supports side-by-side broadcasting Compilation is troublesome, the library is large, and there are many pitfalls found on the Internet. On the large screen, the video of 720P and below is blurry and the jaggedness is serious. There is no solution for the time being.
Exoplayer Support HTTPS, side broadcast; support DASH (adaptive streaming), SmoothStream, HLS; support customization and expansion; power consumption is almost the same as that of native Mediaplayer; seamlessly merge, connect and loop media The access is more complicated; it is not suitable for scenarios where only audio is played; it is not thread-safe and can only be operated on the main thread
GSYVideoPlayer The repackaging of ijkplayer and Exoplayer has the advantages and disadvantages of the above players, and you can choose different engines
JiaoZiVideoPlayer The packaging of ijkplayer has the same advantages and disadvantages
media player Google comes with it, highly encapsulated, and easy to use Only supports a small number of formats, poor scalability

The most popular open source players on the market are ijkplayer and Exoplayer, and most of the others are based on them for secondary packaging.

Player/Compare Dimensions Video Supported Formats Supported Network Protocols
ijkplayer Almost all media formats are supported, see for details: 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 (the protocol does not seem to be mentioned in the official document)
media player mp4,3gp,mkv,webm RTSP (RTP, SDP), HTTP/HTTPS sequential stream, real-time stream (Android3.1 and above)

Comparison of power consumption between Google's Exoplayer and the system's Mediaplayer:
picture
2019/9/8 update:
1. Exoplayer occupies more memory than MediaPlayer, and there is a jagged phenomenon when playing some 1080P videos on the TV;
2. Exoplayer is on github Most of the issues are closed, and Google requires that the issue must follow their template, which is a bit of a pitfall.
3. exoplayer+textureView on some low-end devices and boxes, the screen will be inexplicably black suddenly, the process is still running, and there is sound, but the screen is all black.

Google official documentation:
https://developer.android.google.cn/guide/topics/media/media-formats.html

ijkplayer pit:
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
Official document: https://exoplayer.dev/supported-formats.html

Guess you like

Origin blog.csdn.net/aa642531/article/details/93230076