Ijkplyer简介
本人在做网络摄像头的时候遇到的一个需求就是要做一个手机app能够实时看rtsp流传过来的视频,首先当然是用MediaPlayer去播放视频,结果是延时的要命,自己写一个播放器框架也是不实际的,只好上网找框架,发现了这个来源于B站的开源播放框架Ijkplyer。发现网上有许多前辈做过,于是今天总结一下这几天遇到的问题。
从源码可以看出 ijkplayer是一个基于FFmpeg封装的Android/iOS视频播放器。而FFmpeg不用说,能够解码,编码, 转码,复用,解复用,流,过滤器和播放大部分的视频格式。它提供了录制、转换以及流化音视频的完整解决方案。
Ijkplyer编译SO库
Android集成Ijkplyer的方法有两种:一种是直接在gradle里面直接设置引用。
dependencies {
# required, enough for most devices.
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.6.1'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.6.1'
# Other ABIs: optional
compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.6.1'
compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.6.1'
compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.6.1'
compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.6.1'
# ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.6.1'
}
其中版本号可以去看github上的具体分支号 https://github.com/Bilibili/ijkplayer
我没有测试使用过这种方法,所以就不误导大家了(PS:使用依赖包有些视频格式和音频格式它不支持