本来不想写的,但是刚好今天还有点时间,就分享一些我最近封装播放器的一些心得吧,希望能让小伙伴们少走一些弯路
一. 封装播放器
大家首先想到的肯定是使用苹果自带的AVPlayer来封装一个就可以了,我也是这样想的也是这样做的,好处是
- 苹果的亲儿子,使用非常简单易用,提供的各种各样接口,能让我们节省好多时间
- 相对来说流畅度较高(个人见解),等等
测试出来的问题,
- 不支持播放flv格式,
- 部分支持播放mp4格式,(视频制作那边导出视频时选择<逐行扫描>就支持,如果选择另一个选项就有声音无画面,具体的选项名字想不起来了)
而且这两个问题,只能我妥协,因为我们视频库里面类似的文件太多了,人工修改是不可能的.
二. 重新封装改用ijkplayer
具体的打包ijkplayer包的方法之前写过了,在这里就不写了
ijkplayer提供了三个播放器,这三个播放器都能解决我们的问题
- IJKMPMoviePlayerController
- IJKFFMoviePlayerController(直播拉流)
- IJKAVMoviePlayerController
如果有拉流需求的话就使用IJKFFMoviePlayerController
播放器就可以了,这个播放器也支持播放普通的视频文件,然后直播的话做一下相关控件的设置就完工了,
拓展
这里简单介绍一下直播源,直播源目前有三种:
-
RTMP协议直播源
香港卫视:rtmp://live.hkstv.hk.lxdns.com/live/hks
-
RTSP协议直播源
珠海过澳门大厅摄像头监控:(直播源已失效,展示格式)
rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp
-
HTTP协议直播源(苹果支持该协议)
CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8
建议:如果项目中使用的是HTTP协议直播源和普通的视频播放的话,使用苹果自带的API,如果跟我一样视频库格式多的话,建议使用ijkplayer
网友评论