android 视频直播

一、直播原理

直播本质是实时推送/拉取过来音视频数据

二、相关协议

直播协议主要分为三种:RTMP协议、FLV、HLS。(视频直播源有效性测试工具:VLC,这是一个开源的跨平台多媒体直播器)

(1)RTMP

一个互联网TCP/IP五层体系结构中应用层协议,可以用来推送又可以直播,基本单元称为消息,可以查分为更小的单元:消息块。

(2)FLV

FLV协议是在大块的视频和音频头部加入一些标志性信息,在延迟表现和大规模并发方面很成熟,适合手机端APP直播。

(3)HLS

苹果推出的解决方案,将视频分为5-10秒的视频小分片,然后用m3u8索引表进行管理;HLS在IPHONE和大部分Android手机浏览器的支持非常给力,常用于QQ和朋友圈的URL分享。

三、M3U8

m3u8文件是一个索引文件,打开它时,根据里面的索引找到对应的音视频网络地址进行播放。

优点:主要是可以做多码率的适配,根据网络带宽,客户端会选择一个适合自己码率的文件进行播放。

四、播放框架

Vitamio视频播放框架,支持播放主流格式的音视频、网络视频流(http/rtsp/mms);

使用流程:下载SDK→拷贝so文件到案例工程jniLibs→加入权限→编译→引用VideoView→初始化Vitamio;

五、示例

下载依赖,下载地址:https://download.csdn.net/download/u011897782/10507591

案例下载地址:https://download.csdn.net/download/u011897782/10507684



猜你喜欢

转载自blog.csdn.net/u011897782/article/details/80854186