本发明专利技术公开了一种HLS在线转码方法及系统,所述方法包括:根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。本发明专利技术实施例的方案,能够实现将2.5M高码率HLS直播转换输出3路低码率(150kbps,300kbps,450kbps)的HLS直播,极大的提高了用户体验度。
【技术实现步骤摘要】
本专利技术涉及互联网
,特别涉及一种HLS在线转码方法及系统。
技术介绍
HLS(HTTP Live Streaming)是Apple(苹果)公司的动态码率自适应技术。主要用于PC(个人电脑)和Apple终端的音视频服务。包括一个M3U8的索引文件,TS媒体分片文件和ke加密串文件。常用的流媒体协议主要有HTTP渐进下载和基于RTSP/RTP的实时流媒体协议,这二种基本是完全不同的东西,目前比较方便又好用的是用HTTP渐进下载方法。在这个中Apple公司的HTTP Live Streaming是这个方面的代表。它最初是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的流.现在见到在桌面也有很多应用了,HTML5是直接支持这个。但是HLS协议的小切片方式会生成大量的文件,存储或处理这些文件会造成大量资源浪费。如果要实现数天的时移,索引量将会是个巨额数字,并明显影响请求速度。因此,HLS协议对存储I/O要求相当苛刻。对此,也有公司提出了非常好的解决方案。新型点播服务器系统,独创了内存缓存数据实时切片技术,颠覆了这种传统实现方法,从根本上解决了大量切片的碎片问题,使得单台服务器的切片与打包能力不再是瓶颈。其基本原理如下:不将TS切片文件存到磁盘,而是存在内存当中,这种技术使得服务器的磁盘上面不再会有“数以吨计”的文件碎片,极大减少了磁盘的I/O次数,延长了服务器磁盘的使用寿命,极大提高了服务器运行的稳定性。同时,由于使用这种技术,使得终端请求数据时直接从服务器的内存中获取,极大提高了对终端数据请求的反应速度,优化了视频观看体验。视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编码格式重视的都是如何用最低的码率达到最少的失真,围绕这个核心衍生出来的cbr(固定码率)与vbr(可变码率),都是在这方面做的文章,不过事情总不是绝对的,举例来看,对于一个音频,其码率越高,被压缩的比例越小,音质损失越小,与音源的音质越接近。当前的音视频应用必须面对各种不同的播放客户端,从PC端(Web)开始,到智能手机。这些播放客户端有不同的尺寸,因而需要不同的视频分辨率。不同的客户端也会有不同的网络环境,比如PC上通常都有WiFi或有线网络,有较高的带宽保证,而手机、平板电脑在室外时,使用2G/3G网络,往往带宽不足,或者不稳定。因而需要针对不同的网络环境采用不同的码率。现有技术中,常规的HLS直播流都是512k,800k,1.5M,2.5M的高码率直播流,对于网络情况比较差,想用比较低码率的HLS直播流来说无法满足要求。因而,亟需要一种新的可以满足用户对不同码率需求的方案,以提高用户体验度。
技术实现思路
本专利技术提供一种HLS在线转码方法及系统,用以解决现有技术中无法支持用户对不同码率需求的问题。本专利技术提供一种HLS在线转码方法,包括:根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。所述方法还包括:将下载的高码率HLS音视频流根据相应的M3U8文件获取相应的TS文件并拼接成相应的TS流;根据所述TS流解码得到相应的TS流数据。所述方法还包括:将所述TS流数据根据X264编码器重新封装成为低码率的TS流数据。所述方法还包括:将所述TS流数据重新编码为低码率的h264和aac数据;将所述h264和aac数据重新封装为低码率的TS流数据。所述方法还包括:根据php动态生成所述低码率M3U8文件。所述方法还包括:通过Nginx发布所述低码率的TS流数据为HLS直播流。一种HLS在线转码系统,包括:下载单元,用于根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;解码单元,用于根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;封装单元,用于将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;发布单元,用于根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。所述系统还包括:拼接单元,用于将下载的高码率HLS音视频流根据相应的M3U8文件获取相应的TS文件并拼接成相应的TS流;所述解码单元根据所述TS流解码得到相应的TS流数据。所述系统还包括:编码单元,用于将所述TS流数据重新编码为低码率的h264和aac数据;所述封装单元将所述h264和aac数据重新封装为低码率的TS流数据。所述系统还包括:M3U8动态生成单元,用于根据php动态生成所述低码率M3U8文件。本专利技术实施例根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。本专利技术实施例的方案,能够实现将2.5M高码率HLS直播转换输出3路低码率(150kbps,300kbps,450kbps)的HLS直播,极大的提高了用户体验度。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。附图说明附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例1提供的一种HLS在线转码方法原理流程图;图2为本专利技术实施例3提供的一种HLS在线转码系统结构示意图。具体实施方式以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。如图1所示,为本专利技术实施例1提供的一种HLS在线转码方法原理流程图,其中,步骤11,根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件。本实施例中,首先需要获取高码率的HLS音视频流。这里对于HLS流的获取,可以根据预先设定的下载策略进行,也可以根据用户指定的地址进行。例如,可以预先配置好下载策略,在策略生效后,根据该下载策略进行具体的下载。通常,HLS是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个M3U8的索引文件,TS媒体分片文件和ke加密串文件。M3U8也是一种M3U,只是它的编码格式是UTF-8格式。M3U用Latin-1字符集编码。M3U是歌曲的目录信息,下载FLAC无损格式的音频时候,会伴随一个M3U目录文件。HLS的分段策略,基本上推荐是10秒一个分片,当然,具体时间还要根据分好后的分片的实际时长做标注通常来说,为了缓存等方面的原因,在索引文件本文档来自技高网...
【技术保护点】
一种HLS在线转码方法,其特征在于,包括:根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。
【技术特征摘要】
1.一种HLS在线转码方法,其特征在于,包括:根据预先配置下载高码率HLS音视频流并获取相应的M3U8文件;根据所述M3U8文件解码所述高码率HLS音视频流得到相应的TS流数据;将所述TS流数据重新封装成为低码率的TS流数据并生成相应的低码率M3U8文件;根据用户需求返回所述低码率M3U8文件和相应低码率的TS流数据。2.如权利要求1所述的方法,其特征在于,所述方法还包括:将下载的高码率HLS音视频流根据相应的M3U8文件获取相应的TS文件并拼接成相应的TS流;根据所述TS流解码得到相应的TS流数据。3.如权利要求1所述的方法,其特征在于,所述方法还包括:将所述TS流数据根据X264编码器重新封装成为低码率的TS流数据。4.如权利要求1或3所述的方法,其特征在于,所述方法还包括:将所述TS流数据重新编码为低码率的h264和aac数据;将所述h264和aac数据重新封装为低码率的TS流数据。5.如权利要求1所述的方法,其特征在于,所述方法还包括:根据php动态生成所述低码率M3U8文件。6.如权利要求1所述的方法,其特征在于,所述方法还包括:通过...
【专利技术属性】
技术研发人员:张新亮,
申请(专利权)人:天脉聚源北京科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。