Android 视频直播开发
直播过程 : 录制音视频–>编码–>流媒体传输–>服务器—>流媒体传输到其他app–>解码–>播放
几个重要的环节
- 录制音视频 AudioRecord/MediaRecord
- 视频剪辑 mp4parser 或ffmpeg
- 音视频编码 aac&h264
- 上传大文件 网络框架,进度监听,断点续传
- 流媒体传输 流媒体传输协议rtmp rtsp hls
- 音视频解码 aac&h264
- 渲染播放 MediaPlayer
ijkplayer的引入&介绍&使用
- ijkplayer是bilibili开源的音视频编解码库,对android,ios进行和很好的抽取封装,易于编译使用
- 网易云音乐,以及YY等音视频app.发现网易云音乐,斗鱼用的ijkplayer,
- ffmpeg是一个非常强大的音视频编解码开源库,目前市场上流行的播放器,大部分都是基于此开发的
ijkplayer的导入&编译&使用
如果不需要对源码进行修改,在app的build.gradle中加入如下依赖即可
dependencies {
# required, enough for most devices.
compile 'tv.danmaku.ijk.media:ijkplayer-java:0.4.5.1'
compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.4.5.1'
# Other ABIs: optional
compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.4.5.1'
compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.4.5.1'
compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.4.5.1'
# ExoPlayer as IMediaPlayer: optional, experimental
compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.4.5.1'
}