CN109618187B - 一种视频数据的获取方法及装置 - Google Patents
一种视频数据的获取方法及装置 Download PDFInfo
- Publication number
- CN109618187B CN109618187B CN201811360373.4A CN201811360373A CN109618187B CN 109618187 B CN109618187 B CN 109618187B CN 201811360373 A CN201811360373 A CN 201811360373A CN 109618187 B CN109618187 B CN 109618187B
- Authority
- CN
- China
- Prior art keywords
- video
- source station
- station server
- transcoding
- transcoding task
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims description 27
- 230000004044 response Effects 0.000 claims description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234336—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234363—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频数据的获取方法及装置。所述方法包括:第一源站服务器接收用户发送的视频数据请求,若确定未存储有符合视频需求的视频标识对应的视频,则确定存储有符合视频需求的视频标识对应的视频的第二源站服务器,并从第二源站服务器中获取符合视频需求的视频标识对应的视频并发送给用户。采用这种方法,能够保证转码设备对相同视频需求的视频只进行一次转码,有效避免转码设备重复转码的情况,提高了转码设备的工作效率,同时也保证了用户的请求能够得到快速响应。
Description
技术领域
本发明涉及视频技术领域,尤其涉及一种视频数据的获取方法及装置。
背景技术
随着互联网技术的快速发展,近年来,各类用于视频直播的直播网站层出不穷,各直播平台之间的竞争压力也日趋激烈。视频直播是指用户通过网络收看远端正在进行的现场音视频实况,比如赛事、会议、教学、网络主播的视频直播等。以网络主播的视频直播为例,大多数的直播网站需要通过CDN系统进行加速,由于不同观众对直播的视频需求(分辨率、帧率等)不同,因此需要通过转码设备将主播的推流转码成符合视频需求的目标视频。
现有技术中,CDN一般采用多层架构来保证链路通畅,当不同用户访问同样的直播转码流以获取视频数据时,如果访问到的是不同的源站服务器,则每个源站服务器均需要触发相同的转码任务来生成用户所需的视频数据,这就容易造成转码设备重复转码的问题,进而浪费了转码设备的计算资源,降低了转码设备的工作效率。
综上,目前亟需一种视频数据的获取方法,用于解决现有技术中每个源站服务器均需要触发相同的转码任务来生成用户所需的视频数据,导致转码设备重复转码的问题。
发明内容
本发明实施例提供一种视频数据的获取方法及装置,以解决现有技术中每个源站服务器均需要触发相同的转码任务来生成用户所需的视频数据,导致转码设备重复转码的技术问题。
本发明实施例提供一种视频数据的获取方法,所述方法应用于直播系统,所述系统包括多个源站服务器,所述多个源站服务器用于提供相同域名的服务;所述方法包括:
第一源站服务器接收用户发送的视频数据请求,所述视频数据请求包括视频标识和视频需求;所述第一源站服务器为所述多个源站服务器中的任一服务器;
所述第一源站服务器若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器;所述第二源站服务器为所述多个源站服务器中的任一服务器且存储有符合所述视频需求的所述视频标识对应的视频;
所述第一源站服务器从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频并发送给所述用户。
如此,当源站服务器接收到视频数据请求后,可以通过判断其它源站服务器中是否存储有符合视频需求的视频标识对应的视频,若存储有,则该源站服务器可以从其它源站服务器中获取该视频并发送给用户。采用这种方法,能够保证转码设备对相同视频需求的视频只进行一次转码,有效避免转码设备重复转码的情况,提高了转码设备的工作效率,同时也保证了用户的请求能够得到快速响应。
在一种可能的实现方式中,所述确定第二源站服务器,包括:
所述第一源站服务器根据所述视频标识和所述视频需求,确定转码任务;所述转码任务用于指示将所述视频标识对应的初始视频转换成符合所述视频需求的目标视频;
所述第一源站服务器从历史转码任务记录中,确定与所述转码任务对应的第二源站服务器;所述历史转码任务记录中记载有已完成转码任务的源站服务器与历史转码任务间的对应关系。
在一种可能的实现方式中,所述系统还包括数据库服务器;
所述历史转码任务记录存储于所述数据库服务器。
在一种可能的实现方式中,所述第一源站服务器从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频之前,还包括:
所述第一源站服务器确定与所述第二源站服务器成功建立连接。
在一种可能的实现方式中,所述系统还包括转码设备;
所述方法还包括:
所述第一源站服务器若确定不存在所述第二源站服务器,或,与所述第二源站服务器未能成功建立连接,则生成转码请求;所述转码请求用于请求所述转码设备执行所述转码任务;
所述第一源站服务器向所述转码设备发送所述转码请求,并接收所述转码设备返回的转码请求的响应消息;所述转码请求的响应消息包括所述目标视频;
所述第一源站服务器将所述目标视频发送给所述用户。
如此,源站服务器只有当从历史转码记录中无法确定用户所需要的视频对应的其它源站服务器,或者当无法与其它源站服务器建立连接后,才会生成转码请求,从而能够有效避免转码设备针对相同的转码任务重复转码的情况,节省了转码设备的计算能力,降低了转码设备的资源浪费,缩短首屏时间,提升转码流响应速度。
在一种可能的实现方式中,所述第一源站服务器将所述目标视频发送给所述用户之后,还包括:
所述第一源站服务器在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系。
如此,能够使得其它源站服务器在接收到同样的转码任务后,可以根据历史转码记录中的信息,从第一源站服务器中获取该转码任务对应的视频,从而能够避免转码设备重复执行转码任务,节省转码设备的资源,提高转码设备的工作效率。
在一种可能的实现方式中,所述第一源站服务器在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,还包括:
所述第一源站服务器在确定所述视频数据不再被访问后,在所述历史转码任务记录中删除所述第一源站服务器和所述转码任务的对应关系。
本发明实施例提供一种视频数据的获取装置,所述装置应用于直播系统,所述系统包括多个源站服务器,所述多个源站服务器用于提供相同域名的服务;所述装置为所述多个源站服务器中任一源站服务器,所述装置包括:
接收单元,用于接收用户发送的视频数据请求,所述视频数据请求包括视频标识和视频需求;所述第一源站服务器为所述多个源站服务器中的任一服务器;
处理单元,用于若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器;所述第二源站服务器为所述多个源站服务器中的任一服务器且存储有符合所述视频需求的所述视频标识对应的视频;以及从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频;
发送单元,用于将所述获取符合所述视频需求的所述视频标识对应的视频发送给所述用户。
在一种可能的实现方式中,所述处理单元具体用于:
根据所述视频标识和所述视频需求,确定转码任务;所述转码任务用于指示将所述视频标识对应的初始视频转换成符合所述视频需求的目标视频;以及从历史转码任务记录中,确定与所述转码任务对应的第二源站服务器;所述历史转码任务记录中记载有已完成转码任务的源站服务器与历史转码任务间的对应关系。
在一种可能的实现方式中,所述系统还包括数据库服务器;
所述历史转码任务记录存储于所述数据库服务器。
在一种可能的实现方式中,所述处理单元在从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频之前,还用于:
所述第一源站服务器确定与所述第二源站服务器成功建立连接。
在一种可能的实现方式中,所述系统还包括转码设备;
所述处理单元还用于:
若确定不存在所述第二源站服务器,或,与所述第二源站服务器未能成功建立连接,则生成转码请求;所述转码请求用于请求所述转码设备执行所述转码任务;
所述发送单元,还用于向所述转码设备发送所述转码请求;
所述接收单元,还用于接收所述转码设备返回的转码请求的响应消息;所述转码请求的响应消息包括所述目标视频;
所述发送单元,还用于将所述目标视频发送给所述用户。
在一种可能的实现方式中,在所述发送单元将所述目标视频发送给所述用户之后,所述处理单元还用于:
在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系。
在一种可能的实现方式中,所述处理单元在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,还用于:
在确定所述视频数据不再被访问后,在所述历史转码任务记录中删除所述第一源站服务器和所述转码任务的对应关系。
本申请实施例的还提供一种装置,该装置具有实现上文所描述的视频数据的获取方法的功能。该功能可以通过硬件执行相应的软件实现,在一种可能的设计中,该装置包括:处理器、收发器和存储器;该存储器用于存储计算机执行指令,该收发器用于实现该装置与其他通信实体进行通信,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上文所描述的视频数据的获取方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的视频数据的获取方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的视频数据的获取方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1a为本发明实施例适用的一种直播系统的架构示意图;
图1b为本发明实施例适用的另一种直播系统的架构示意图;
图2为本发明实施例提供的一种视频数据的获取方法所对应的流程示意图;
图3为本发明实施例提供的另一种视频数据的获取方法所对应的流程示意图;
图4为本发明实施例中所涉及到的整体性流程的示意图;
图5为本发明实施例提供的一种视频数据的获取装置的结构示意图。
具体实施方式
下面结合说明书附图对本申请进行具体说明,方法实施例中的具体操作方法也可以应用于装置实施例中。
图1a示例性示出了本发明实施例适用的一种直播系统的架构示意图,如图1a所示,本发明实施例适用的直播系统100可以包括多个源站服务器(例如图1a中示出的源站服务器1011、源站服务器1012和源站服务器1013)、多个节点服务器(例如图1a中示出的节点服务器1021、节点服务器1022和节点服务器1023)以及转码设备103。其中,多个源站服务器相互之间可以通过网络连接,从而便于任一源站服务器从其它源站服务器中获取信息,例如图1a中示出的源站服务器1011可以分别与源站服务器1012和源站服务器1013通过网络连接,源站服务器1012可以与源站服务器1013通过网络连接;节点服务器可以与任一源站服务器通过网络连接,例如图1a示出的节点服务器1021、节点服务器1022和节点服务器1023可以分别与源站服务器1011连接;每个源站服务器可以通过网络与转码设备103进行通信,例如图1a中示出的源站服务器1011、源站服务器1012和源站服务器1013中的任一源站服务器可以向转码设备103发送转码请求,转码设备103可以根据转码请求返回响应消息。
本发明实施例中,多个源站服务器(即图1a中示出的源站服务器1011、源站服务器1012和源站服务器1013)可以用于提供相同域名的服务。
考虑到多个源站服务器之间可能需要就同样的信息进行交互,那么,这些信息可以分别存储在每个源站服务器中,各源站服务器通过相互之间的交互来更新以及获取这些信息;或者,这些信息可以存储在转码设备中,各源站服务器通过与转码设备之间的交互来更新以及获取这些信息。
另一种可能的实现方式中,如图1b所示,本发明实施例适用的另一种直播系统的架构示意图。直播系统100可以包括多个源站服务器(例如图1a中示出的源站服务器1011、源站服务器1012和源站服务器1013)、多个节点服务器(例如图1a中示出的节点服务器1021、节点服务器1022和节点服务器1023)、转码设备103以及数据库服务器104。其中,数据库服务器104可以提供历史转码记录的存储和查询服务,用于存储源站服务器之间需要交互的信息(比如下文所述的历史转码记录)以及历史转码记录的精准定位。
基于图1a或图1b所示的系统架构,图2示例性示出了本发明实施例提供的一种视频数据的获取方法所对应的流程示意图,包括以下步骤:
步骤201,第一源站服务器接收用户发送的视频数据请求。
步骤202,第一源站服务器若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器。
步骤203,第一源站服务器从第二源站服务器中获取符合视频需求的视频标识对应的视频并发送给用户。
如此,当源站服务器接收到视频数据请求后,可以通过判断其它源站服务器中是否存储有符合视频需求的视频标识对应的视频,若存储有,则该源站服务器可以从其它源站服务器中获取该视频并发送给用户。采用这种方法,能够保证转码设备对相同视频需求的视频只进行一次转码,有效避免转码设备重复转码的情况,提高了转码设备的工作效率,同时也保证了用户的请求能够得到快速响应。
具体来说,步骤201中,第一源站服务器可以是指多个源站服务器中的任一服务器,以图1a示出的系统架构为例,第一源站服务器可以为源站服务器1011、源站服务器1012、或源站服务器1013中的任一源站服务器,比如,第一源站服务器可以为源站服务器1011。
进一步地,第一源站服务器可以直接接收用户发送的视频数据请求,用户可以直接向域名对应的源站服务器发送视频数据请求;或者,第一源站服务器也可以通过节点服务器来接收用户发送的视频数据请求,例如,图1a(或图1b)示出的系统架构(即CDN系统)中,用户发送的视频数据请求可以是先由CDN系统中的节点服务器来接收,节点服务器在获取源站服务器的IP地址之后,可以将用户发送的视频数据请求发送给该源站服务器。
本发明实施例中,视频数据请求可以包括视频标识和视频需求。其中,视频标识可以是指用于视频的唯一标识码,比如唯一标识码可以是视频名称,或者可以是视频编号,或者还可以是视频来源地址等,具体不做限定。进一步地,唯一标识码可以以文字、数字和字符串中的任一形式来表现,具体也不做限定。视频需求可以包括转码后的视频的分辨率和/或转码后的视频的帧率,举个例子,假设用户发送的视频数据请求要求将视频1转换为1280*720的分辨率,则1280*720的分辨率可以看作是转码后的视频的分辨率;假设用户发送的视频数据请求要求将视频2转换为25fps的帧率,则25fps的帧率可以看作是转码后的视频的帧率。
步骤202中,第一源站服务器在接收到视频数据请求之后,可以先根据本地存储的数据来判断是否存储有符合视频需求的视频标识对应的视频,若存储有视频需求的视频标识对应的视频,则可以将该视频发送给用户;若未存储有视频需求的视频标识对应的视频,则可以进一步确定第二源站服务器,其中,第二源站服务器可以是多个源站服务器中的任一服务器,且第二源站服务器存储有符合视频需求的视频标识对应的视频。
举个例子,如表1所示,为第一源站服务器本地存储数据的一种示例。根据表1示出的内容可知,第一源站服务器本地存储中存储有:分辨率为1280*720,帧率为25fps的视频1;分辨率为640*360,帧率为29.97fps的视频1;分辨率为1280*720,帧率为25fps的视频2;分辨率为848*480,帧率为25fps的视频2;分辨率为640*360,帧率为29.97fps的视频2。
表1:第一源站服务器本地存储数据的一种示例
若用户发送的视频数据请求中包括的视频标识为视频1,视频需求为分辨率1280*720、帧率25fps,则根据表1示出的内容可知,第一源站服务器本地存储有符合改视频需求的视频1,因此,第一源站服务器可以将该视频发送给用户。
若用户发送的视频数据请求中包括的视频标识为视频1,视频需求为分辨率848*480、帧率25fps,则根据表1示出的内容可知,第一源站服务器本地未存储有符合改视频需求的视频1,因此,第一源站服务器可以进一步确定第二源站服务器。
本发明实施例中,第二源站服务器的具体可以通以下方式确定。
首先,第一源站服务器可以根据视频标识和视频需求,确定转码任务,其中,转码任务可以用于指示将视频标识对应的初始视频转换成符合视频需求的目标视频;然后,第一源站服务器可以从历史转码任务记录中,根据历史转码任务记录中记载的已完成转码任务的源站服务器与历史转码任务间的对应关系,确定与转码任务对应的第二源站服务器。
举个例子,若用户发送的视频数据请求中包括的视频标识为视频1,视频需求为分辨率848*480、帧率25fps,根据表1可知,第一源站服务器本地未存储有符合改视频需求的视频1,那么,第一源站服务器可以确定转码任务为转换得到分辨率为848*480、帧率为25fps的视频1。
进一步地,可以通过转码任务的标识来区分不同的转码任务。转码任务的标识的确定方式有多种,比如,转码任务为转换得到分辨率为848*480、帧率为25fps的视频1对应的转码任务标识可以为“1 848480 25”,其中,“1”代表视频标识(即视频1),“848480”代表分辨率(即分辨率为848*480),“25”代表帧率(即帧率为25fps);或者,转码任务的标识也可以根据服务域名、发布点结合视频需求来确定,举个例子,服务域名为www.a.com,发布点为XXX,视频需求为分辨率为848*480、帧率为25fps的视频1,则可以将转码任务的标识记为“aXXX 1 848480 25”,其中,“a”代表域名,“XXX”代表发布点,“1”代表视频标识(即视频1),“848480”代表分辨率(即分辨率为848*480),“25”代表帧率(即帧率为25fps)。
如表2所示,为历史转码记录的一种示例。根据表2示出的内容可知,完成转码任务“1 848480 25”的源站服务器为源站服务器B,完成转码任务“11280720 25”的源站服务器为源站服务器A,完成转码任务“2 1280720 25”的源站服务器为源站服务器A。
表2:历史转码记录的一种示例
转码任务 | 对应的源站服务器 |
1 848480 25 | 源站服务器B |
1 1280720 25 | 源站服务器A |
2 1280720 25 | 源站服务器A |
根据表2示出的内容,上述示例中,用户发送的视频数据请求中包括的视频标识为视频1,视频需求为分辨率848*480、帧率25fps时,对应的第二服务器为源站服务器B。
需要说明的是,以图1a示出的系统架构为例,上文所描述的历史转码记录可以分别存储在每个源站服务器中,各源站服务器通过相互之间的交互来更新以及获取历史转码记录,从而确保每个源站服务器中所存储的历史转码记录保持一致;或者,仍然以图1a示出的系统架构为例,上文所描述的历史转码记录可以存储在转码设备中,各源站服务器通过与转码设备之间的交互来更新以及获取历史转码记录。以图1b示出的系统架构为例,上文所描述的历史转码记录可以存储在数据库服务器中,各源站服务器通过与数据库服务器之间的交互来更新以及获取历史转码记录。
以图1b示出的系统架构为例,历史转码任务记录存储于数据库服务器104中。第一源站服务器可以向数据库服务器104发送查询请求,用于查询用户所需的视频数据。
进一步地,数据库服务器104在接收到查询请求后,可以根据查询请求中包括的转码任务的标识来进行查询。数据库服务器104在存储历史转码任务记录时可以通过键值对(Key-Value)的方式进行存储,相应地,具体查询时也可以通过Key-Value的方式进行查询。比如,转码任务的标识可以作为Key,过去一段时间内触发该转码任务的源站服务器可以作为Value,通过Key与Value的对应关系,可以生成查询请求的响应消息,该响应消息可以包括过去一段时间内触发该转码任务的源站服务器。其中,转码任务的标识(即Key)可以根据服务域名、发布点、视频需求中的至少一项确定。
更进一步地,数据库服务器104可以将查询请求的响应消息返回给第一源站服务器,以使第一源站服务器从响应消息中包括的过去一段时间内触发该转码任务的源站服务器中获取视频数据。
在执行上述步骤203之前,第一源站服务器在确定第二源站服务器之后,还可以判断是否与第二源站服务器成功建立连接,并在确定与第二源站服务器成功建立连接后,可以执行后续步骤203。
考虑到实际运用过程中,可能出现不存在第二源站服务器(即系统中没有存储有符合视频需求的视频标识对应的视频的服务器),或者,第一源站服务器与第二源站服务器未能成功建立连接的情况,或者,第一源站服务器与第二源站服务器建立连接后未能成功获取符合视频需求的视频标识对应的视频(比如第二源站服务器缓存清除的情况),本发明实施例提供另一种视频数据的获取方法,如图3所示,具体包括如下步骤:
步骤301,第一源站服务器若确定不存在第二源站服务器,或,与第二源站服务器未能成功建立连接,则生成转码请求。
其中,转码请求可以用于请求转码设备执行转码任务。
进一步地,转码请求可以包括转码任务的标识,具体内容可以参考上文所描述的,此处不再详细介绍。
步骤302,第一源站服务器向转码设备发送转码请求,并接收转码设备返回的转码请求的响应消息。
步骤303,第一源站服务器将响应消息包括的目标视频发送给用户。
如此,源站服务器只有当从历史转码记录中无法确定用户所需要的视频对应的其它源站服务器,或者当无法与其它源站服务器建立连接后,才会生成转码请求,从而能够有效避免转码设备针对相同的转码任务重复转码的情况,节省了转码设备的计算能力,降低了转码设备的资源浪费,缩短首屏时间,提升转码流响应速度。
进一步地,在执行上述步骤303之后,第一源站服务器还可以在历史转码任务记录中添加第一源站服务器和转码任务的对应关系。如此,能够使得其它源站服务器在接收到同样的转码任务后,可以根据历史转码记录中的信息,从第一源站服务器中获取该转码任务对应的视频,从而能够避免转码设备重复执行转码任务,节省转码设备的资源,提高转码设备的工作效率。
更进一步地,第一源站服务器在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,若确定视频数据不再被访问后,则可以在历史转码任务记录中删除第一源站服务器和转码任务的对应关系,从而能够减少历史转码任务记录的数据量,减轻数据存储的负担。其中,第一源站服务器确定视频数据不再被访问的方法有多种,比如,第一源站服务器若确定直播结束时,则可以认为视频数据不再被访问;或者,第一源站服务器若确定在一段时间内没有用户对该视频数据进行请求后,则可以认为视频数据不再被访问,具体不做限定。
为了更清楚地介绍上述视频数据的获取方法,下面结合图4,对本发明实施例中所涉及到的流程进行整体性说明。如图4所示,可以包括以下步骤:
步骤401,第一源站服务器接收用户发送的视频数据请求。
步骤402,第一源站服务器判断本地是否存储有符合视频需求的视频标识对应的视频,若存储有符合所述视频需求的所述视频标识对应的视频,则执行步骤403;否则,执行步骤404。
步骤403,第一源站服务器将存储的符合视频需求的视频标识对应的视频发送给用户。
步骤404,第一源站服务器判断是否存在第二源站服务器,若存在,则执行步骤405;否则,执行步骤408。
步骤405,第一源站服务器判断能否与第二源站服务器建立连接,若能,则执行步骤406;否则,执行步骤408。
步骤406,第一源站服务器从第二源站服务器中获取符合视频需求的视频标识对应的视频。
步骤407,第一源站服务器将符合视频需求的视频标识对应的视频发送给用户。
步骤408,第一源站服务器生成转码请求。
步骤409,第一源站服务器向转码设备发送转码请求。
步骤410,第一源站服务器接收转码设备返回的转码请求的响应消息。
步骤411,第一源站服务器将响应消息包括的目标视频发送给用户。
采用这种方法,源站服务器可以从其它源站服务器中获取该视频并发送给用户,能够有效提高转码设备的工作效率,同时也保证了用户的请求能够得到快速响应;进一步地,源站服务器只有当从历史转码记录中无法确定用户所需要的视频对应的其它源站服务器,或者当无法与其它源站服务器建立连接后,才会生成转码请求,从而能够保证转码设备对相同视频需求的视频只进行一次转码,有效避免转码设备重复转码的情况,节省了转码设备的计算能力,降低了转码设备的资源浪费。
基于同样的发明构思,图5示例性示出了本发明实施例提供的一种视频数据的获取装置的结构示意图,所述装置应用于直播系统,所述系统包括多个源站服务器,所述多个源站服务器用于提供相同域名的服务;所述装置为所述多个源站服务器中任一源站服务器,如图5所示,该装置包括接收单元501、处理单元502和发送单元503;其中,
接收单元501,用于接收用户发送的视频数据请求,所述视频数据请求包括视频标识和视频需求;所述第一源站服务器为所述多个源站服务器中的任一服务器;
处理单元502,用于若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器;所述第二源站服务器为所述多个源站服务器中的任一服务器且存储有符合所述视频需求的所述视频标识对应的视频;以及从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频;
发送单元503,用于将所述获取符合所述视频需求的所述视频标识对应的视频发送给所述用户。
在一种可能的实现方式中,所述处理单元502具体用于:
根据所述视频标识和所述视频需求,确定转码任务;所述转码任务用于指示将所述视频标识对应的初始视频转换成符合所述视频需求的目标视频;以及从历史转码任务记录中,确定与所述转码任务对应的第二源站服务器;所述历史转码任务记录中记载有已完成转码任务的源站服务器与历史转码任务间的对应关系。
在一种可能的实现方式中,所述系统还包括数据库服务器;
所述历史转码任务记录存储于所述数据库服务器。
在一种可能的实现方式中,所述处理单元502在从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频之前,还用于:
所述第一源站服务器确定与所述第二源站服务器成功建立连接。
在一种可能的实现方式中,所述系统还包括转码设备;
所述处理单元502还用于:
若确定不存在所述第二源站服务器,或,与所述第二源站服务器未能成功建立连接,则生成转码请求;所述转码请求用于请求所述转码设备执行所述转码任务;
所述发送单元503,还用于向所述转码设备发送所述转码请求;
所述接收单元501,还用于接收所述转码设备返回的转码请求的响应消息;所述转码请求的响应消息包括所述目标视频;
所述发送单元503,还用于将所述目标视频发送给所述用户。
在一种可能的实现方式中,在所述发送单元将所述目标视频发送给所述用户之后,所述处理单元502还用于:
在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系。
在一种可能的实现方式中,所述处理单元502在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,还用于:
在确定所述视频数据不再被访问后,在所述历史转码任务记录中删除所述第一源站服务器和所述转码任务的对应关系。
本申请实施例的还提供一种装置,该装置具有实现上文所描述的视频数据的获取方法的功能。该功能可以通过硬件执行相应的软件实现,在一种可能的设计中,该装置包括:处理器、收发器和存储器;该存储器用于存储计算机执行指令,该收发器用于实现该装置与其他通信实体进行通信,该处理器与该存储器通过该总线连接,当该装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该装置执行上文所描述的视频数据的获取方法。
本发明实施例还提供一种计算机存储介质,所述存储介质中存储软件程序,该软件程序在被一个或多个处理器读取并执行时实现上述各种可能的实现方式中所描述的视频数据的获取方法。
本发明实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的视频数据的获取方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种视频数据的获取方法,其特征在于,所述方法应用于直播系统,所述系统包括CDN系统中的多个源站服务器,所述多个源站服务器用于提供相同域名的服务;所述方法包括:
第一源站服务器接收节点服务器发送的用户的视频数据请求,所述视频数据请求包括视频标识和视频需求;所述第一源站服务器为所述多个源站服务器中的任一服务器;
所述第一源站服务器若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器;所述第二源站服务器为所述多个源站服务器中的任一服务器且存储有符合所述视频需求的所述视频标识对应的视频;
所述第一源站服务器从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频并发送给所述用户;其中,所述确定第二源站服务器,包括:
所述第一源站服务器根据所述视频标识和所述视频需求,确定转码任务;所述转码任务用于指示将所述视频标识对应的初始视频转换成符合所述视频需求的目标视频;
所述第一源站服务器从历史转码任务记录中,确定与所述转码任务对应的第二源站服务器;所述历史转码任务记录中记载有已完成转码任务的源站服务器与历史转码任务间的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述系统还包括数据库服务器;
所述历史转码任务记录存储于所述数据库服务器。
3.根据权利要求1所述的方法,其特征在于,所述第一源站服务器从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频之前,还包括:
所述第一源站服务器确定与所述第二源站服务器成功建立连接。
4.根据权利要求3所述的方法,其特征在于,所述系统还包括转码设备;
所述方法还包括:
所述第一源站服务器若确定不存在所述第二源站服务器,或,与所述第二源站服务器未能成功建立连接,则生成转码请求;所述转码请求用于请求所述转码设备执行所述转码任务;
所述第一源站服务器向所述转码设备发送所述转码请求,并接收所述转码设备返回的转码请求的响应消息;所述转码请求的响应消息包括所述目标视频;
所述第一源站服务器将所述目标视频发送给所述用户。
5.根据权利要求4所述的方法,其特征在于,所述第一源站服务器将所述目标视频发送给所述用户之后,还包括:
所述第一源站服务器在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系。
6.根据权利要求5所述的方法,其特征在于,所述第一源站服务器在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,还包括:
所述第一源站服务器在确定所述视频数据不再被访问后,在所述历史转码任务记录中删除所述第一源站服务器和所述转码任务的对应关系。
7.一种视频数据的获取装置,其特征在于,所述装置应用于直播系统,所述系统包括CDN系统中的多个源站服务器,所述多个源站服务器用于提供相同域名的服务;所述装置为所述多个源站服务器中任一源站服务器,所述装置包括:
接收单元,用于接收节点服务器发送的用户的视频数据请求,所述视频数据请求包括视频标识和视频需求;第一源站服务器为所述多个源站服务器中的任一服务器;
处理单元,用于若确定未存储有符合所述视频需求的所述视频标识对应的视频,则确定第二源站服务器;所述第二源站服务器为所述多个源站服务器中的任一服务器且存储有符合所述视频需求的所述视频标识对应的视频;以及从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频;
发送单元,用于将所述获取符合所述视频需求的所述视频标识对应的视频发送给所述用户;
其中,所述处理单元具体用于:
根据所述视频标识和所述视频需求,确定转码任务;所述转码任务用于指示将所述视频标识对应的初始视频转换成符合所述视频需求的目标视频;以及从历史转码任务记录中,确定与所述转码任务对应的第二源站服务器;所述历史转码任务记录中记载有已完成转码任务的源站服务器与历史转码任务间的对应关系。
8.根据权利要求7所述的装置,其特征在于,所述系统还包括数据库服务器;
所述历史转码任务记录存储于所述数据库服务器。
9.根据权利要求7所述的装置,其特征在于,所述处理单元在从所述第二源站服务器中获取符合所述视频需求的所述视频标识对应的视频之前,还用于:
所述第一源站服务器确定与所述第二源站服务器成功建立连接。
10.根据权利要求9所述的装置,其特征在于,所述系统还包括转码设备;
所述处理单元还用于:
若确定不存在所述第二源站服务器,或,与所述第二源站服务器未能成功建立连接,则生成转码请求;所述转码请求用于请求所述转码设备执行所述转码任务;
所述发送单元,还用于向所述转码设备发送所述转码请求;
所述接收单元,还用于接收所述转码设备返回的转码请求的响应消息;所述转码请求的响应消息包括所述目标视频;
所述发送单元,还用于将所述目标视频发送给所述用户。
11.根据权利要求10所述的装置,其特征在于,在所述发送单元将所述目标视频发送给所述用户之后,所述处理单元还用于:
在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系。
12.根据权利要求9所述的装置,其特征在于,所述处理单元在所述历史转码任务记录中添加所述第一源站服务器和所述转码任务的对应关系之后,还用于:
在确定所述视频数据不再被访问后,在所述历史转码任务记录中删除所述第一源站服务器和所述转码任务的对应关系。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储有指令,当所述指令在计算机上运行时,使得计算机实现执行权利要求1至6中任一项所述的方法。
14.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至6中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360373.4A CN109618187B (zh) | 2018-11-15 | 2018-11-15 | 一种视频数据的获取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811360373.4A CN109618187B (zh) | 2018-11-15 | 2018-11-15 | 一种视频数据的获取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109618187A CN109618187A (zh) | 2019-04-12 |
CN109618187B true CN109618187B (zh) | 2021-10-29 |
Family
ID=66004097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811360373.4A Active CN109618187B (zh) | 2018-11-15 | 2018-11-15 | 一种视频数据的获取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109618187B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213623B (zh) * | 2019-06-03 | 2021-08-06 | 上海哔哩哔哩科技有限公司 | 视频上传方法、视频上传装置及计算机可读存储介质 |
CN112751886B (zh) * | 2019-10-29 | 2023-05-26 | 贵州白山云科技股份有限公司 | 一种转码方法、系统、传输设备及存储介质 |
CN113347138B (zh) * | 2020-03-02 | 2024-04-26 | 广州虎牙科技有限公司 | 转码数据流的传输方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977218A (zh) * | 2010-10-20 | 2011-02-16 | 深圳市融创天下科技发展有限公司 | 一种互联网播放文件转码方法和系统 |
CN102035852A (zh) * | 2010-12-28 | 2011-04-27 | 乐视网信息技术(北京)股份有限公司 | 实现多种媒体格式流输出的装置和方法 |
CN106803974A (zh) * | 2017-03-01 | 2017-06-06 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 直播视频流实时转发方法 |
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090019492A1 (en) * | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
US8527645B1 (en) * | 2012-10-15 | 2013-09-03 | Limelight Networks, Inc. | Distributing transcoding tasks across a dynamic set of resources using a queue responsive to restriction-inclusive queries |
-
2018
- 2018-11-15 CN CN201811360373.4A patent/CN109618187B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977218A (zh) * | 2010-10-20 | 2011-02-16 | 深圳市融创天下科技发展有限公司 | 一种互联网播放文件转码方法和系统 |
CN102035852A (zh) * | 2010-12-28 | 2011-04-27 | 乐视网信息技术(北京)股份有限公司 | 实现多种媒体格式流输出的装置和方法 |
CN106803974A (zh) * | 2017-03-01 | 2017-06-06 | 北京牡丹电子集团有限责任公司数字电视技术中心 | 直播视频流实时转发方法 |
CN108712343A (zh) * | 2018-05-14 | 2018-10-26 | 网宿科技股份有限公司 | 流媒体资源的分发方法、系统、边缘节点及中心调度系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109618187A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102681644B1 (ko) | 블록체인 메시지 처리 방법 및 장치, 컴퓨터 및 판독 가능한 저장 매체 | |
CN110703980B (zh) | 一种文件传输方法及装置 | |
CN108737467B (zh) | 一种服务器日志查看方法、装置和系统 | |
CN109618187B (zh) | 一种视频数据的获取方法及装置 | |
CN101426017B (zh) | 一种地址簿的处理方法和系统 | |
TWI431978B (zh) | Methods, devices and systems for obtaining resources | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
CN109542595B (zh) | 一种数据采集方法、装置和系统 | |
CN111913738B (zh) | 访问请求的处理方法、装置、计算设备和介质 | |
CN106933548B (zh) | 全局信息获取、处理及更新、方法、装置和系统 | |
JP6485980B2 (ja) | ネットワークアドレスの解決 | |
US9794360B1 (en) | Estimating unique viewers of media content without cookies | |
JP7330397B2 (ja) | サービスイネーブラアーキテクチャ層(seal)の方法及びコンピュータプログラム | |
CN108540505B (zh) | 一种内容更新方法及装置 | |
CN105677536A (zh) | 一种任务消息的实现方法及实现该任务消息的任务系统 | |
CN104917754A (zh) | 一种视频数据发送及接收的方法、服务器和客户端 | |
CN113709232B (zh) | 数据包加载方法、客户端、客户端代理、设备及存储介质 | |
CN105335362B (zh) | 实时数据的处理方法及系统、即时处理系统 | |
CN102523250A (zh) | 内容分发系统 | |
CN108989272B (zh) | 一种数据处理方法、装置和电子设备 | |
US11973994B2 (en) | Media processing method | |
CN111556284A (zh) | 一种视联网监控视频流的共享方法及装置 | |
US20150227534A1 (en) | Method for processing data query using information-centric network | |
EP3128711A1 (en) | Information object acquisition method, server and user equipment | |
CN107547601B (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 |