CN106686410A - Hls流媒体传输方法以及装置 - Google Patents

Hls流媒体传输方法以及装置 Download PDF

Info

Publication number
CN106686410A
CN106686410A CN201510755313.2A CN201510755313A CN106686410A CN 106686410 A CN106686410 A CN 106686410A CN 201510755313 A CN201510755313 A CN 201510755313A CN 106686410 A CN106686410 A CN 106686410A
Authority
CN
China
Prior art keywords
udp
bags
slice
hls
tcp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510755313.2A
Other languages
English (en)
Other versions
CN106686410B (zh
Inventor
陈戈
梁洁
庄嵘
庄一嵘
薛沛林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN201510755313.2A priority Critical patent/CN106686410B/zh
Publication of CN106686410A publication Critical patent/CN106686410A/zh
Application granted granted Critical
Publication of CN106686410B publication Critical patent/CN106686410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开一种HLS流媒体传输方法以及装置,该方法包括:生成HLS流媒体文件的M3U8索引文件;根据M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据逻辑分片产生Checksum校验文件;通过TCP链接发送M3U8索引文件和Checksum校验文件;通过UDP链接发送逻辑分片Slice组织成的UDP包。本发明提供的HLS流媒体传输方法及装置,通过把HLS流媒体的传输层协议由传统的TCP改变为UDP,有效解决了TCP协议的三次握手、拥塞控制、滑动窗口等机制带来的传输效率问题,提高了HLS流媒体的传输速率。

Description

HLS流媒体传输方法以及装置
技术领域
本发明涉及三网融合技术领域,尤其涉及一种HLS流媒体传输方法以及装置。
背景技术
HLS(HTTP Live Streaming,超文本传输协议直播流媒体)流媒体技术由于具有对流服务器与终端要求低、可通过多码率保证在不同网络下播放的流畅性等优点,所以近年来在互联网视频业务的应用中占有主流位置。
4K视频分辨率是1080P视频的四倍,同时在色度、帧率等方面也在很大提高,但对网络传输的要求也有极大提高,如在H.265编码下,带宽要求也达30Mbps以上。4K视频Over HLS是目前的主要承载方案,但其对网络延时、丢包率等网络质量要求非常严格,限制了其大规模推广,也造成了建设成本的极大增加。
在上海电信4K测试中,RTT(Round-TripTime,往返时延)时延要求小于15ms才能正常观看,对网络要求极高;这问题是由于HLS使用TCP(Transmission Control Protocol,传输控制协议)协议,而TCP协议的三次握手、拥塞控制、滑动窗口等机制虽然可提高传输的可靠性,但却对高速传输造成了较大限制;现有技术中UDP(User DatagramProtocol,用户数据报协议)是在网络中它与TCP协议一样用于处理数据包,但它是一种无连接的协议,UDP的效率很高,但它不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。
现有技术中网宿提出了使用UDP传输HTTP的专利方案,利用UDP传输HTTP不失为一种提高单流带宽的有效方案,但该方法的缺点也比较明显:该方法不适用于4K大码率文件传输,由于使用等待超时机制,使该方案只适用于小文件,HTTP Get(超文本传输协议获取)大小文件都只有一个请求,对大文件就不合适;并且UDP出错时再重传,对于大文件而言,需重传的内容量极大。
因此,有必要提出一种HLS流媒体传输方法以解决现有技术中存在的上述技术问题。
发明内容
本公开要解决的一个技术问题是如何提出一种支持大视频文件的UDP传输方式,提高带宽减少时间延迟提高了HLS流媒体的传输速率。
本公开提供一种HLS流媒体传输方法,包括:生成HLS流媒体文件的M3U8索引文件;根据M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据逻辑分片产生Checksum校验文件;通过TCP链接发送M3U8索引文件和Checksum校验文件;通过UDP链接发送逻辑分片Slice组织成的UDP包。
进一步地,通过UDP链接发送逻辑分片Slice组织成的UDP包之后包括:若终端接收到UDP包,根据M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
进一步地,根据Checksum校验文件进行检验包括:如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送逻辑分片Slice的重传指令;根据终端的重传指令通过TCP连接重传逻辑分片Slice;其中,TCP链接使用长链接的方式。
进一步地,生成HLS流媒体文件的M3U8索引文件之前包括:接收终端通过TCP链接发送的4K视频传输请求;根据4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
进一步地,M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;根据UDP传输属性确定终端是否支持UDP传输。
进一步地,通过UDP链接发送逻辑分片Slice组织成的UDP包,包括:在发送逻辑分片Slice时,将预定个数的TS包生成UDP包;在UDP包前标明UDP包的序号,以便终端根据UDP包的序号进行重组。
进一步地,将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
本发明还提供了一种HLS流媒体传输装置,包括:索引文件生成模块,用于生成HLS流媒体文件的M3U8索引文件;逻辑分片生成校验模块,用于根据M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据逻辑分片产生Checksum校验文件;TCP模块,用于通过TCP链接发送M3U8索引文件和Checksum校验文件;UDP模块,用于通过UDP链接发送逻辑分片Slice组织成的UDP包。
进一步地,还包括:若终端接收到UDP包,根据M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
进一步地,还包括:如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送逻辑分片Slice的重传指令;TCP模块用于根据终端的重传指令通过TCP连接重传逻辑分片Slice;其中,TCP链接使用长链接的方式。
进一步地,还包括:接收模块,用于接收终端通过TCP链接发送的4K视频传输请求;判断模块,用于根据4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
进一步地,M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;判断模块用于根据UDP传输属性确定终端是否支持UDP传输。
进一步地,UDP模块,用于在发送逻辑分片Slice时,将预定个数的TS包生成UDP包;在UDP包前标明UDP包的序号,以便终端根据UDP包的序号进行重组。
进一步地,UDP模块用于将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
本发明提供的HLS流媒体传输方法以及装置,通过把HLS流媒体的传输层协议由传统的TCP改变为UDP,有效解决了TCP协议的三次握手、拥塞控制、滑动窗口等机制带来的传输效率问题,提高了HLS流媒体的传输速率。
附图说明
图1示出本发明一个实施例的HLS流媒体传输方法的流程图。
图2示出本发明另一个实施例的HLS流媒体传输方法的示意图。
图3示出本发明又一个实施例的HLS流媒体传输方法的示意图。
图4示出本发明一个实施例的HLS流媒体传输装置的结构框图。
图5示出了本发明的另一个实施例的一种HLS流媒体传输装置的结构框图。
具体实施方式
下面参照附图对本发明进行更全面的描述,其中说明本发明的示例性实施例。
图1示出本发明一个实施例的HLS流媒体传输方法的流程图。如图1所示,该方法主要包括:
步骤100,CDN(Content Delivery Network,内容分发网络)服务器生成HLS流媒体文件的M3U8索引文件。
在一个实施例中,生成HLS流媒体文件的M3U8索引文件之前包括:接收终端通过TCP(Transmission Control Protocol,传输控制协议)链接发送的4K视频传输请求;根据4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP(User DatagramProtocol,用户数据报协议)传输。
在一个实施例中,M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;根据UDP传输属性确定终端是否支持UDP传输。表1示出本发明一个实施例的M3U8扩展标签的结构定义。
标签 取值 备注
EXT-X-TRAN TYPE=YES 可使用UDP传输
EXT-X-MEDIA CHECKSUM=“URI” CHECKSUM文件名
EXT-X-STREAM-INF SLICE LENGTH 校验片段文件长度
步骤102,根据M3U8索引文件将每个HLS分片分成多个逻辑分片(Slice),根据逻辑分片产生Checksum校验文件。
在一个实施例中,根据Checksum文件把HLS的分片视频文件再进行逻辑分片,可通过HASH算法算出计算其校验和。
在一个实施例中,Checksum文件格式如下:
<Checksum URI=“HLS分片文件名">
<SLICE1>
<Checksum>***</Checksum>
</SLICE1>
***
<SLICEn>
<Checksum>***</Checksum>
</SLICEn>
</Checksum>
HASH算法是把任意长度的输入如预映射,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。散列函数有很多种,以MD5为例,MD5(RFC 1321)是Rivest于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与MD4相同。MD5比MD4来得复杂,并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。
使用一个散列函数可以很直观的检测出数据在传输时发生的错误。在数据的发送方,对将要发送的数据应用散列函数,并将计算的结果同原始数据一同发送。在数据的接收方,同样的散列函数被再一次应用到接收到的数据上,如果两次散列函数计算出来的结果不一致,则说明数据在传输的过程中某些地方有错误,需要进行重传。
步骤104,通过TCP链接发送M3U8索引文件和Checksum校验文件。
步骤106,通过UDP链接发送逻辑分片Slice组织成的UDP包。
在一个实施例中,在发送逻辑分片Slice时,将预定个数的TS包生成UDP包;在UDP包前标明UDP包的序号,以便终端根据UDP包的序号进行重组。
在一个实施例中,可以将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
在一个实施例中,若终端接收到UDP包,根据M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
在一个实施例中,如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送逻辑分片Slice的重传指令;根据终端的重传指令通过TCP连接重传逻辑分片Slice;其中,TCP链接使用长链接的方式。本发明实施例提供的应用层重传机制,有效解决UDP的质量保证缺陷,保证了HLS流媒体在UDP传输协议的承载下仍然能高质量地播放。
本发明上述实施例提供的HLS流媒体传输方法,通过把HLS流媒体的传输层协议由传统的TCP改变为UDP,有效解决了TCP协议的三次握手、拥塞控制、滑动窗口等机制带来的传输效率问题,提高了HLS流媒体的传输速率。
图2示出本发明另一个实施例的HLS流媒体传输方法的示意图,如图2所示,该传输***中包括CDN服务器21和终端22,可以将HLS传输分为2个过程或部分,其中,过程1为TCP链接负责传输M3U8、Checksum文件以及媒体重传包;过程2为UDP链接负责快速发送媒体文件如4K视频包。为了提高UDP的可靠性,对HLS的分片文件再进行分片式文件校验,当HLS分片中的某片段出现传输错误,则通过TCP传输通道进行重传;为支持以上特性,本发明实施例对M3U8标签进行了扩展,不支持这些扩展标签的客户端直接使用传统的TCP方式进行传输并向下兼容。
图3示出本发明又一个实施例的HLS流媒体传输方法的示意图,如图3所示,该方法包括:
步骤301、终端31通过TCP链接向CDN服务器32发送4K视频传输请求以获取M3U8索引文件。
其中,CDN服务器32接收到编码器在生成HLS文件的同时,按扩展要求生成M3U8文件,并同时生成Checksum文件。
HLS是由客户主动发起服务请求的,当终端31支持UDP传输时,终端向指定的地址发起服务请求,通知服务器客户端已经打开接收UDP数据的指定端口,服务器收到客户端的请求后将以UDP发送视频流。当终端不支持UDP传输时,将还是用回原来的HTTP Get指令来下载HLS分片。
步骤302、CDN服务器32返回200OK响应指令,确认收到4K视频传输请求。
步骤303,终端31通过TCP链接获得Checksum校验文件。
其中,每个Slice长度由M3U8中指定,校验片段文件长度等于每个分片的长度;CDN服务器根据M3U8文件将分片视频分成多个Slice,对每个Slice进行校验运算,产生Checksum值形成的文件。
Checksum文件格式如下:
<Checksum URI=“SampleSlices">
<SLICE1>
<Checksum>12345678901234567890</Checksum>
</SLICE2>
***
<SLICEn>
<Checksum>***</Checksum>
</SLICEn>
</Checksum>
步骤304,CDN服务器返回200OK响应指令,确认收到终端31通过TCP发送的获取Checksum校验文件的指令。
步骤305,终端31通过UDP链接获取分片视频。
步骤306,CDN服务器32发送逻辑分片1。
步骤307,CDN服务器32发送逻辑分片2。
步骤308,CDN服务器32发送逻辑分片n。
在一个实施例中,CDN在发送Slice时,按每7个TS(188字节)包生成一个UDP包,并在这载荷前用2字节标明其序号,为终端进行重组提供标记;终端接收到每个UDP报文后进行Slice重组,并与Checksum文件标明的数值进行检验。其中,若终端检测到某个逻辑分片的Chechsum值不同,则通过TCP通道发送重传指令,通过TCP链接重传该逻辑分片的内容。
本发明上述实施例提出的利用UDP协议传输HLS流媒体方法,通过把HLS流媒体的传输层协议由传统的TCP改变为UDP,有效解决了TCP协议的三次握手、拥塞控制、滑动窗口等机制带来的传输效率问题,提高了HLS流媒体的传输速率。同时,本专利设计了应用层重传机制,有效解决UDP的质量保证缺陷,保证了HLS流媒体在UDP传输协议的承载下仍然能高质量地播放。
图4示出本发明一个实施例的HLS流媒体传输装置的结构框图,如图4所示,该装置400包括:索引文件生成模块401,用于生成HLS流媒体文件的M3U8索引文件;逻辑分片生成校验模块402,用于根据M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据逻辑分片产生Checksum校验文件;TCP模块403,用于通过TCP链接发送M3U8索引文件和Checksum校验文件;UDP模块404,用于通过UDP链接发送逻辑分片Slice组织成的UDP包。
在一个实施例中,若终端接收到UDP包,根据M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
在一个实施例中,如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送逻辑分片Slice的重传指令;TCP模块403用于根据终端的重传指令通过TCP连接重传逻辑分片Slice;其中,TCP链接使用长链接的方式。
在一个实施例中,该装置还包括接收模块405,用于接收终端通过TCP链接发送的4K视频传输请求;判断模块406,用于根据4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
在一个实施例中,M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;判断模块406用于根据UDP传输属性确定终端是否支持UDP传输。
在一个实施例中,UDP模块404,用于在发送逻辑分片Slice时,将预定个数的TS包生成UDP包;在UDP包前标明UDP包的序号,以便终端根据UDP包的序号进行重组。
在一个实施例中,UDP模块404用于将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
图5示出了本发明的另一个实施例的一种HLS流媒体传输装置的结构框图,如图5所示,HLS流媒体传输装置500可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机、移动终端或其他终端等。本发明具体实施例并不对计算节点的具体实现做限定。
HLS流媒体传输装置500包括处理器(processor)501、通信接口(Communications Interface)502、存储器(memory)503和总线504。其中,处理器501、通信接口502、以及存储器503通过总线504完成相互间的通信。
通信接口502用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器501用于执行程序。处理器501可以是一个中央处理器CPU,或者可以是专用集成电路ASIC(Application Specific IntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器503用于存放文件。存储器503可以包含高速RAM存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器503也可以是存储器阵列。存储器503还可能被分块,并且块可按一定的规则组合成虚拟卷。
在一种实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:生成HLS流媒体文件的M3U8索引文件;根据M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据逻辑分片产生Checksum校验文件;通过TCP链接发送M3U8索引文件和Checksum校验文件;通过UDP链接发送逻辑分片Slice组织成的UDP包。
在一个具体地实施方式中,通过UDP链接发送逻辑分片Slice组织成的UDP包之后包括:若终端接收到UDP包,根据M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
在一个具体地实施方式中,根据Checksum校验文件进行检验包括:如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送逻辑分片Slice的重传指令;根据终端的重传指令通过TCP连接重传逻辑分片Slice;其中,TCP链接使用长链接的方式。
在一个具体地实施方式中,生成HLS流媒体文件的M3U8索引文件之前包括:接收终端通过TCP链接发送的4K视频传输请求;根据4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
在一个具体地实施方式中,M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;根据UDP传输属性确定终端是否支持UDP传输。
在一个具体地实施方式中,通过UDP链接发送逻辑分片Slice组织成的UDP包,包括:在发送逻辑分片Slice时,将预定个数的TS包生成UDP包;在UDP包前标明UDP包的序号,以便终端根据UDP包的序号进行重组。
在一个具体地实施方式中,将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (14)

1.一种HLS流媒体传输方法,其特征在于,包括:
生成HLS流媒体文件的M3U8索引文件;
根据所述M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据所述逻辑分片Slice产生Checksum校验文件;
通过TCP链接发送所述M3U8索引文件和Checksum校验文件;
通过UDP链接发送所述逻辑分片Slice组织成的UDP包。
2.根据权利要求1所述的方法,其特征在于,所述通过UDP链接发送所述逻辑分片Slice组织成的UDP包之后包括:
若终端接收到UDP包,根据所述M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
3.根据权利要求2所述的方法,其特征在于,所述根据Checksum校验文件进行检验包括:
如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送所述逻辑分片Slice的重传指令;
根据终端的所述重传指令通过TCP连接重传所述逻辑分片Slice;
其中,TCP链接使用长链接的方式。
4.根据权利要求1所述的方法,其特征在于,所述生成HLS流媒体文件的M3U8索引文件之前包括:
接收终端通过TCP链接发送的4K视频传输请求;
根据所述4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
5.根据权利要求4所述的方法,其特征在于,
所述M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;
根据UDP传输属性确定终端是否支持UDP传输。
6.根据权利要求1所述的方法,其特征在于,所述通过UDP链接发送所述逻辑分片Slice组织成的UDP包,包括:
在发送所述逻辑分片Slice时,将预定个数的TS包生成UDP包;
在所述UDP包前标明所述UDP包的序号,以便终端根据所述UDP包的序号进行重组。
7.根据权利要求6所述的方法,其特征在于,
将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
8.一种HLS流媒体传输装置,其特征在于,包括:
索引文件生成模块,用于生成HLS流媒体文件的M3U8索引文件;
逻辑分片生成校验模块,用于根据所述M3U8索引文件将每个HLS分片分成多个逻辑分片Slice,根据所述逻辑分片Slice产生Checksum校验文件;
TCP模块,用于通过TCP链接发送所述M3U8索引文件和Checksum校验文件;
UDP模块,用于通过UDP链接发送所述逻辑分片Slice组织成的UDP包。
9.根据权利要求8所述的装置,其特征在于,还包括:
若终端接收到UDP包,根据所述M3U8索引文件进行逻辑分片Slice重组,并根据Checksum校验文件进行检验。
10.根据权利要求9所述的装置,其特征在于,还包括:
如果逻辑分片Slice的Chechsum校验值不正确,终端通过TCP通道发送所述逻辑分片Slice的重传指令;
所述TCP模块用于根据终端的所述重传指令通过TCP连接重传所述逻辑分片Slice;其中,TCP链接使用长链接的方式。
11.根据权利要求8所述的装置,其特征在于,还包括:
接收模块,用于接收终端通过TCP链接发送的4K视频传输请求;
判断模块,用于根据所述4K视频传输请求中的M3U8扩展标签判断终端是否支持HLS流媒体的UDP传输。
12.根据权利要求11所述的装置,其特征在于,
所述M3U8扩展标签包括UDP传输属性、Checksum文件名以及校验片段文件长度;
判断模块用于根据UDP传输属性确定终端是否支持UDP传输。
13.根据权利要求8所述的装置,其特征在于,
UDP模块,用于在发送所述逻辑分片Slice时,将预定个数的TS包生成UDP包;在所述UDP包前标明所述UDP包的序号,以便终端根据所述UDP包的序号进行重组。
14.根据权利要求13所述的装置,其特征在于,UDP模块用于将7个TS包生成一个UDP包,UDP包的序号的字节数为2字节。
CN201510755313.2A 2015-11-09 2015-11-09 Hls流媒体传输方法以及装置 Active CN106686410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510755313.2A CN106686410B (zh) 2015-11-09 2015-11-09 Hls流媒体传输方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510755313.2A CN106686410B (zh) 2015-11-09 2015-11-09 Hls流媒体传输方法以及装置

Publications (2)

Publication Number Publication Date
CN106686410A true CN106686410A (zh) 2017-05-17
CN106686410B CN106686410B (zh) 2019-05-07

Family

ID=58864204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510755313.2A Active CN106686410B (zh) 2015-11-09 2015-11-09 Hls流媒体传输方法以及装置

Country Status (1)

Country Link
CN (1) CN106686410B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107809684A (zh) * 2017-10-27 2018-03-16 广东省南方数字电视无线传播有限公司 视频切片生成方法和装置、缓存服务器
CN108260010A (zh) * 2018-02-05 2018-07-06 南通大学 一种基于网络编解码和协作分发的视频点播方法以及***
CN109922057A (zh) * 2019-02-27 2019-06-21 智慧海派科技有限公司 基于帧序的udp数据重组方法
CN111182336A (zh) * 2019-10-28 2020-05-19 腾讯科技(深圳)有限公司 一种视频数据的播放处理方法、装置、服务器及终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
CN104662865A (zh) * 2012-08-24 2015-05-27 阿卡麦科技公司 混合型http和udp内容分发
US20150288736A1 (en) * 2014-04-03 2015-10-08 Cisco Technology Inc. Method for Enabling Use of HLS as a Common Intermediate Format

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662865A (zh) * 2012-08-24 2015-05-27 阿卡麦科技公司 混合型http和udp内容分发
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
US20150288736A1 (en) * 2014-04-03 2015-10-08 Cisco Technology Inc. Method for Enabling Use of HLS as a Common Intermediate Format

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
APPLE INC.: "HTTP Live Streaming draft-pantos-http-live-streaming-16", 《IETF INTERNET-DRAFT》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107809684A (zh) * 2017-10-27 2018-03-16 广东省南方数字电视无线传播有限公司 视频切片生成方法和装置、缓存服务器
CN108260010A (zh) * 2018-02-05 2018-07-06 南通大学 一种基于网络编解码和协作分发的视频点播方法以及***
CN109922057A (zh) * 2019-02-27 2019-06-21 智慧海派科技有限公司 基于帧序的udp数据重组方法
CN111182336A (zh) * 2019-10-28 2020-05-19 腾讯科技(深圳)有限公司 一种视频数据的播放处理方法、装置、服务器及终端

Also Published As

Publication number Publication date
CN106686410B (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
CN105791054B (zh) 一种基于流分类实现的自主可控可靠组播传输方法
JP7142722B2 (ja) 伝送制御方法および装置
US9537611B2 (en) Method and apparatus for improving the performance of TCP and other network protocols in a communications network using proxy servers
US9325628B2 (en) Packet handling method, forwarding device and system
CN1859579B (zh) 传输多媒体数据流的设备和方法
EP2658191A1 (en) System and method for achieving accelerated throughput
CN106416179A (zh) 实现扩展传输控制功能的传输加速器
CN110418376A (zh) 数据传输方法及装置
CN110086578A (zh) 数据传输方法、装置和***
CN106686410A (zh) Hls流媒体传输方法以及装置
CN109905205B (zh) 数据发送、接收的方法及设备、数据传输方法及***
US10498788B2 (en) Method and apparatus for transceiving data packet for transmitting and receiving multimedia data
WO2019149053A1 (zh) 一种基于融合传输***的数据传输方法
CN109067796A (zh) 一种数据传输方法及装置
EP1914933B1 (en) Method and apparatus for retransmission request reduction in a network
CN107135216A (zh) 一种加强弱网环境流媒体传输方法
KR100728038B1 (ko) Plc 네트워크상에서 데이터를 묶어서 전송하는 방법 및장치
CN102752184A (zh) 用于实时多播业务的数据通信***及其方法
Ahmad et al. Enhancing fast TCP’s performance using single TCP connection for parallel traffic flows to prevent head-of-line blocking
CN103607255A (zh) 无线信道视频通信丢包率控制方法
WO2019034061A1 (zh) 数据传输方法、装置及***
US20110022717A1 (en) Network card and information processor
Natarajan et al. Multistreamed web transport for developing regions
CN107046452A (zh) 一种数据高带宽高可靠性传输方法
WO2014100973A1 (zh) 视频处理方法、设备及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant