About直播

苹果官方对于视频直播服务提输了HLS解决方案,主要只用于

1.iPhone,iPad,iPod touch以及Apple TV 进行流媒体的直播播放功能(MAC也适用).
2.不使用特殊的服务软件进行流媒体直播.
3.需要通过加密和坚定的视频点播服务.

互联网常用的视频技术

常用的流媒体传输协议主要有HTTP渐进下载和基于RTSP/RTP的实时流媒体协议,这两种基本上是完全不同的技术。

  • HTTP渐进式下载,就是标准的基于HTTP下移的文件下载技术,媒体流和控制流都是通过HTTP传送

互联网视频技术,除了HTTP传送技术之外,还有两个关键技术

  • 内容分片技术(segment):将一个大的影片文件分割成小的文件,这样便于实现边下载边播放和视频的直播。
  • 自适应流媒体技术:(adaptive bit rate,ABR): ABR可以根据网络传送能力、终端能力和服务器能力自动选择合适的视频码率,从而能够有效实现多网络和多终端的视频业务,提升用户体验。

目前互联网公司提供PC视频和手机视频主要采用HTTP渐进下载技术,而电信和有线电视提供IPTV业务,采用RTSP/RTP技术。采用HTTP协议的好处在于,HTTP应用广泛,标准化和开放性高,很多免费和开元的技术,成本低廉。

HLS技术要点

  • HTTP Live Streaming(HLS)是苹果公司实现的基于HTTP的流媒体传输协议,可以实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(iPhone/iPad)提供给音视频直播和点播方案.HLS点播,基本上就是常见的分段式HTTP点播,不同在于,它的分段非常小.要实现HLS点播,重点在于对媒体文件分段.

  • HLS直播技术,直播的是从客户端获取的并不是一个完整的数据流.HLS协议在服务器端将直播数据流存储为连续的,很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播.可以认为,HLS的直播技术是以点播的方式实现.由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,已适应不同宽带条件下的播放.不过HLS的这种技术特点,决定了它的延时一般总会高于普通的流媒体直播协议.

  • 实现直播,还有完成以下的技术关键点

1.采集视频源和音频源的数据.
2.对原始数据进行H264编码和AAC编码
3.视频和音频数据封装为MPEG-TS包
4.HTTP传输协议


HLS是如何工作的?

实现原理(如上图)

视频采集 ->编码器 Coding-> 切片和封装 Encapsulation -> 普通 web 服务(存放索引文件和视频文件以及提供HTTP服务) -> 客户端


编码器首先将摄像机实时采集的视频、音频数据压缩编码为符合特定标准的音视频基本流,可也可以拿编码完的文件,这里一定要使用H.264视频和AAC音频,因为发明这个是苹果公司,只支持这个。然后将编码完的视频封装成MPEG-2(MPEG 2TS,MPEG 2PS),之所以使用这个是因为音频和视频会交织在一起,也会有关键帧来让视频可以直接播放。

流切片就是将完整的MPEG 2文件分割成很多ts的文件,分割过程大多按照时间来切,苹果HLS一般按照10秒来切割,如果高清等码流高可以5秒间隔。比如将1个1小时大的推送文件按照10秒间隔切割成360个小的ts文件,这时候,把一个影片分割成360个小文件,需要说明分片的规则、小文件的名称、相关之间的关系等等,这个描述文件成为索引文件(图一中的index file),索引文件个视频文件,二者缺一不可。当每10s多一个ts文件的时候,索引很会跟着修改。


服务器端

服务器可以采用硬件编码和软件编码两种形式,其功能都是按照上文描述的规则对现有的媒体文件进行管理.软件切片工具通常会使用Apple公司提供的工具或者第三方的集成工具.

媒体编码

媒体编码获取道德音频视频设饿背的实时信号,将其编码后压缩英语传输.贰佰你妈格式必须配置成客户端所支持的格式,比如H.264视频和HE-ACC音频.当前,支持用于视频的MPEG -2传输流和纯音频MPEG基本流.编码器通过本地网络将MPEG -2传输流分发出去,送到切片流器哪里.

流切片器

流切片器(通常是一个软件),会通过本地网络从上面的媒体编码器中读取数据,然后将这些数据分割成相等时间间隔的小媒体文件.虽然每一个片段都是一个单独的文件,但是他们的来源是一个连续的流,切完照样可以无缝重构回去.

切片器在切片的同时会创建一个索引文件,索引文件会包含这些切片文件的索引.每当一个切片文件生成之后,索引文件也会进行更新.索引用于追踪切片文件的有效性和定位切片文件的位置.切片器同时也可以对你的媒体片段进行加密并且创建一个密钥文件作为整个过程的一部分.

索引文件(PlayLists)
通常由切片器附带生成,保存为.M3U8格式,.M3U8一般用于MP3音频的索引文件.

文件切片器(相对于上面的流切片器)

如果已经有了编码后的文件,可以使用文件切片器,通过踏碎编码后的媒体文件进行MPEG -2流的封装并且将他们分割成等长的小片段.切片器允许使用已经存在的音频库用于HLS服务,它和流切片器功能相似,但是处理的源从流转换为文件.

媒体片段文件

媒体片段文件是由切割器生成的,机遇编码后的媒体源,并且是由一系列的.ts格式的文件组成的.


分布式部分

分布式系统是一个网络服务或者一个网络缓存系统,用于通过HTTP向客户发送媒体文件和索引文件.不用自定义模块发送内容,通常仅仅需要很简单的网络配置就可以使用,这种配置一般就是指.M3U8.ts文件的MIME类型.


客户端部分

客户端开始时会去抓取索引文件(.m3u8``.m3u),其中用URL来标记不同的流.


第三方SDK
1.网易云信
2.ijkplayer
3.七牛


参考资料
HTTP Live Streaming
iOS 第三方之流媒体
IOS手机直播Demo技术简介
HTTP Live Streaming直播(iOS直播)技术分析与实现

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

推荐阅读更多精彩内容