CN104349176B - 自适应流媒体系统、下载方法及流媒体服务器、用户终端 - Google Patents

自适应流媒体系统、下载方法及流媒体服务器、用户终端 Download PDF

Info

Publication number
CN104349176B
CN104349176B CN201310323698.6A CN201310323698A CN104349176B CN 104349176 B CN104349176 B CN 104349176B CN 201310323698 A CN201310323698 A CN 201310323698A CN 104349176 B CN104349176 B CN 104349176B
Authority
CN
China
Prior art keywords
file
video program
user terminal
burst
content
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.)
Active
Application number
CN201310323698.6A
Other languages
English (en)
Other versions
CN104349176A (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 CN201310323698.6A priority Critical patent/CN104349176B/zh
Publication of CN104349176A publication Critical patent/CN104349176A/zh
Application granted granted Critical
Publication of CN104349176B publication Critical patent/CN104349176B/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/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种自适应流媒体系统、下载方法及流媒体服务器、用户终端。其中,提供自适应流媒体下载的方法包括:将同一码率的全部分片内容拼接成完整视频节目文件;生成新节目描述文件,新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量;响应于接收到用户终端请求下载该码率的分片内容,从新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;根据所获取的起始时间偏移量,将完整视频节目文件中具有起始时间偏移量的分片内容对应的视频节目数据,返回给用户终端。本发明提供的技术方案减少了下载过程中网络连接的建立和断开次数,减小了网络负载。

Description

自适应流媒体系统、下载方法及流媒体服务器、用户终端
技术领域
本发明涉及互联网通信领域,特别涉及一种自适应流媒体系统、下载方法及流媒体服务器、用户终端。
背景技术
自适应流媒体技术是近年来互联网上新出现的一种流媒体技术,例如,HTTP自适应流媒体(Http Live Streaming,HLS),该技术目前已得到了广泛的应用。HLS技术通过编码器将视频源内容分割为一定时长的多个分片内容,并将每个分片内容都按照指定的多个码率进行编码生成对应的分片,多个码率通常从低到高,代表视频质量从差到好。同时,生成m3u8格式的索引文件,记录不同的码率以及每个分片内容的时长、文件名、URL地址等信息。用户终端下载该索引文件后进行解析,根据网络带宽的实时变化动态选择对应码率的分片内容,从而保证了用户在不同的网络带宽情况下也能获得较好的用户体验。
HLS基于HTTP协议,通过TCP协议进行连接和传输。由于HLS分片内容较小,通常一个分片只有数秒或10秒的播放长度,因此,一个完整的HLS节目通常包含上百个或者更多分片。
参见图1所示,图1示出现有技术中自适应流媒体系统的索引文件关系示意图。例如,用户终端为获得具体的内容分片,访问HTTP://www.hls.com/a.m3u8获取主索引文件a.m3u8,之后,进行解析,通过BANDWIDTH字段获得该节目有200kbps、484kbps、737kbps三种码率,三种码率所对应的二级索引文件分别放置在gear1、gear2、gear3三个文件夹中,索引文件名为index.m3u8。接下来,用户终端继续请求并解析这三个二级索引文件,以200kbps对应的索引为例,终端访问HTTP://www.hls.com/gear1/index.m3u8,解析后得知该文件夹下共有100个分片,每个分片时长为10秒,分片文件名为001.ts、002.ts、……、099.ts、100.ts,其它码率对应的分片可按照相类似的方法进行解析。
参见图2所示,图2示出现有技术中自适应流媒体系统的访问流程示意图。用户终端获取主索引文件HTTP://www.hls.com/a.m3u8后进一步获取三个二级索引文件如HTTP://www.hls.com/gear1/index.m3u8,通过解析二级索引文件得知该HLS节目的所有分片的时长、文件名、码率、URL等信息。然后用户终端发起TCP连接,默认请求最低码率对应的第一个分片HTTP://www.hls.com/gear1/001.ts。下载完成后,断开TCP连接,发起第二个TCP连接请求,获取最低码率对应的第二个分片HTTP://www.hls.com/gear1/002.ts。
在终端检测到带宽发生变化后,终端会在请求下一个分片时自动切换至相应码率的分片,并且该切换过程为断开当前的TCP连接,发起新的TCP连接请求,连接建立后下载相应码率的分片。如图2所示,用户终端检测到网络带宽充足,则断开TCP连接,发起第三个TCP连接请求,获取中等码率对应的第三个分片HTTP://www.hls.com/gear2/003.ts。当终端检测到网络带宽仍有冗余,则断开TCP连接,发起第四个TCP连接请求,获取最高码率对应的第四个分片HTTP://www.hls.com/gear3/004.ts。当终端检测到网络带宽稳定,断开TCP连接,发起第五个TCP连接请求,获取最高码率对应的第五个分片HTTP://www.hls.com/gear3/005.ts。直至终端发起最后一个TCP连接请求,获取最高码率对应的第100个分片;HTTP://www.hls.com/gear3/100.ts,节目结束播放。
可见,在现有的自适应流媒体下载方案中,用户终端每次请求一个分片,都要向服务器发起TCP连接请求,然后建立连接并接收分片数据,完成后一个分片的下载后,断开连接再重新发起TCP连接请求下一个分片。同时,无论带宽是否发生变化,终端对每个分片内容都要断开原有连接,再发起新的连接,用户终端和服务器之间频繁的建立和断开连接,加重了网络负载,降低了自适应流媒体系统的整体性能和效率。
发明内容
根据本发明实施例的一个方面,所要解决的一个技术问题是:提供一种自适应流媒体系统、下载方法及流媒体服务器、用户终端,减少了下载过程中网络连接的建立和断开次数,减小了网络负载。
根据本发明的第一个方面,提供了一种提供自适应流媒体下载的方法,包括:
将同一码率的全部分片内容拼接成完整视频节目文件;
生成针对所述完整视频节目文件对应的新节目描述文件,所述新节目描述文件中包含每个分片内容在所述完整视频节目文件中的起始时间偏移量;
响应于接收到用户终端请求下载所述码率的分片内容,从所述新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
根据所获取的起始时间偏移量,将完整视频节目文件中具有所述起始时间偏移量的分片内容对应的视频节目数据,返回给所述用户终端。
可选地,所述生成针对所述完整视频节目文件对应的新节目描述文件,具体包括:
根据每个分片内容的播放顺序和播放时长,计算在所述完整视频节目文件中的起始时间偏移量;
在新节目描述文件中记录每个分片内容标识及所对应的在所述完整视频节目文件中的起始时间偏移量。
可选地,所述将所述完整视频节目文件中具有所述起始时间偏移量的视频节目数据返回给所述用户终端,具体包括:
所述用户终端从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
可选地,还包括:
针对所提供下载的多种码率的每一种码率,执行所述将同一码率的全部分片内容拼接成完整视频节目文件的操作,获得每一种码率的新节目描述文件;
将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
根据本发明的第二个方面,还提供了一种自适应流媒体的下载方法,包括:
用户终端根据网络带宽,从流媒体服务器获得与所述网络带宽对应的码率的新节目描述文件,所述新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,所述完整视频节目文件由所述码率的全部分片内容拼接而成;
用户终端与流媒体服务器建立TCP连接;
用户终端请求下载所述码率的分片内容,并根据从所述新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
可选地,还包括:
用户终端识别网络带宽是否发生改变;
若网络带宽未发生改变,用户终端下载分片内容对应的视频节目数据之后,所述用户终端执行请求下载所述码率的下一分片内容的操作。
可选地,还包括:
用户终端从流媒体服务器获得与多种码率的新节目描述文件;
若网络带宽发生改变,用户终端下载分片内容对应的视频节目数据之后,所述用户终端断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
根据本发明的第三个方面,还提供了一种流媒体服务器,包括:
拼接单元,用于将同一码率的全部分片内容拼接成完整视频节目文件;
节目描述文件单元,用于生成针对所述完整视频节目文件对应的新节目描述文件,所述新节目描述文件中包含每个分片内容在所述完整视频节目文件中的起始时间偏移量;
请求响应单元,用于响应于接收到用户终端请求下载所述码率的分片内容,从所述新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
内容提供单元,用于根据所获取的起始时间偏移量,将完整视频节目文件中具有所述起始时间偏移量的分片内容对应的视频节目数据,返回给所述用户终端。
可选地,所述节目描述文件单元,具体用于根据每个分片内容的播放顺序和播放时长,计算在所述完整视频节目文件中的起始时间偏移量;在新节目描述文件中记录每个分片内容标识及所对应的在所述完整视频节目文件中的起始时间偏移量。
可选地,所述内容提供单元,具体用于根据所述用户终端从包含所述起始时间偏移量的完整视频节目文件的下载地址,向用户终端提供分片内容对应的视频节目数据。
可选地,所述拼接单元,还用于针对所提供下载的多种码率的每一种码率,执行所述将同一码率的全部分片内容拼接成完整视频节目文件的操作;
所述节目描述文件单元,还用于获得每一种码率的新节目描述文件;将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
根据本发明的第四个方面,还提供了一种用户终端,包括:
节目描述文件接收单元,用于从流媒体服务器获得与网络带宽对应的码率的新节目描述文件,所述新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,所述完整视频节目文件由所述码率的全部分片内容拼接而成;
连接管理单元,用于与流媒体服务器建立TCP连接;
下载单元,用于请求下载所述码率的分片内容,并根据从所述新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
可选地,还包括:
带宽识别单元,用于识别网络带宽是否发生改变;
所述下载单元,还用于若网络带宽未发生改变,下载分片内容对应的视频节目数据之后,所述用户终端执行请求下载所述码率的下一分片内容的操作。
可选地,还包括:
节目描述文件接收单元,还用于从流媒体服务器获得与多种码率的新节目描述文件;
所述连接管理单元,还用于若网络带宽发生改变,下载分片内容对应的视频节目数据之后,断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
所述下载单元,还用于根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
根据本发明的第五个方面,还提供了一种自适应流媒体系统,包括:根据本发明第三个方面提供的任意一种流媒体服务器;根据本发明第四个方面提供的任意一种用户终端。
基于本发明上述实施例提供的自适应流媒体系统、下载方法及流媒体服务器、用户终端,通过将同一码率的全部分片内容拼接成完整视频节目文件,并生成包含每个分片内容在完整视频节目文件中的起始时间偏移量的新节目描述文件,从而根据被请求的分片内容对应的起始时间偏移量,将对应的视频节目数据返回给用户终端。由于在上述过程中,被请求的分配内容始终针对同一个文件,即拼接而成完整视频节目文件,因此,不需要断开网络连接,从而减少了下载过程中网络连接的建立和断开次数,减小了网络负载。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1示出现有技术中自适应流媒体系统的索引文件关系示意图;
图2示出现有技术中自适应流媒体系统的访问流程示意图;
图3示出本发明提供的提供自适应流媒体下载的方法一种实施例的流程示意图;
图4示出本发明提供的提供自适应流媒体下载的方法一种实施例中的索引文件关系示意图;
图5示出本发明提供的自适应流媒体下载方法一种实施例的流程示意图;
图6示出本发明提供的自适应流媒体下载方法一种实施例的流程示意图;
图7示出本发明提供的流媒体服务器一种实施例的结构示意图;
图8示出本发明提供的用户终端一种实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
参见图3所示,图3示出本发明提供的提供自适应流媒体下载的方法一种实施例的流程示意图。该提供自适应流媒体下载方法包括:
301,将同一码率的全部分片内容拼接成完整视频节目文件;ts文件的合并可以采用多种方法,例如,在DOS下可通过命令行实现,如当前目录下有001.ts和002.ts两个分片,运行命令:copy/b001.ts+002.ts all.ts,即可将两个分片合成为一个完整的ts文件;
302,生成针对完整视频节目文件对应的新节目描述文件,新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量;
303,响应于接收到用户终端请求下载码率的分片内容,从新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
304,根据所获取的起始时间偏移量,将完整视频节目文件中具有起始时间偏移量的分片内容对应的视频节目数据,返回给用户终端。
本发明上述实施例提供的方法中,通过将分片内容进行拼接,由于HLS节目分片通常为ts视频格式,而ts视频格式可任意进行合成、拆分操作,过程无损可逆,并且从视频流的任意时间点开始均可独立解码,因此,将所有ts分片合成为一个完整的ts文件,并通过时间偏移量记录每个分片的位置,使得在被请求的分配内容始终针对同一个文件,即拼接而成完整视频节目文件,因此,不需要断开网络连接,从而减少了下载过程中网络连接的建立和断开次数,减小了网络负载。
根据本发明方法实施例的一个具体示例,图3所示实施例的操作302中,生成针对完整视频节目文件对应的新节目描述文件,可以通过如下方式实现:
根据每个分片内容的播放顺序和播放时长,计算在完整视频节目文件中的起始时间偏移量;
在新节目描述文件中记录每个分片内容标识及所对应的在完整视频节目文件中的起始时间偏移量。
根据本发明方法实施例的一个具体示例,将完整视频节目文件中具有起始时间偏移量的视频节目数据返回给用户终端,具体包括:
用户终端从包含起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
根据本发明方法实施例的一个具体示例,该方法还可以包括:
针对所提供下载的多种码率的每一种码率,执行将同一码率的全部分片内容拼接成完整视频节目文件的操作,获得每一种码率的新节目描述文件;
将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
示例性地,参见图4所示,图4示出本发明提供的提供自适应流媒体下载的方法一种实施例中的索引文件关系示意图。例如,提供下载的码率有三种,因此,分别将同一码率下的所有分片内容合并成为一个完整的视频文件,获得三个完整视频节目文件200000.ts、484444.ts、737777.ts,并生成相应的新节目描述文件(以下又成为新的索引文件或者二级索引文件)new.m3u8:
HTTP://www.his.com/gear1/new.m3u8;
HTTP://www.his.com/gear2/new.m3u8;
HTTP://www.his.com/gear3/new.m3u8
并且,将三种码率的新节目描述文件均记录在视频节目文件的主索引文件中即HTTP://www.his.com/a.m3u8
在新的索引文件里记录了每个分片的时间偏移量,该时间偏移量可以通过计算旧索引文件index.m3u8(如图1所示)中各分片的时长得出。以最低码率200kpbs对应的分片为例,如图4中示出:
001.ts分片在新的索引文件中记录为001.ts:timestart=0;
002.ts分片在新的索引文件中记录为002.ts:timestart=10;
100.ts分片在新的索引文件中记录为100.ts:timestart=990。
同时主索引文件中记录的二级索引相对URL地址修改为gear1/new.m3u8、gear2/new.m3u8、gear3/new.m3u8。
参见图5所示,图5示出本发明提供的自适应流媒体下载方法一种实施例的流程示意图。该自适应流媒体的下载方法,包括:
501,用户终端根据网络带宽,从流媒体服务器获得与网络带宽对应的码率的新节目描述文件,新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,完整视频节目文件由码率的全部分片内容拼接而成;
502,用户终端与流媒体服务器建立TCP连接;
503,用户终端请求下载码率的分片内容,并根据从新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
根据本发明方法实施例的一个具体示例,该方法还包括:
用户终端识别网络带宽是否发生改变;
若网络带宽未发生改变,用户终端下载分片内容对应的视频节目数据之后,用户终端执行请求下载码率的下一分片内容的操作。
根据本发明方法实施例的一个具体示例,该方法还包括:用户终端从流媒体服务器获得与多种码率的新节目描述文件;
若网络带宽发生改变,用户终端下载分片内容对应的视频节目数据之后,用户终端断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
参见图6所示,图6示出本发明的自适应流媒体下载方法一种实施例的流程示意图。
同时,参见图4示出的文件结构关系,在图6中终端(即用户终端)请求主索引文件,并根据主索引文件获得二级索引文件。
终端获取主索引文件后进一步获取新生成的二级索引文件new.m3u8,发起TCP连接,获取最低码率对应的第一个分片HTTP://www.hls.com/gear1/200000.ts:timestart=0,系统从200000.ts视频文件的0秒位置开始提供下载;
新的索引文件new.m3u8中记录了原分片的起始时间,终端在播放当前的片段如001.ts(即200000.ts:timestart=0)时,能够预知下一个片段002.ts(即200000.ts:timestart=10)的起始时间是10s,因此会在10s时重新发起请求,即终端根据该码率的二级索引文件,第一个分片快结束时,终端继续获取最低码率对应的第二个分片HTTP://www.hls.com/gear1/200000.ts:timestart=10,由于终端访问的仍然是同一个视频文件200000.ts,因此不需要断开原有的TCP连接,保持原有TCP连接。
第二个分片快结束时,终端检测网络带宽是否发生改变,若检测结果为带宽充足,请求获取更高码率即中等码率对应的第三个分片HTTP://www.hls.com/gear2/484444.ts:timestart=20,此时,由于终端访问的内容发生变化,因此,断开原有的TCP连接,发起第二个TCP连接请求。获取中等码率对应的第三个分片。
之后,若终端检测到网络带宽仍然有冗余,则断开当前TCP连接,发起第三个TCP连接请求,获取最高码率对应的第四个分片HTTP://www.hls.com/gear3/737777.ts:timestart=30。
若终端检测到网络带宽未发生变化,带宽稳定,继续保持同一个TCP连接,获取最高码率对应的第五个分片:
HTTP://www.hls.com/gear3/737777.ts:timestart=40。
终端保持该TCP连接,获取最高码率对应的第100个分片:
HTTP://www.hls.com/gear3/737777.ts:timestart=990,节目结束播放。
上述实施例提供的自适应流媒体下载方法,只有当网络带宽发生较大变化时才可能需要重新发起TCP连接,若带宽稳定则可保持同一个TCP长连接,能有效的减少网络开销,提高系统性能和效率。
参见图7所示,图7示出本发明提供的流媒体服务器一种实施例的结构示意图。该流媒体服务器包括:
拼接单元701,用于将同一码率的全部分片内容拼接成完整视频节目文件;
节目描述文件单元702,用于生成针对完整视频节目文件对应的新节目描述文件,新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量;
请求响应单元703,用于响应于接收到用户终端请求下载码率的分片内容,从新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
内容提供单元704,用于根据所获取的起始时间偏移量,将完整视频节目文件中具有起始时间偏移量的分片内容对应的视频节目数据,返回给用户终端。
根据本发明流媒体服务器实施例的一个具体示例,节目描述文件单元702,具体用于根据每个分片内容的播放顺序和播放时长,计算在完整视频节目文件中的起始时间偏移量;在新节目描述文件中记录每个分片内容标识及所对应的在完整视频节目文件中的起始时间偏移量。
根据本发明流媒体服务器实施例的一个具体示例,内容提供单元704具体用于根据用户终端从包含起始时间偏移量的完整视频节目文件的下载地址,向用户终端提供分片内容对应的视频节目数据。
根据本发明流媒体服务器实施例的一个具体示例,拼接单元701,还用于针对所提供下载的多种码率的每一种码率,执行将同一码率的全部分片内容拼接成完整视频节目文件的操作。节目描述文件单元702,还用于获得每一种码率的新节目描述文件;将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
参见图8所示,图8示出本发明提供的用户终端一种实施例的结构示意图。该用户终端包括:
节目描述文件接收单元801,用于从流媒体服务器获得与网络带宽对应的码率的新节目描述文件,新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,完整视频节目文件由码率的全部分片内容拼接而成;
连接管理单元802,用于与流媒体服务器建立TCP连接;
下载单元803,用于请求下载码率的分片内容,并根据从新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
根据本发明用户终端实施例的一个具体示例,该用户终端还包括:带宽识别单元804,用于识别网络带宽是否发生改变。下载单元803,还用于若网络带宽未发生改变,下载分片内容对应的视频节目数据之后,用户终端执行请求下载码率的下一分片内容的操作。
根据本发明用户终端实施例的一个具体示例,节目描述文件接收单元801,还用于从流媒体服务器获得与多种码率的新节目描述文件;
连接管理单元802,还用于若网络带宽发生改变,下载分片内容对应的视频节目数据之后,断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
下载单元803,还用于根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
本发明还提供了一种自适应流媒体系统,包括:上述实施例中任意一种的流媒体服务器;以及上述实施例中任意一种的用户终端。
至此,已经详细描述了根据本发明的一种自适应流媒体系统、下载方法及流媒体服务器、用户终端。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于自适应流媒体系统、流媒体服务器、用户终端实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的自适应流媒体系统、下载方法及流媒体服务器、用户终端。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的自适应流媒体系统、下载方法及流媒体服务器、用户终端。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (15)

1.一种提供自适应流媒体下载的方法,包括:
将同一码率的全部分片内容拼接成完整视频节目文件;
生成针对所述完整视频节目文件对应的新节目描述文件,所述新节目描述文件中包含每个分片内容在所述完整视频节目文件中的起始时间偏移量;
响应于接收到用户终端请求下载所述码率的分片内容,从所述新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
根据所获取的起始时间偏移量,将完整视频节目文件中具有所述起始时间偏移量的分片内容对应的视频节目数据,返回给所述用户终端。
2.根据权利要求1所述的方法,其特征在于,所述生成针对所述完整视频节目文件对应的新节目描述文件,具体包括:
根据每个分片内容的播放顺序和播放时长,计算在所述完整视频节目文件中的起始时间偏移量;
在新节目描述文件中记录每个分片内容标识及所对应的在所述完整视频节目文件中的起始时间偏移量。
3.根据权利要求1所述的方法,其特征在于,所述将完整视频节目文件中具有所述起始时间偏移量的分片内容对应的视频节目数据返回给所述用户终端,具体包括:
所述用户终端从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
针对所提供下载的多种码率的每一种码率,执行所述将同一码率的全部分片内容拼接成完整视频节目文件的操作,获得每一种码率的新节目描述文件;
将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
5.一种自适应流媒体的下载方法,包括:
用户终端根据网络带宽,从流媒体服务器获得与所述网络带宽对应的码率的新节目描述文件,所述新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,所述完整视频节目文件由所述码率的全部分片内容拼接而成;
用户终端与流媒体服务器建立TCP连接;
用户终端请求下载所述码率的分片内容,并根据从所述新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
6.根据权利要求5所述的方法,其特征在于,还包括:
用户终端识别网络带宽是否发生改变;
若网络带宽未发生改变,用户终端下载分片内容对应的视频节目数据之后,所述用户终端执行请求下载所述码率的下一分片内容的操作。
7.根据权利要求6所述的方法,其特征在于,还包括:
用户终端从流媒体服务器获得与多种码率的新节目描述文件;
若网络带宽发生改变,用户终端下载分片内容对应的视频节目数据之后,所述用户终端断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
8.一种流媒体服务器,包括:
拼接单元,用于将同一码率的全部分片内容拼接成完整视频节目文件;
节目描述文件单元,用于生成针对所述完整视频节目文件对应的新节目描述文件,所述新节目描述文件中包含每个分片内容在所述完整视频节目文件中的起始时间偏移量;
请求响应单元,用于响应于接收到用户终端请求下载所述码率的分片内容,从所述新节目描述文件中获取被请求的分片内容对应的起始时间偏移量;
内容提供单元,用于根据所获取的起始时间偏移量,将完整视频节目文件中具有所述起始时间偏移量的分片内容对应的视频节目数据,返回给所述用户终端。
9.根据权利要求8所述的流媒体服务器,其特征在于,所述节目描述文件单元,具体用于根据每个分片内容的播放顺序和播放时长,计算在所述完整视频节目文件中的起始时间偏移量;在新节目描述文件中记录每个分片内容标识及所对应的在所述完整视频节目文件中的起始时间偏移量。
10.根据权利要求8所述的流媒体服务器,其特征在于,所述内容提供单元,具体用于根据所述用户终端从包含所述起始时间偏移量的完整视频节目文件的下载地址,向用户终端提供分片内容对应的视频节目数据。
11.根据权利要求8所述的流媒体服务器,其特征在于,所述拼接单元,还用于针对所提供下载的多种码率的每一种码率,执行所述将同一码率的全部分片内容拼接成完整视频节目文件的操作;
所述节目描述文件单元,还用于获得每一种码率的新节目描述文件;将每一种码率的新节目描述文件记录在视频节目文件的主索引文件中。
12.一种用户终端,包括:
节目描述文件接收单元,用于从流媒体服务器获得与网络带宽对应的码率的新节目描述文件,所述新节目描述文件中包含每个分片内容在完整视频节目文件中的起始时间偏移量,所述完整视频节目文件由所述码率的全部分片内容拼接而成;
连接管理单元,用于与流媒体服务器建立TCP连接;
下载单元,用于请求下载所述码率的分片内容,并根据从所述新节目描述文件中获取的被请求的分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载分片内容对应的视频节目数据。
13.根据权利要求12所述的用户终端,其特征在于,还包括:
带宽识别单元,用于识别网络带宽是否发生改变;
所述下载单元,还用于若网络带宽未发生改变,下载分片内容对应的视频节目数据之后,所述用户终端执行请求下载所述码率的下一分片内容的操作。
14.根据权利要求12所述的用户终端,其特征在于,还包括:
节目描述文件接收单元,还用于从流媒体服务器获得与多种码率的新节目描述文件;
所述连接管理单元,还用于若网络带宽发生改变,下载分片内容对应的视频节目数据之后,断开当前TCP连接,并与流媒体服务器建立新的TCP连接;
所述下载单元,还用于根据变化后的网络带宽对应的码率的新节目描述文件,从中获取的下一分片内容对应的起始时间偏移量,从包含所述起始时间偏移量的完整视频节目文件的下载地址,下载下一分片内容对应的视频节目数据。
15.一种自适应流媒体系统,包括:
根据权利要求8至11任意一项所述的流媒体服务器;
根据权利要求12至14任意一项所述的用户终端。
CN201310323698.6A 2013-07-30 2013-07-30 自适应流媒体系统、下载方法及流媒体服务器、用户终端 Active CN104349176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310323698.6A CN104349176B (zh) 2013-07-30 2013-07-30 自适应流媒体系统、下载方法及流媒体服务器、用户终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310323698.6A CN104349176B (zh) 2013-07-30 2013-07-30 自适应流媒体系统、下载方法及流媒体服务器、用户终端

Publications (2)

Publication Number Publication Date
CN104349176A CN104349176A (zh) 2015-02-11
CN104349176B true CN104349176B (zh) 2017-11-10

Family

ID=52503856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310323698.6A Active CN104349176B (zh) 2013-07-30 2013-07-30 自适应流媒体系统、下载方法及流媒体服务器、用户终端

Country Status (1)

Country Link
CN (1) CN104349176B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105142020A (zh) * 2015-08-10 2015-12-09 合一网络技术(北京)有限公司 对移动终端中非支持格式的视频进行转换的方法及系统
CN105049931B (zh) * 2015-08-10 2019-03-12 优酷网络技术(北京)有限公司 对移动终端中非支持格式的视频进行转换的方法及系统
CN105208440B (zh) * 2015-09-22 2019-03-12 暴风集团股份有限公司 一种mp4格式视频在线播放的方法及系统
CN105228001B (zh) * 2015-09-26 2018-11-06 暴风集团股份有限公司 一种flv格式视频在线播放的方法及系统
CN106559677B (zh) * 2015-09-30 2020-04-03 华为技术有限公司 终端、缓存服务器及获取视频分片的方法及装置
CN106658226B (zh) * 2015-10-28 2020-12-11 中兴通讯股份有限公司 一种播放方法及装置
CN105898376A (zh) * 2015-12-11 2016-08-24 乐视网信息技术(北京)股份有限公司 一种视频流的在线播放方法、装置和系统
CN106899894B (zh) * 2015-12-18 2019-06-18 中国电信股份有限公司 动态优化的自适应流媒体方法、装置和服务器
CN106375873A (zh) * 2016-08-31 2017-02-01 杭州当虹科技有限公司 一种hls视频文件下载存储及播放的方法
CN108271085A (zh) * 2016-12-30 2018-07-10 中兴通讯股份有限公司 一种http实时流媒体hls文件的发送方法及装置
CN110519656B (zh) * 2018-05-22 2021-11-26 中国电信股份有限公司 自适应流媒体的播放方法、系统以及服务器
CN108924145B (zh) * 2018-07-16 2021-05-04 百度在线网络技术(北京)有限公司 网络传输方法、装置及设备
CN109040854B (zh) * 2018-08-09 2021-02-02 武汉烽火凯卓科技有限公司 一种适用于多服务器自适应流媒体系统的流连接调度方法
CN111343225B (zh) * 2018-12-19 2024-04-09 三六零科技集团有限公司 一种文件处理方法和装置
CN110149560B (zh) * 2019-06-05 2021-11-16 亦非云互联网技术(上海)有限公司 基于hls协议的播放器优化方法及系统、存储介质及终端
CN110351282A (zh) * 2019-07-15 2019-10-18 深圳市网心科技有限公司 资源下载方法、电子设备、系统及介质
CN112671690B (zh) * 2019-10-16 2022-08-30 中国电信股份有限公司 流媒体通信方法、装置、系统和存储介质
CN113038033B (zh) * 2021-03-02 2023-07-07 深圳市浩科电子有限公司 一种获取视频的方法
CN113365084B (zh) * 2021-05-12 2022-06-10 烽火通信科技股份有限公司 一种利用时间轮控制发送速度的方法及装置
CN114173145A (zh) * 2021-12-08 2022-03-11 四川启睿克科技有限公司 一种基于hls协议动态码率低延迟直播方法
CN114339366A (zh) * 2021-12-22 2022-04-12 武汉市烽视威科技有限公司 一种回看节目中广告的替换方法、装置与设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
CN102088620A (zh) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 一种内容分发网络中媒体文件下载方法及客户端
EP2429144A1 (en) * 2009-09-21 2012-03-14 Huawei Technologies Co., Ltd. Method and apparatus for transmitting hyper text transport protocol (http) media
CN102802053A (zh) * 2012-07-23 2012-11-28 深圳市融创天下科技股份有限公司 一种音视频文件转码集群调度方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459848A (zh) * 2008-12-26 2009-06-17 西安交通大学 一种分布式多格式数字视频转码结构设计方法
EP2429144A1 (en) * 2009-09-21 2012-03-14 Huawei Technologies Co., Ltd. Method and apparatus for transmitting hyper text transport protocol (http) media
CN102088620A (zh) * 2010-12-01 2011-06-08 中兴通讯股份有限公司 一种内容分发网络中媒体文件下载方法及客户端
CN102802053A (zh) * 2012-07-23 2012-11-28 深圳市融创天下科技股份有限公司 一种音视频文件转码集群调度方法及装置

Also Published As

Publication number Publication date
CN104349176A (zh) 2015-02-11

Similar Documents

Publication Publication Date Title
CN104349176B (zh) 自适应流媒体系统、下载方法及流媒体服务器、用户终端
CN105052107B (zh) 使用质量信息进行媒体内容自适应传输
CN109963171B (zh) 多媒体信息传输方法、传输设备及存储介质
CN105898352A (zh) 基于m3u8的流媒体文件直播方法及系统
CN103813185B (zh) 一种分段节目快速分发的方法、服务器及客户端
CN104956645A (zh) 自适应流中的url参数插入和添加
CN102656857B (zh) 一种启动阶段的流媒体数据获取、发送方法及装置
CA2850416C (en) Method and device for transmitting streaming media
CN103069492A (zh) 用于多媒体流传输文件的存储文件格式、存储方法和使用其的客户端装置
CN102055718B (zh) 一种在http streaming系统中实现分层请求内容的方法,装置和系统
CN103001964B (zh) 一种局域网环境下的缓存加速方法
US9876840B2 (en) Method and apparatus for dynamically generating media sequences on demand for HTTP live streaming
CN104320679A (zh) 一种基于hls协议的用户信息获取方法和服务器
CN108933764A (zh) 一种实现快速起播的方法和装置
CN109640113A (zh) 一种拖拉视频数据的处理方法及代理服务器
CN108174242A (zh) 直播数据复用方法、装置、存储介质及设备
CN106604077B (zh) 自适应流媒体传输方法及装置
CN107438051A (zh) 流媒体快速启动方法、装置和系统
CN103873956B (zh) 媒体文件播放方法、系统、播放器、终端及媒体存储平台
CN107809678A (zh) 多媒体文件的处理方法、装置和设备
CN106101184B (zh) 一种文件下载方法和播放设备
CN110113298A (zh) 数据传输方法、装置、信令服务器和计算机可读介质
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及系统
CN108076385A (zh) 一种推广信息监测数据的上报方法及装置
CN103442256B (zh) 一种基于html5实现电子节目菜单的方法及系统

Legal Events

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