CN102790779B - 一种直播视频资源下载方法和装置 - Google Patents
一种直播视频资源下载方法和装置 Download PDFInfo
- Publication number
- CN102790779B CN102790779B CN201110125302.8A CN201110125302A CN102790779B CN 102790779 B CN102790779 B CN 102790779B CN 201110125302 A CN201110125302 A CN 201110125302A CN 102790779 B CN102790779 B CN 102790779B
- Authority
- CN
- China
- Prior art keywords
- video
- frequency band
- client
- band data
- transmission rate
- 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
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种直播视频资源下载方法和装置。该方法包括:服务器根据客户端的视频文件下载请求,将当前能够提供的该视频文件的视频段信息携带在视频文件列表中,将该视频文件列表发给该客户端;服务器接收视频段数据下载请求,该请求中携带有客户端的标识信息,服务器根据该标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息,确定本次向该客户端发送何种码率的视频段数据,向该客户端发送该种码率的视频段数据。应用本发明能够充分利用网络带宽来传输视频资源。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种直播视频资源下载方法和装置。
背景技术
目前,在互联网领域,观看直播视频资源下载的需求越来越广泛,下面对其下载直播视频资源的方法进行介绍。
图1是目前客户端从服务器下载直播视频资源的方法流程图。
如图1所示,该方法包括:
步骤101,客户端向服务器请求直播视频资源。
步骤102,服务器向客户端返回直播视频资源的播放列表。
该播放列表中包含了不同带宽环境下的直播视频资源信息、即不同码率的直播视频资源信息。
该播放列表为一个后缀名为.m3u8的文件,其中包含的每种码率的直播视频资源信息也是一个后缀为.m3u8的文件列表,该文件列表里面是若干个后缀名为.ts的视频段信息。
步骤103,客户端根据自身所处的网络带宽环境,从所述播放列表中选择直播视频资源进行下载和播放。
本步骤中,客户端首先判断自身所处网络环境,从所述播放列表中选择其自身所处网络带宽环境对应的文件列表,向服务器发送下载请求,用于从服务器下载该文件列表中的各个视频段信息对应的视频数据。
当客户端发现其自身所处的网络带宽环境变化时,客户端会重新从播放列表中选择文件列表,即选择变化后的网络带宽环境对应的文件列表,然后重新向服务器发送下载请求,用于下载该变化后的网络带宽环境对应的文件列表中的各个视频段信息对应的视频数据。
由上述方案可见,现有的直播视频资源下载方法存在如下的缺陷:
由客户端进行网络带宽环境判断,根据判断结果向服务器请求下载相应文件列表对应的视频数据,由于客户端在某一时刻的网络带宽环境判断结果,并不能代表客户端整体的网络带宽环境,因此依据其某一时刻的网络带宽环境判断结果进行视频资源下载,也无法充分利用网络带宽传输视频资源。而且,客户端判断网络带宽环境的准确性也较差,也不利于充分利用网络带宽传输视频资源。
另外,当网络带宽环境变化时,客户端重新向服务器发送下载请求,请求下载变化后的网络带宽环境对应文件列表的视频数据,由于客户端已经从服务器下载了一部分视频数据,因此,客户端重新向服务器发送下载请求将导致,客户端从服务器请求重复的视频段数据,进而导致传输资源的浪费。
例如,客户端从服务器下载文件列表1对应的视频数据,在客户端已经从服务器成功下载了文件列表1中的视频段1对应的视频数据后,客户端发现其自身所处的网络带宽环境发送变化,需要从服务器请求下载文件列表2对应的视频数据,因此向服务器请求下载文件列表2对应的视频数据,服务器将文件列表2对应的视频数据发给客户端,文件列表2对应的视频数据中包括所述视频段1对应的视频数据,可见,客户端从服务器重复下载了视频段1对应的视频数据,造成了传输资源的浪费。
发明内容
有鉴于此,本发明提供了一种直播视频资源下载方法和装置,以便充分利用网络带宽来传输视频资源。
本发明的技术方案具体是这样实现的:
一种直播视频资源下载方法,该方法包括:
服务器根据客户端的视频文件下载请求,将当前能够提供的该视频文件的视频段信息携带在视频文件列表中,将该视频文件列表发给该客户端;
服务器接收视频段数据下载请求,该视频段数据下载请求中携带有客户端的标识信息,服务器根据该标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息计算平均发送速率,确定本次向该客户端发送何种码率的视频段数据,其中,本次向该客户端发送的视频段数据的码率不大于所述平均发送速率;
向该客户端发送该种码率的视频段数据。
一种视频资源下载装置,该装置包括接收模块、确定模块和发送模块;
所述接收模块,用于接收客户端的视频文件下载请求、以及视频段数据下载请求,所述视频段数据下载请求中携带有客户端的标识信息;
所述确定模块,用于根据视频段数据下载请求中携带的客户端标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息计算平均发送速率,确定本次向该客户端发送何种码率的视频段数据,其中,本次向该客户端发送的视频段数据的码率不大于所述平均发送速率;
所述发送模块,用于根据视频文件下载请求向客户端发送视频文件列表,该视频文件列表中携带有服务器当前能够提供的该视频文件的视频段信息,根据所述确定模块确定出的码率,向所述客户端发送该种码率的视频段数据。
由上述技术方案可见,服务器接收视频段下载请求后,根据该下载请求中携带的标识信息确定其来源于哪一客户端,然后根据以往向该客户端发送视频段数据所采用的速率确定本次向该客户端发送的视频段数据的码率,并向该服务器发送该种码率的视频段数据,由于是由服务器端根据以往的发送速率确定本次的发送速率,与客户端在某一时刻的网络带宽环境判断结果相比,降低了客户端网络环境短期异常波动造成的影响,确定视频段数据码率的准确性较高,能够充分利用网络带宽传输视频资源。
另外,由于是由服务器端判断向客户端发送视频段数据的速率,并根据判断结果发送视频段数据,不需要客户端自身判断网络带宽环境,在网络带宽环境变化时,客户端不会重新向服务器请求视频段数据,因此能够避免将同一视频段数据重复下发给客户端,能够节省传输资源。
附图说明
图1是目前客户端从服务器下载直播视频资源的方法流程图。
图2是本发明提供的视频资源下载方法流程图。
图3是本发明提供的视频资源下载装置结构图。
具体实施方式
图2是本发明提供的视频资源下载方法流程图。
如图2所示,该方法包括:
步骤201,客户端向服务器发送视频文件下载请求。
步骤202,服务器根据客户端的视频文件下载请求,将当前能够提供的该视频文件的视频段信息携带在视频文件列表中,将该视频文件列表发给该客户端。
步骤203,客户端根据所述视频文件列表中的视频段信息,依次向服务器请求下载各个视频段信息对应的视频段数据。
本步骤中,客户端可以根据视频文件列表中视频段的序号,依次请求下载相应的视频段数据。
在每一次客户端发送视频段数据下载请求后,进入步骤204。
步骤204,服务器接收视频段数据下载请求,该请求中携带有客户端的标识信息,服务器根据该标识信息,确定该视频段数据下载请求来源于哪一客户端。
本步骤中,视频段数据下载请求中携带的标识信息,可以是客户端的唯一数字签名,也可以是客户端的IP地址。
其中,客户端可以通过页面javascript技术,在向服务器发送的视频段数据下载请求的url里标记上一个唯一的数字签名uin。比如,视频段数据下载请求的url可以为:http://cc.qq.com/123_uin.m3u8,其中,uin即为客户端的唯一数字签名。
通过唯一数字签名识别视频段数据下载请求的来源,来源识别准确性较高。
通过IP地址识别视频段数据下载请求的来源时,不需要客户端在视频段下载请求的URL里标记上唯一的数字签名,能够简化客户端的操作,但是其来源识别的准确性也不如采用唯一数字签名的来源识别准确性。
步骤205,服务器根据以往向该客户端发送视频段数据所采用的发送速率信息,确定本次向该客户端发送何种码率的视频段数据。
本步骤中,服务器可以根据预定时间段内向该客户端发送视频段数据所采用的发送速率计算平均发送速率,也可以根据若干次向该客户端发送视频段数据所采用的发送速率计算平均发送速率;服务器根据计算出的平均发送速率,确定本次向该客户端发送何种码率的视频段数据。具体地,本次向该客户端发送的视频段数据的码率不大于所述平均发送速度,比如,在服务器侧预先存储***率为128k/s的视频段数据TS1,以及码率为256k/s的视频段数据TS2,那么当平均发送速率小于256k/s时,向相应的客户端发送视频段数据TS1,当平均发送速率大于或等于256k/s时,向相应的客户端发送视频段数据TS2。
其中的平均发送速率,可以是各次发送速率的算术平均值,即将以往各次的发送速率相加后除以次数,也可以是按照权值累加后得到的平均值,即将以往各次的发送速率分别乘以各自的权重值,将各个乘积相加所得的结果作为本次的发送速率。
步骤206,服务器向该客户端发送该种码率的视频段数据。
图2所示方法中,服务器可以针对每一视频段,预先生成各种码率的视频段数据,服务器在确定出本次向客户端发送何种码率的视频段数据后,直接从预先生成的视频段数据中,选择相应码率的视频段数据,将选出的视频段数据发给客户端。其中,预先生成的视频段数据一般为ts文件数据段。
下面以采用客户端观看直播节目123.m3u8文件的过程为例,对本发明下载视频文件的方法进行示例性说明,所举例子并不用于限制本发明。
采用客户端观看直播节目123.m3u8文件的过程包括:
在客户端向服务器发送的视频请求url里面,通过页面javascript技术,给请求的url标记上一个唯一的数字签名uin。比如请求的url为:
http://cc.qq.com/123_uin.m3u8
在服务器接收到该请求后,记录下该数字签名,并还原为原始请求:
http://cc.qq.com/123.m3u8
服务器将当前播放的若干(假设3个)视频段,组装成文件列表返回,格式可以为:
http://cc.qq.com/123_567_uin.ts
http://cc.qq.com/123_568_uin.ts
http://cc.qq.com/123_569_uin.ts
客户端获取到文件列表后,会依次向服务器发送数据段的下载请求,如:
http://cc.qq.com/123_567_uin.ts
当服务器收到数据段的下载请求后,记录下该请求的数字签名,并还原为原始请求:
http://cc.qq.com/123_567.ts
此时,服务器会根据请求的数字签名,查询该请求来源在前若干次请求中的文件发送情况。然后根据该请求来源的平均下载速度来选择应该给其发送何种码率的ts文件数据段。
根据本发明提供的上述视频资源下载方法,本发明还提供了相应的视频资源下载装置,具体请参见图3。
图3是本发明提供的视频资源下载装置结构图。
如图3所示,该装置包括接收模块301、确定模块302和发送模块303。
接收模块301,用于接收客户端的视频文件下载请求、以及视频段数据下载请求,所述视频段数据下载请求中携带有客户端的标识信息。
确定模块302,用于根据视频段数据下载请求中携带的客户端标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息,确定本次向该客户端发送何种码率的视频段数据。
发送模块303,用于根据视频文件下载请求向客户端发送视频文件列表,该视频文件列表中携带有服务器当前能够提供的该视频文件的视频段信息,根据所述确定模块确定出的码率,向所述客户端发送该码率的视频段数据。
其中,所述标识信息包括客户端的唯一数字签名或IP地址。
确定模块302,可以用于根据预定时间段内向该客户端发送视频段数据所采用的发送速率,计算平均发送速率,或者,根据若干次向该客户端发送视频段数据所采用的发送速率,计算平均发送速率,将计算出的平均发送速率确定本次向该客户端发送何种码率的视频段数据。
图3所示装置还可以包括生成模块和存储模块。
所述生成模块,用于针对每一视频段,生成多种码率的视频段数据。
所述存储模块,用于存储每一视频段的多种码率的视频段数据。
发送模块303,用于从所述存储模块中读取确定模块确定出的码率所对应的视频段数据,将读取的视频段数据发给客户端。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种视频资源下载方法,其特征在于,该方法包括:
服务器根据客户端的视频文件下载请求,将当前能够提供的该视频文件的视频段信息携带在视频文件列表中,将该视频文件列表发给该客户端;
服务器接收视频段数据下载请求,该视频段数据下载请求中携带有客户端的标识信息,服务器根据该标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息计算平均发送速率,确定本次向该客户端发送何种码率的视频段数据,其中,本次向该客户端发送的视频段数据的码率不大于所述平均发送速率;
向该客户端发送该种码率的视频段数据。
2.根据权利要求1所述的方法,其特征在于,所述标识信息包括:客户端的唯一数字签名。
3.根据权利要求1所述的方法,其特征在于,所述标识信息包括:客户端的IP地址。
4.根据权利要求1所述的方法,其特征在于,根据以往向该客户端发送视频段数据所采用的发送速率信息计算平均发送速率包括:
根据预定时间段内向该客户端发送视频段数据所采用的发送速率,计算所述平均发送速率,或者,根据若干次向该客户端发送视频段数据所采用的发送速率,计算所述平均发送速率。
5.根据权利要求1所述的方法,其特征在于,该方法还包括:
服务器针对每一视频段,预先生成多种码率的视频段数据;
服务器在确定出本次向客户端发送何种码率的视频段数据后,直接从预先生成的视频段数据中,读取相应码率的视频段数据,将读取的视频段数据发给客户端。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
客户端根据所述视频文件列表中的视频段信息,依次向服务器请求下载各个视频段信息对应的视频段数据。
7.一种视频资源下载装置,其特征在于,该装置包括接收模块、确定模块和发送模块;
所述接收模块,用于接收客户端的视频文件下载请求、以及视频段数据下载请求,所述视频段数据下载请求中携带有客户端的标识信息;
所述确定模块,用于根据视频段数据下载请求中携带的客户端标识信息,确定该视频段数据下载请求来源于哪一客户端,根据以往向该客户端发送视频段数据所采用的发送速率信息计算平均发送速率,确定本次向该客户端发送何种码率的视频段数据,其中,本次向该客户端发送的视频段数据的码率不大于所述平均发送速率;
所述发送模块,用于根据视频文件下载请求向客户端发送视频文件列表,该视频文件列表中携带有服务器当前能够提供的该视频文件的视频段信息,根据所述确定模块确定出的码率,向所述客户端发送该码率的视频段数据。
8.根据权利要求7所述的装置,其特征在于,所述标识信息包括客户端的唯一数字签名或IP地址。
9.根据权利要求7所述的装置,其特征在于,
所述确定模块,用于根据预定时间段内向该客户端发送视频段数据所采用的发送速率,计算所述平均发送速率,或者,根据若干次向该客户端发送视频段数据所采用的发送速率,计算所述平均发送速率。
10.根据权利要求7所述的装置,其特征在于,该装置还包括生成模块和存储模块;
所述生成模块,用于针对每一视频段,生成多种码率的视频段数据;
所述存储模块,用于存储每一视频段的多种码率的视频段数据;
所述发送模块,用于从所述存储模块中读取确定模块确定出的码率所对应的视频段数据,将读取的视频段数据发给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110125302.8A CN102790779B (zh) | 2011-05-16 | 2011-05-16 | 一种直播视频资源下载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110125302.8A CN102790779B (zh) | 2011-05-16 | 2011-05-16 | 一种直播视频资源下载方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102790779A CN102790779A (zh) | 2012-11-21 |
CN102790779B true CN102790779B (zh) | 2016-04-13 |
Family
ID=47156079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110125302.8A Active CN102790779B (zh) | 2011-05-16 | 2011-05-16 | 一种直播视频资源下载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102790779B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537917B2 (en) * | 2012-11-20 | 2017-01-03 | Google Technology Holdings LLC | Method and apparatus for streaming media content to client devices |
CN103108166B (zh) * | 2013-02-06 | 2015-11-25 | 杭州华三通信技术有限公司 | 视频监控方法及视频监控中心路由器 |
CN105430434A (zh) * | 2015-11-17 | 2016-03-23 | 北京奇虎科技有限公司 | 下载视频的方法与装置 |
CA3024782A1 (en) * | 2016-05-17 | 2017-11-23 | Bitlume Inc. | System and method for an interactive live streaming media platform to limited subscribers |
CN106254548A (zh) * | 2016-09-29 | 2016-12-21 | 天脉聚源(北京)科技有限公司 | 一种下载流媒体数据的方法及装置 |
CN107135416B (zh) * | 2017-03-27 | 2019-01-08 | 腾讯科技(深圳)有限公司 | 视频下载方法和装置 |
CN109428784B (zh) * | 2017-08-31 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 网络探测方法及装置、计算机存储介质及设备 |
CN109729385A (zh) * | 2018-12-25 | 2019-05-07 | 广州市百果园信息技术有限公司 | 视频下载方法、装置、计算机设备、存储介质和终端 |
CN111092929B (zh) * | 2019-11-08 | 2022-11-18 | 北京字节跳动网络技术有限公司 | 文件下发方法、装置及电子设备 |
CN112312162B (zh) * | 2020-10-16 | 2022-11-08 | 安擎(天津)计算机有限公司 | 一种传输视频流的视频服务器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2056598A1 (en) * | 2007-11-01 | 2009-05-06 | Sling Media, Inc. | Personal video recorder functionality for placeshifting systems |
CN101588391A (zh) * | 2009-07-15 | 2009-11-25 | 中国联合网络通信集团有限公司 | 最早播放时间获取方法及装置 |
CN101795264A (zh) * | 2009-12-30 | 2010-08-04 | 北京新岸线网络技术有限公司 | 一种视频数据传送方法及*** |
-
2011
- 2011-05-16 CN CN201110125302.8A patent/CN102790779B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2056598A1 (en) * | 2007-11-01 | 2009-05-06 | Sling Media, Inc. | Personal video recorder functionality for placeshifting systems |
CN101588391A (zh) * | 2009-07-15 | 2009-11-25 | 中国联合网络通信集团有限公司 | 最早播放时间获取方法及装置 |
CN101795264A (zh) * | 2009-12-30 | 2010-08-04 | 北京新岸线网络技术有限公司 | 一种视频数据传送方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN102790779A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102790779B (zh) | 一种直播视频资源下载方法和装置 | |
US9948965B2 (en) | Manifest re-assembler for a streaming video channel | |
CN105052107B (zh) | 使用质量信息进行媒体内容自适应传输 | |
CN101146110B (zh) | 一种播放流媒体的方法 | |
US8887215B2 (en) | Targeted high-value content in HTTP streaming video on demand | |
US20220174355A1 (en) | Determining a quality of experience metric based on uniform resource locator data | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN102572555A (zh) | 一种实现hls客户端视频直播回看的方法及*** | |
EP3001692A1 (en) | Streaming media processing method, apparatus and system | |
CN102130936A (zh) | 一种在动态http流传输方案中支持时移回看的方法和装置 | |
CN104471914A (zh) | 超文本传输协议动态自适应流媒体中的特定内容识别和时间行为 | |
JP6514217B2 (ja) | セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法 | |
EP2514170A1 (en) | Peer-to-peer system with censorship | |
CN107040615B (zh) | 媒体分片的下载方法、终端和计算机可读存储介质 | |
US20190124376A1 (en) | Graphic Overlay Insertion | |
US11451879B2 (en) | Controlling playout of advertisement content during video-on-demand video streaming on an end-user terminal | |
CN110691280B (zh) | 视频广告处理方法、客户端、视频服务器及可读存储介质 | |
WO2015131390A1 (en) | Communication method, user device, content server and controller | |
CN111182331A (zh) | 媒体数据切片方法、***及存储介质 | |
CN106470350B (zh) | 基于动态比特率的码率自适应方法及装置 | |
CN101448136B (zh) | 实现视频点播功能的方法和*** | |
CN111417031B (zh) | 文件传输方法、装置以及电子设备 | |
JP6378631B2 (ja) | 映像配信システム、及び映像配信方法 | |
US20180131739A1 (en) | Start-over in adaptive streaming | |
CN105704524B (zh) | 电视频道的图像的更新方法以及网络服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |