专业 靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > 移动APP基于HLS直播技术详解!

移动APP基于HLS直播技术详解!

2017-07-13 09:57:03

HLS介绍

HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。

HLS点播,将媒体文件进行分段,边播放,边下载。

注意:分段非常小。

浅谈移动直播技术

HLS(点播)工作原理

把整个媒体流分成一个个小的基于HTTP的文件。

当媒体流正在播放时,客户端可以选择从不同的备用源中以不同的速率下载分段文件,允许流媒体会话适应不同的数据速率。

在开始一个流媒体会话时,客户端会下载一个包含元数据的M3U8描述文件,用于寻找可用的媒体文件(ts)

由此可见:

HLS传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。

什么是M3U8文件?

用文本方式对媒体文件进行描述,由一系列标签组成。

#EXTM3U --每个M3U8文件第一行必须是这个tag

#EXT-X-TARGETDURATION:5 --指定最大的媒体段时间长度(秒)

#EXTINF:5, --描述单个媒体文件的长度

./0.ts -- 媒体文件

#EXTINF:5,

./1.ts

什么是ts文件?

ts文件为媒体传输流文件

l 视频编码主要格式h264

l 音频为acc/MP3。

ts文件分为三层:

es层 Elementary Stream.

ts层Transport Stream、

pes层 Packet Elemental Stream、

es层就是音视频数据,

pes层是在音视频数据上加了时间戳等对数据帧的说明信息,

ts层就是在pes层加入数据流的识别和传输必须的信息

浅谈移动直播技术

h.264视频

给视频数据加上一个nalu(Network Abstraction Layer unit网络抽象层单元)

Nalu:

包括nalu header和nalu type,

nalu header:固定为0x00000001(帧开始)或0x000001(帧中)

nalu type:决定了后面的h.264数据内容

h.264视频生成原理:

在生成es层数据时,pes头和es数据之间要加入一个(h.264格式的数据)网络抽象层单元

比如:

浅谈移动直播技术

直播工作原理:

在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式)

而客户端则不断的下载并播放这些小文件,

服务器端会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。

由此可见, HLS是以点播的技术方式来实现直播。

浅谈移动直播技术

要实现直播,需要实现以下技术关键点

采集视频源和音频源的数据

对原始数据进行H264编码和AAC编码

视频和音频数据封装为MPEG-TS包

HLS分段生成策略及m3u8索引文件

使用HLS协议传输优缺点:

优点:

由于数据通过HTTP协议传输,由于是分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。

缺点:

由于HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议(RTMP协议、RTSP协议、MMS协议)。

 

关于:中科研拓

深圳市中科研拓科技有限公司专注提供软件+硬件结合系统解决方案定制开发服务,其中包括:软件外包软件开发软件定制、硬件开发、硬件定制、智能硬件开发、物联网项目等开发外包服务,通过IT技术实现创造客户和社会的价值,成为优秀的软件公司,通过客户需求导向、开放式创新、卓越运营管理等战略的实施,全面打造公司的核心竞争力。优秀软件外包公司、软件开发公司,联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com


  上一篇   [返回首页] [打印] [返回上页]   下一篇