Ios-视频直播-知识点汇总-持续更新

最近公司要求做视频直播,之前工作几年,视频一直都是弱项,没怎么接触过,现在正好有机会深入的去了解一下,记录一些遇到的坑和需要用到的东西.

~公司要求,用HLS协议,要求可以播放m3u8格式的,当时一听一脸懵逼,什么鬼

~查询的过程中,参考了很多同行的博客,有很多知识点都很分散,也有很多Demo,第三方SDK,下载不能用等等,再此汇总一下,方便大家参考



知识点:

下面的知识点还有术语,在查询文档的过程中,可能会经常遇到

M3U8:可以做多码率的适配,根据网络带宽,客户端会选择一个适合自己码率的文件进行播放,保证视频流的流畅。

1.传输协议:

HLS:HTTP Live Streaming是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。服务器要求低,因为涉及到切片,延时会比较大,需要了解TS流

RTSP:摄像头功能

RTMP:看下它与流媒体服务器交互的过程,RTMP协议的默认端口是1935,采用TCP协议。并且需要了解FLV的封装格式

RTP与RTCP等


2.视频推流与视频拉流工作过程解析

视频推流端:就是将采集到的音频,视频数据通过流媒体协议发送到流媒体服务器


2.1 采集音视频数据

iOS平台上采集音视频数据,需要使用AVFoundation.Framework框架,从captureSession会话的回调中获取音频,视频数据


2.2 硬编码,软编码音视频数据

软编码就是利用CPU资源来压缩音视频数据,硬编码与之相反。

软编码的话,现在广泛采用FFmpeg库结合编码库来实现,FFmpeg+X624来编码视频数据YUV/RGB输出H264数据,

FFmpeg+fdk_aac来编码音频数据PCM输出AAC数据。


2.3 根据所选流媒体协议封包音视频数据将音频,视频打包成packet


2.4 与服务器交互发送封包数据

根据所选流媒体协议,发送相应指令连接服务器,连接服务器成功后,就可以发送packet数据了


3.拉流

拉流,就是从流媒体服务器获取音频,视频数据


3.1解析协议

播放器端根据URL解析所用的流媒体协议(RTMP,HLS)


3.2解封装

解封装,就是demux的过程,从容器格式(FLV,TS)中,分离出音视频数据


3.3解码

解码,就是把获取到的数据解压缩,恢复成原始数据。解码就是将H264变成YUV,AAC变成PCM。

解码可以使用软解码,硬解码。

软解码就是利用CPU资源去解压缩数据,采用的方式是FFmpeg解码。

硬解码,对于iOS平台来说,可以使用VideoToolbox.Framework(该框架只能在iOS 8.0及以上系统使用)

硬解码视频数据


3.4 渲染数据

采用OpenGL渲染YUV数据,呈现视频画面。将PCM送入设备的硬件资源播放,产生声音。

iOS播放流式音频,使用Audio Queue 的方式,即,利用AudioToolbox.Framework 框架


上面就是一些简单的知识点,汇总了一些,现在给大家推荐一些,DEMO和SDK,供大家参考

先说第三方SDK:

1.融云,http://www.rongcloud.cn/live

下载下来好用,调用也很简单,集成很快,就是有点贵,要收费的哦,界面类似于,市面上大部分直播app,竖屏,有聊天室,可以送礼物等,不过不符合公司需求,pass


2.暴风云直播, http://www.baofengcloud.com/apisdk/sdk/live/iossdk.html

不好用,大家可以去试试


3.网易云直播,http://dev.netease.im/docs?doc=devfunc_LiveStreaming

好像是收费的,价格还不便宜,一般公司可能也不会用,功能很强大,不符合需求,pass


4.腾讯直播,https://www.qcloud.com/solution/video.html

同样收费,简单的看了一下,功能很强大,不过还是不符合需求


剩下的SDK还有非常多,就不依依介绍了,更多资料复制下面的网站查看,有大神总结的很到位了

http://www.ccidnet.com/2016/0606/10143020.shtml


Demo:

虽然市面上的SDK很多,不过还是没有特别符合需求的,所以就只能参考大神写的Demo了

下面都是每个demo,都是经测试可以用的,不过注意,不是直播,大家可以参考参考原理,找自己需要的东西,替换url进行测试

1.http://code.cocoachina.com/view/129748

2.http://code.cocoachina.com/view/128253

两个都是基于AVplayer写的

3.http://code.cocoachina.com/view/128343 

基于MediaPlayer写的 


还有很多就不举例,以上这3个demo,都是很轻量级的,在她们的基础上稍作修改就可以用了.

好坏就不做评价了,大家自己体会

另外说一句,如果要做功能很复杂的直播,最好用SDK


常用直播源

凤凰中文,http://zv.3gv.ifeng.com/zhongwen800k.m3u8

香港卫视,http://live.hkstv.hk.lxdns.com/live/hks/playlist.m3u8

如果还想要其他的网站:直播源大全


如果想了解更多的m3u8的资料:

http://blog.csdn.net/langeldep/article/details/8603045


iOS直播类App开发流程分解:

http://blog.sina.com.cn/s/blog_aa7beba30102w8ws.html



以上内容,持续更新中,如有写错的地方,请指正,大家一起进步

目前正在搭建框架中~~~~~~~~~~~~~~~~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容