CN103916679B - 一种用于提供视频信息的方法、设备与*** - Google Patents
一种用于提供视频信息的方法、设备与*** Download PDFInfo
- Publication number
- CN103916679B CN103916679B CN201410086495.4A CN201410086495A CN103916679B CN 103916679 B CN103916679 B CN 103916679B CN 201410086495 A CN201410086495 A CN 201410086495A CN 103916679 B CN103916679 B CN 103916679B
- Authority
- CN
- China
- Prior art keywords
- video
- transcoding
- index file
- user equipment
- segmenting
- 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)
Abstract
本发明的目的是提供一种用于提供视频信息的方法、设备与***。用户设备与转码设备相配合,转码设备根据用户设备发起的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并建立或更新相对应的索引文件,用户设备根据所述索引文件,进行分段视频播放请求的发送与分段视频的播放等。与现有技术相比,本发明通过根据用户设备的视频播放请求进行实时转码,为各种类型的用户设备提供最相符合的视频资源;利用分布式处理的方式提高了转码效率与***利用率,快速响应用户端的播放请求,而非等到视频转码完成后再返回用户;并减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
Description
技术领域
本发明涉及互联网领域,尤其涉及一种用于提供视频信息的技术。
背景技术
尽管当前移动设备的解码性能和显示分辨率越来越好,但是由于视频格式的多样性和网络带宽及硬件资源的限制,使用户通过移动设备访问其他设备(如数码摄像机、数码照相机)或网络中的视频资源受到较大的限制。
在现有技术中,用户通过下载转码方法或离线转码方法实现对视频资源的访问与播放。其中,所述下载转码方法是指用户将所述视频资源下载到PC或其他播放设备中,使用PC或其他播放设备上的转码软件进行转码,然后上传至移动设备(如手机)进行本地观看;这种方式操作繁琐,需要用户了解一些视频方面的专业知识,受限较大。所述离线转码方法是指提供所述视频资源的视频网站会将上传的视频资源进行离线转码,存储几份拷贝,供不同的客户端选择下载观看;这种方式首先存在延时,因为从上传到离线转码完成需要一定的处理时间,其次,由于所述视频网站会为每个视频生成很多版本的视频,需要耗费大量的存储空间。
发明内容
本发明的目的是提供一种用于提供视频信息的方法、设备与***。
根据本发明的一个方面,提供了一种在用户设备端用于提供视频信息的方法,其中,该方法包括以下步骤:
-发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;
-获取所述转码设备返回的索引文件;
-根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;
-播放所述索引文件相对应的分段视频。
根据本发明的另一方面,还提供了一种在转码设备端用于辅助提供视频信息的方法,其中,该方法包括以下步骤:
-根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;
-当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;
-接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;
-根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
根据本发明的再一方面,还提供了一种用于提供视频信息的用户设备,其中,该设备包括:
请求发送装置,用于发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;
索引获取装置,用于获取所述转码设备返回的索引文件;
分段发送装置,用于根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;
播放装置,用于播放所述索引文件相对应的分段视频。
根据本发明的又一方面,还提供了一种用于辅助提供视频信息的转码设备,其中,该设备包括:
转码装置,用于根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;
索引提供装置,用于当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;
接收装置,用于接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;
分段提供装置,用于根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
根据本发明的另一方面,还提供了一种用于提供视频信息的***,包括如上述所述的用户设备及如上述所述的转码设备。
与现有技术相比,本发明通过在用户设备端发送视频播放请求至转码设备,获取所述转码设备返回的索引文件,根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求,并播放所述索引文件相对应的分段视频;相应地,在转码设备端根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件,当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备,接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求,根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。从而根据用户设备的视频播放请求进行实时转码,为各种类型的用户设备提供最相符合的视频资源;利用分布式处理的方式提高了转码效率与***利用率,快速响应用户端的播放请求,而非等到视频转码完成后再返回用户;并减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
而且,本发明还可以在所述用户设备端发送视频播放请求至转码设备,其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息;相应地,在所述转码设备端根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码,在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;从而根据用户设备的所述视频播放请求所包括的播放相关信息进行实时转码,为各种类型的用户设备提供最相符合的视频资源,改善了用户体验。
而且,本发明还可以根据预定的更新条件,对所述索引文件进行更新处理;从而实时更新所述索引文件,保证视频资源的灵活转码与流畅播放,快速响应用户端的播放请求,减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
而且,本发明还可以根据所述索引文件,获取与所述索引文件相对应的一个或多个分段视频播放信息,向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求;从而通过对所述索引文件的解析,以获取所述分段视频播放信息并向所述转码设备进行发送,实现了利用所述索引文件实时进行视频资源的转码与播放,减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
而且,本发明还可以根据所述视频播放请求所包括的播放相关信息,对所述播放请求所对应的视频进行分片,获得与所述视频相对应的一个或多个视频分片,根据预定的优先级确定规则,确定与所述视频分片所对应的转码优先级信息,根据所述视频分片所对应的转码优先级,对所述视频播放请求所对应的视频进行分片转码;从而根据用户设备的视频播放请求进行实时转码,利用分布式处理的方式提高了转码效率与***利用率,快速响应用户端的播放请求,减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
而且,本发明还可以在所述分片转码过程中,根据分片转码所获取的分段视频,结合所述视频分片所对应的转码优先级,建立或更新与所述视频播放请求相对应的索引文件;从而使得所述索引文件符合用户需求,能够快速响应用户端的播放请求,减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
而且,本发明还可以根据所述用户设备的设备相关信息和/或播放历史信息,确定所述索引文件的提供条件,然后,当所述索引文件满足所述提供条件时,将所述索引文件提供至所述用户设备;从而根据灵活提供所述索引文件,符合用户需求与所述用户设备的相关信息,快速响应用户端的播放请求,减少了服务设备的存储压力,使得用户端能够流畅观看视频,减少了用户获取视频的时间,改善了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的一种用于提供视频信息的用户设备与转码设备示意图;
图2示出根据本发明一个优选实施例的一种用于提供视频信息的用户设备与转码设备示意图;
图3示出根据本发明另一个方面的一种由用户设备与转码设备相互配和以用于提供视频信息的方法流程图;
图4示出根据本发明一个优选实施例的一种由用户设备与转码设备相互配和以用于提供视频信息的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的一种用于提供视频信息的用户设备与转码设备示意图;其中,所述用户设备1包括请求发送装置11、索引获取装置12、分段发送装置13、播放装置14,所述转码设备2包括转码装置21、索引提供装置22、接收装置23、分段提供装置24。所述用户设备与转码设备相互配合,以实现提供视频信息。
具体地,所述用户设备1的请求发送装置11发送视频播放请求至转码设备;相应地,所述转码设备2的转码装置21根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;所述索引提供装置22当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;相应地,所述用户设备1的索引获取装置12获取所述转码设备返回的索引文件;所述分段发送装置13根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;相应地,所述转码设备2的接收装置23接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;分段提供装置24根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应;相应地,所述用户设备1的播放装置14播放所述索引文件相对应的分段视频。
一个或多个用户设备1可与转码设备2通过网络相连接。在此,所述用户设备1包括但不限于个人电脑、智能手机、平板电脑、智能电视等。所述转码设备2包括但不限于网络设备、用户设备、或与网络设备和/或用户设备通过网络和/或硬件相集成所构成的设备;即本方案可以采用云端来进行分片转码,也可以通过与用户设备相连接的其他用户设备,如功能强大的PC等进行分片转码。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。所述网络设备其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络设备例如视频服务器、中转服务器等。所述用户设备其包括但不限于任何一种可与用户通过键盘、遥控器、触摸板、或声控设备进行人机交互的电子产品,例如智能手机、PDA等移动设备。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(AdHoc网络)等。用户设备1与转码设备2之间的通信方式包括但不限于基于诸如TCP/IP协议、UDP协议等的分组数据传输,而且,转码设备2与各个用户设备1之间的通信方式相互独立。
本领域技术人员应能理解上述用户设备1、转码设备2以及连接其间的网络、通信方式仅为举例,其他现有的或今后可能出现的转码设备、用户设备或网络、通信方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行视频播放请求的发送与接收、分片转码的执行、索引文件的建立或更新、索引文件的提供与接收、分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放,直至所述用户设备停止发送用户通过用户设备发起的视频播放请求至所述转码设备。
在此,本领域技术人员应能理解,在本发明中,所述对所述视频播放请求所对应的视频进行分片转码过程,以及根据分片转码所获取的分段视频、建立或更新与所述视频播放请求相对应的索引文件的过程是并行的;即实时地根据所述分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件,即使所述索引文件中没有包括所述视频所对应的转码后的全部分段视频时,只要当所述索引文件满足提供条件,也可以将包含当前已转码的分段视频信息的索引文件发送至所述用户设备;同时,所述转码设备2继续执行所述分片转码,并根据所述分片转码的转码过程,继续更新所述索引文件,并根据提供条件,将所述索引文件提供至所述用户设备。
所述用户设备1的请求发送装置11发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件。
具体地,所述请求发送装置11根据各种通信协议(如HTTP协议),通过各类数据传输接口,直接获取用户利用输入、点击、触摸等方式通过用户设备所发起的视频播放请求;或者,所述请求发送装置11根据各种通信协议,通过各类数据传输接口,与存储或提供所述视频播放请求的一个或多个数据库或其他第三方设备相交互,以获取所述数据库或所述第三方设备中所存储或提供的用户通过用户设备发起的视频播放请求;然后,所述请求发送装置11根据各种通信协议,通过各类数据传输接口,将所述视频播放请求发送至转码设备2。
相应地,所述转码设备2的转码装置21根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
具体地,所述转码装置21根据各种通信协议(如HTTP协议),通过各类数据传输接口,与所述用户设备相交互,或者与其他能够提供所述视频播放请求的第三方设备相交互,以获取所述用户设备所发送的视频播放请求。
所述转码装置21根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频分为多个视频片段,然后进行实时转码;进一步地,还可以利用一个或多个转码装置21进行分布式转码,以提高转码速度。在此,所述转码的参数(如视频分辨率、帧率、码率、音频采样率等)可以基于所述视频播放请求中的目标视频格式信息进行确定。
在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,所述转码装置21建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件。
即,当转码未完成时,所述索引文件中只包含已经转码完成的视频片段;从而在后续步骤中能够实时性的将已经转码完成的片段提供给用户端。
例如,所述转码装置21根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频以每10s的长度进行分段,将每个分段分别利用一个或多个转码装置进行并行转码;当至少一个分段转码完成后,根据所述转码后所获取的分段视频,对所述索引文件进行实时更新;从而可实现在后续步骤中,对所述索引文件的提供,例如当所述索引文件中所包含的转码后的分段视频数目超过1个时,则将所述索引文件提供至所述用户设备。
所述索引提供装置22当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备。
具体地,所述索引提供装置22实时性的获取由所述转码装置21所建立或更新的所述索引文件,当所述索引文件满足预定的提供条件时,所述索引提供装置22根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述索引文件提供至所述用户设备。
其中,所述提供条件包括以下至少任一项:
-所述索引文件中包含至少一个转码后所获取的分段视频信息,如当所述索引文件中所包含的转码后的分段视频数目超过1个时,则将所述索引文件提供至所述用户设备;
-所述索引文件中包含超过了预定数目的转码后所获取的分段视频信息,如当所述索引文件中所包含的转码后的分段视频数目超过N个时,则将所述索引文件提供至所述用户设备;
-根据预定的提供触发时间进行提供,如当获取所述视频播放请求的第X分钟,则将所述索引文件提供至所述用户设备;
-根据预定的提供触发周期进行周期性提供,如获取所述视频播放请求后的每10S后将最新的索引文件提供至所述用户设备;
-根据所述用户设备所发送的索引文件请求信息进行提供等。
相应地,所述用户设备1的索引获取装置12获取所述转码设备返回的索引文件。
具体地,所述索引获取装置12根据各种通信协议(如HTTP协议),通过各类数据传输接口,例如利用HTTP协议中的GET方法,与所述索引提供装置22相交互,以获取与所述视频播放请求相对应的索引文件。
所述分段发送装置13根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求。
具体地,所述分段发送装置13根据各种通信协议(如HTTP协议),通过各类数据传输接口,根据所述索引文件中所包含的已转码完成的分段视频信息,向所述转码设备发送与所述分段视频信息的分段视频播放请求。
相应地,所述转码设备2的接收装置23接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求。
具体地,所述接收装置23根据各种通信协议(如HTTP协议),通过各类数据传输接口,接收所述分段发送装置13所发送的发送的与所述索引文件相对应的分段视频播放请求。
分段提供装置24根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
具体地,所述分段提供装置24根据所述接收装置23所获取的分段视频播放请求,确定与所述分段视频播放请求所对应的分段视频,并根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述分段视频提供至所述用户设备;在此,所述分段视频播放请求与所述索引文件相对应,所述索引文件与所述视频播放请求相对应。
相应地,所述用户设备1的播放装置14播放所述索引文件相对应的分段视频。
具体地,所述播放装置14根据各种通信协议(如HTTP协议),通过各类数据传输接口,获取所述分段提供装置24所提供的分段视频;然后所述播放装置14播放所获取的分段视频,或者所述播放装置14根据所述索引文件中的顺序信息,依顺序播放所获取的与所述分段视频播放请求相对应的分段视频。
优选地,所述用户设备1还包括更新装置(未示出),其中,所述更新装置根据预定的更新条件,对所述索引文件进行更新处理。
具体地,所述更新装置基于预定的更新条件,当满足所述更新条件时,所述更新装置与所述索引提供装置22相交互,利用图1中所述索引提供装置22提供所述索引文件的方式,获取当前更新后的最新的索引文件或者对当前的索引文件中的数据进行更新,以实现对所述索引文件的更新;然后所述用户设备1与转码装置2的其他装置,基于所述更新后的索引文件,继续进行分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放等,以实现后续视频的播放使用。
本领域技术人员应能理解,所述分段视频的转码,以及所述索引文件的更新是同步进行的,所述用户设备1与转码设备2相互配合,以实现分段视频的实时转码与提供。
在此,所述预定的更新条件包括以下至少任一项:
-根据预定的更新时间,如基于预定的周期进行周期性更新;
-根据与所述索引文件相对应的所述视频播放请求所对应的视频的转码完成信息,如整个视频未完成,则对所述索引文件进行更新;
-根据所述索引文件的其他信息,如所述索引文件存在错误信息,则对所述索引文件进行更新以获取正确的索引文件等。
优选地,所述户设备1的分段发送装置13可以根据所述索引文件,获取与所述索引文件相对应的一个或多个分段视频播放信息;向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
具体地,所述分段发送装置13根据所述索引获取装置12所获取的索引文件,对所述索引文件进行解析,以获取与所述索引文件相对应的一个或多个分段视频播放信息;其中,所述分段视频播放信息中包括但不限于分段视频所对应的视频播放请求、分段视频的长度、分段视频的序号、分段视频是否为第一段分段视频或最后一段分段视频、分段视频的请求地址等。
然后,所述分段发送装置13根据各种通信协议(如HTTP协议),通过各类数据传输接口,根据所获取的分段视频播放信息,向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
优选地,所述转码设备2还包括条件确定装置(未示出),其中,所述条件确定装置根据所述用户设备的设备相关信息和/或播放历史信息,确定所述索引文件的提供条件;当所述索引文件满足所述提供条件时,所述索引提供装置22将所述索引文件提供至所述用户设备。
具体地,所述条件确定装置可以根据所述用户设备的设备设备相关信息和/或播放历史信息,确定与所述用户设备相对应的索引文件的提供条件;其中,所述设备相关信息包括但不限于所述用户设备的厂商、型号、CPU信息、显示器分辨率、设备播放能力,所述用户设备所对应的网络状况、可用带宽等;所述播放历史信息包括但不限于对一个或多个视频的请求频率信息、对分段视频播放请求的频率信息等。
例如,若所述用户所对应的可用带宽高于预定阈值,则缩短提供所述索引文件的周期时间,或当所述索引文件中包含一个已完成转码的分段视频时则进行提供,反之,若所述用户所对应的可用带宽低于预定阈值,则提高提供所述索引文件的周期时间,或当所述索引文件中包含N个已完成转码的分段视频时则进行提供;或者,若所述播放历史信息中显示所述用户设备的请求频率信息高于预定阈值,表明所述用户设备具有处理多个并发请求的能力,因此可以缩小向所述用户设备提供索引文件的预定响应时间,或当所述索引文件中包含一个已完成转码的分段视频时则进行提供等。
所述索引提供装置22根据所确定的提供条件,对所述提供条件是否满足进行检测;当所述索引文件满足所述提供条件时,所述索引提供装置22根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述索引文件提供至所述用户设备。
图2示出根据本发明一个优选实施例的一种用于提供视频信息的用户设备与转码设备示意图;其中,所述用户设备1包括请求发送装置11’、索引获取装置12’、分段发送装置13’、播放装置14’,所述转码设备2包括转码装置21’、索引提供装置22’、接收装置23’、分段提供装置24’,所述转码装置21’包括分片转码单元211’和索引建立单元212’。所述用户设备与转码设备相互配合,以实现提供视频信息。
具体地,所述用户设备1的请求发送装置11’发送视频播放请求至转码设备,其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;相应地,所述转码设备2的分片转码单元211’根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码;索引建立单元212’在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;所述索引提供装置22’当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;相应地,所述用户设备1的索引获取装置12’获取所述转码设备返回的索引文件;所述分段发送装置13’根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;相应地,所述转码设备2的接收装置23’接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;分段提供装置24’根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应;相应地,所述用户设备1的播放装置14’播放所述索引文件相对应的分段视频。
其中,所述用户设备1的索引获取装置12’、分段发送装置13’、播放装置14’,所述转码设备2的索引提供装置22’、接收装置23’、分段提供装置24’与图1所示对应装置相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
上述各装置之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各装置分别实时地,或者按照设定的或实时调整的工作模式要求,进行视频播放请求的发送与接收、分片转码的执行、索引文件的建立或更新、索引文件的提供与接收、分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放,直至所述用户设备停止发送用户通过用户设备发起的视频播放请求至所述转码设备。
在此,本领域技术人员应能理解,在本发明中,所述对所述视频播放请求所对应的视频进行分片转码过程,以及根据分片转码所获取的分段视频、建立或更新与所述视频播放请求相对应的索引文件的过程是并行的;即实时地根据所述分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件,即使所述索引文件中没有包括所述视频所对应的转码后的全部分段视频时,只要当所述索引文件满足提供条件,也可以将包含当前已转码的分段视频信息的索引文件发送至所述用户设备;同时,所述转码设备2继续执行所述分片转码,并根据所述分片转码的转码过程,继续更新所述索引文件,并根据提供条件,将所述索引文件提供至所述用户设备。
所述用户设备1的请求发送装置11’发送视频播放请求至转码设备,其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件。
具体地,所述请求发送装置11’根据各种通信协议(如HTTP协议),通过各类数据传输接口,直接获取用户利用输入、点击、触摸等方式通过用户设备所发起的视频播放请求;或者,所述请求发送装置11’根据各种通信协议,通过各类数据传输接口,与存储或提供所述视频播放请求的一个或多个数据库或其他第三方设备相交互,以获取所述数据库或所述第三方设备中所存储或提供的用户通过用户设备发起的视频播放请求;然后,所述请求发送装置11’根据各种通信协议,通过各类数据传输接口,将所述视频播放请求发送至转码设备2。
其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息;所述播放相关信息包括但不限于当前设备的设备相关信息(如所述设备的厂商、型号、CPU信息、显示器分辨率、所述设备所对应的网络状况、可用带宽等)和/或目标视频访问对象信息(如视频类型、播放方式(如直播或录播)等)。
相应地,所述转码设备2的分片转码单元211’根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码。
具体地,所述分片转码单元211’根据各种通信协议(如HTTP协议),通过各类数据传输接口,与所述用户设备相交互,或者与其他能够提供所述视频播放请求的第三方设备相交互,以获取所述用户设备所发送的视频播放请求。
所述分片转码单元211’根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频分为多个视频片段,然后进行实时转码;进一步地,还可以利用一个或多个分片转码单元211’进行分布式转码,以提高转码速度。在此,所述转码的参数(如视频分辨率、帧率、码率、音频采样率等)可以基于所述视频播放请求所包含的播放相关信息确定,所述播放相关信息包括但不限于当前设备的设备相关信息(如所述设备的厂商、型号、CPU信息、显示器分辨率、所述设备所对应的网络状况、可用带宽等)和/或目标视频访问对象信息(如视频类型、播放方式(如直播或录播)等)。
索引建立单元212’在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
具体地,在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,所述索引建立单元212’建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件。
即,当转码未完成时,所述索引文件中只包含已经转码完成的视频片段;从而在后续步骤中能够实时性的将已经转码完成的片段提供给用户端。
优选地,所述分片转码单元211’可以根据所述视频播放请求所包括的播放相关信息,对所述播放请求所对应的视频进行分片,获得与所述视频相对应的一个或多个视频分片;根据预定的优先级确定规则,确定与所述视频分片所对应的转码优先级信息;根据所述视频分片所对应的转码优先级,对所述视频播放请求所对应的视频进行分片转码。
具体地,所述分片转码单元211’可以根据所述视频播放请求中所包含的播放相关信息,根据不同的播放相关信息,对所述播放请求所对应的视频进行分片,例如,根据不同的网络状况,确定分片的数量、分辨率等信息,从而获得与所述视频相对应的一个或多个视频分片。
然后,所述分片转码单元211’根据预定的优先级确定规则,对所述视频分片所对应的转码优先级进行确定;其中,所述优先级确定规则包括但不限于以下至少任一项:
-根据所述视频分片所对应的顺序信息,如先转码第一片,其他则实行并行分片转码;
-根据所述视频分片所对应的内容信息,如重复的片头可以直接采用已转码好的其他片头进行播放,因此降低所述片头的转码优先级;
-根据所述视频分片所对应的播放频次信息,如某些分片播放频率较高(如对于某个视频用户采用快进的方式播放某个片段),则优先转码这些分片。
然后,所述分片转码单元211’根据所述视频分片所对应的转码优先级,按照优先级的先后顺序对所述视频分片进行分片转码。
进一步地,所述分片转码单元211’还可以根据所述视频分片所对应的转码优先级,确定与所述视频分片相对应的转码服务器,从而对所述视频播放请求所对应的视频进行分片转码。
优选地,所述索引建立单元212’可以在所述分片转码过程中,根据分片转码所获取的分段视频,结合所述视频分片所对应的转码优先级,建立或更新与所述视频播放请求相对应的索引文件。
具体地,在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,结合所述视频分片所对应的转码优先级,所述索引建立单元212’建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件;若存在多个视频片段同时转码完成,则优先在索引文件中更新转码优先级高的视频分片。
图3示出根据本发明另一个方面的一种由用户设备与转码设备相互配和以用于提供视频信息的方法流程图。所述用户设备与转码设备相互配合,以实现提供视频信息。
具体地,在步骤s1中,所述用户设备1发送视频播放请求至转码设备;相应地,在步骤s2中,所述转码设备2根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;在步骤s3中,所述转码设备2当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;相应地,在步骤s3中,所述用户设备1获取所述转码设备返回的索引文件;在步骤s4中,所述用户设备1根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;相应地,在步骤s4中,所述转码设备2接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;在步骤s5中,所述转码设备2根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应;相应地,在步骤s6中,所述用户设备1播放所述索引文件相对应的分段视频。
上述各步骤之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各步骤分别实时地,或者按照设定的或实时调整的工作模式要求,进行视频播放请求的发送与接收、分片转码的执行、索引文件的建立或更新、索引文件的提供与接收、分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放,直至所述用户设备停止发送用户通过用户设备发起的视频播放请求至所述转码设备。
在此,本领域技术人员应能理解,在本发明中,所述对所述视频播放请求所对应的视频进行分片转码过程,以及根据分片转码所获取的分段视频、建立或更新与所述视频播放请求相对应的索引文件的过程是并行的;即实时地根据所述分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件,即使所述索引文件中没有包括所述视频所对应的转码后的全部分段视频时,只要当所述索引文件满足提供条件,也可以将包含当前已转码的分段视频信息的索引文件发送至所述用户设备;同时,所述转码设备2继续执行所述分片转码,并根据所述分片转码的转码过程,继续更新所述索引文件,并根据提供条件,将所述索引文件提供至所述用户设备。
在步骤s1中,所述用户设备1发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件。
具体地,在步骤s1中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,直接获取用户利用输入、点击、触摸等方式通过用户设备所发起的视频播放请求;或者,在步骤s1中,所述用户设备1根据各种通信协议,通过各类数据传输接口,与存储或提供所述视频播放请求的一个或多个数据库或其他第三方设备相交互,以获取所述数据库或所述第三方设备中所存储或提供的用户通过用户设备发起的视频播放请求;然后,在步骤s1中,所述用户设备1根据各种通信协议,通过各类数据传输接口,将所述视频播放请求发送至转码设备2。
相应地,在步骤s2中,所述转码设备2根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
具体地,在步骤s2中,所述转码设备2根据各种通信协议(如HTTP协议),通过各类数据传输接口,与所述用户设备相交互,或者与其他能够提供所述视频播放请求的第三方设备相交互,以获取所述用户设备所发送的视频播放请求。
在步骤s2中,所述转码设备2根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频分为多个视频片段,然后进行实时转码;进一步地,还可以利用一个或多个在步骤s2中,所述转码设备2进行分布式转码,以提高转码速度。在此,所述转码的参数(如视频分辨率、帧率、码率、音频采样率等)可以基于所述视频播放请求中的目标视频格式信息进行确定。
在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,在步骤s2中,所述转码设备2建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件。
即,当转码未完成时,所述索引文件中只包含已经转码完成的视频片段;从而在后续步骤中能够实时性的将已经转码完成的片段提供给用户端。
例如,在步骤s2中,所述转码设备2根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频以每10s的长度进行分段,将每个分段分别利用一个或多个转码设备进行并行转码;当至少一个分段转码完成后,根据所述转码后所获取的分段视频,对所述索引文件进行实时更新;从而可实现在后续步骤中,对所述索引文件的提供,例如当所述索引文件中所包含的转码后的分段视频数目超过1个时,则将所述索引文件提供至所述用户设备。
在步骤s3中,所述转码设备2当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备。
具体地,在步骤s3中,所述转码设备2实时性的获取由所述步骤s2所建立或更新的所述索引文件,当所述索引文件满足预定的提供条件时,在步骤s3中,所述转码设备2根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述索引文件提供至所述用户设备。
其中,所述提供条件包括以下至少任一项:
-所述索引文件中包含至少一个转码后所获取的分段视频信息,如当所述索引文件中所包含的转码后的分段视频数目超过1个时,则将所述索引文件提供至所述用户设备;
-所述索引文件中包含超过了预定数目的转码后所获取的分段视频信息,如当所述索引文件中所包含的转码后的分段视频数目超过N个时,则将所述索引文件提供至所述用户设备;
-根据预定的提供触发时间进行提供,如当获取所述视频播放请求的第X分钟,则将所述索引文件提供至所述用户设备;
-根据预定的提供触发周期进行周期性提供,如获取所述视频播放请求后的每10S后将最新的索引文件提供至所述用户设备;
-根据所述用户设备所发送的索引文件请求信息进行提供等。
相应地,在步骤s3中,所述用户设备1获取所述转码设备返回的索引文件。
具体地,在步骤s3中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,例如利用HTTP协议中的GET方法,与所述转码设备2相交互,以获取与所述视频播放请求相对应的索引文件。
在步骤s4中,所述用户设备1根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求。
具体地,在步骤s4中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,根据所述索引文件中所包含的已转码完成的分段视频信息,向所述转码设备发送与所述分段视频信息的分段视频播放请求。
相应地,在步骤s4中,所述转码设备2接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求。
具体地,在步骤s4中,所述转码设备2根据各种通信协议(如HTTP协议),通过各类数据传输接口,接收所述用户设备1所发送的发送的与所述索引文件相对应的分段视频播放请求。
在步骤s5中,所述转码设备2根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
具体地,在步骤s5中,所述转码设备2根据所述步骤s4所获取的分段视频播放请求,确定与所述分段视频播放请求所对应的分段视频,并根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述分段视频提供至所述用户设备;在此,所述分段视频播放请求与所述索引文件相对应,所述索引文件与所述视频播放请求相对应。
相应地,在步骤s6中,所述用户设备1播放所述索引文件相对应的分段视频。
具体地,在步骤s6中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,获取所述转码设备2所提供的分段视频;然后在步骤s6中,所述用户设备1播放所获取的分段视频,或者在步骤s6中,所述用户设备1根据所述索引文件中的顺序信息,依顺序播放所获取的与所述分段视频播放请求相对应的分段视频。
优选地,所述用户设备1还包括步骤s7(未示出),其中,在步骤s7中,所述用户设备1根据预定的更新条件,对所述索引文件进行更新处理。
具体地,在步骤s7中,所述用户设备1基于预定的更新条件,当满足所述更新条件时,所述用户设备1与所述转码设备2相交互,利用图3中所述步骤s3中的转码设备2提供所述索引文件的方式,获取当前更新后的最新的索引文件,以实现对所述索引文件的更新;然后所述用户设备1与转码设备2的其他装置,基于所述更新后的索引文件,继续进行分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放等,以实现后续视频的播放使用。
本领域技术人员应能理解,所述分段视频的转码,以及所述索引文件的更新是同步进行的,所述用户设备1与转码设备2相互配合,以实现分段视频的实时转码与提供。
在此,所述预定的更新条件包括以下至少任一项:
-根据预定的更新时间,如基于预定的周期进行周期性更新;
-根据与所述索引文件相对应的所述视频播放请求所对应的视频的转码完成信息,如整个视频未完成,则对所述索引文件进行更新;
-根据所述索引文件的其他信息,如所述索引文件存在错误信息,则对所述索引文件进行更新以获取正确的索引文件等。
优选地,在步骤s4中,所述用户设备1可以根据所述索引文件,获取与所述索引文件相对应的一个或多个分段视频播放信息;向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
具体地,在步骤s4中,所述用户设备1根据所述步骤s3中所获取的索引文件,对所述索引文件进行解析,以获取与所述索引文件相对应的一个或多个分段视频播放信息;其中,所述分段视频播放信息中包括但不限于分段视频所对应的视频播放请求、分段视频的长度、分段视频的序号、分段视频是否为第一段分段视频或最后一段分段视频、分段视频的请求地址等。
然后,在步骤s4中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,根据所获取的分段视频播放信息,向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
优选地,所述转码设备2还包括步骤s8(未示出),其中,在步骤s8中,所述转码设备2根据所述用户设备的设备相关信息和/或播放历史信息,确定所述索引文件的提供条件;当所述索引文件满足所述提供条件时,在步骤s3中,所述转码设备2将所述索引文件提供至所述用户设备。
具体地,在步骤s8中,所述转码设备2可以根据所述用户设备的设备设备相关信息和/或播放历史信息,确定与所述用户设备相对应的索引文件的提供条件;其中,所述设备相关信息包括但不限于所述用户设备的厂商、型号、CPU信息、显示器分辨率、设备播放能力,所述用户设备所对应的网络状况、可用带宽等;所述播放历史信息包括但不限于对一个或多个视频的请求频率信息、对分段视频播放请求的频率信息等。
例如,若所述用户所对应的可用带宽高于预定阈值,则缩短提供所述索引文件的周期时间,或当所述索引文件中包含一个已完成转码的分段视频时则进行提供,反之,若所述用户所对应的可用带宽低于预定阈值,则提高提供所述索引文件的周期时间,或当所述索引文件中包含N个已完成转码的分段视频时则进行提供;或者,若所述播放历史信息中显示所述用户设备的请求频率信息高于预定阈值,表明所述用户设备具有处理多个并发请求的能力,因此可以缩小向所述用户设备提供索引文件的预定响应时间,或当所述索引文件中包含一个已完成转码的分段视频时则进行提供等。
在步骤s3中,所述转码设备2根据所确定的提供条件,对所述提供条件是否满足进行检测;当所述索引文件满足所述提供条件时,在步骤s3中,所述转码设备2根据各种通信协议(如HTTP协议),通过各类数据传输接口,将所述索引文件提供至所述用户设备。
图4示出根据本发明一个优选实施例的一种由用户设备与转码设备相互配和以用于提供视频信息的方法流程图。所述用户设备与转码设备相互配合,以实现提供视频信息。
具体地,在步骤s1’中,所述用户设备1发送视频播放请求至转码设备,其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;相应地,在步骤s21’中,所述转码设备2根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码;在步骤s22’中,所述转码设备2在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;在步骤s3’中,所述转码设备2当所述索引文件满足提供条件时,将所述索引文件提供至所述用户设备;相应地,在步骤s3’中,所述用户设备1获取所述转码设备返回的索引文件;在步骤s4’中,所述用户设备1根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;相应地,在步骤s4’中,所述转码设备2接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;在步骤s5’中,所述转码设备2根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应;相应地,在步骤s6’中,所述用户设备1播放所述索引文件相对应的分段视频。
其中,所述用户设备1与所述转码设备2的步骤s3’、步骤s4’、步骤s5’、步骤s6’与图3所示对应步骤相同或基本相同,故此处不再赘述,并通过引用的方式包含于此。
上述各步骤之间是持续不断工作的,在此,本领域技术人员应理解“持续”是指上述各步骤分别实时地,或者按照设定的或实时调整的工作模式要求,进行视频播放请求的发送与接收、分片转码的执行、索引文件的建立或更新、索引文件的提供与接收、分段视频播放请求的发送与接收、分段视频的提供以及分段视频的播放,直至所述用户设备停止发送用户通过用户设备发起的视频播放请求至所述转码设备。
在此,本领域技术人员应能理解,在本发明中,所述对所述视频播放请求所对应的视频进行分片转码过程,以及根据分片转码所获取的分段视频、建立或更新与所述视频播放请求相对应的索引文件的过程是并行的;即实时地根据所述分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件,即使所述索引文件中没有包括所述视频所对应的转码后的全部分段视频时,只要当所述索引文件满足提供条件,也可以将包含当前已转码的分段视频信息的索引文件发送至所述用户设备;同时,所述转码设备2继续执行所述分片转码,并根据所述分片转码的转码过程,继续更新所述索引文件,并根据提供条件,将所述索引文件提供至所述用户设备。
在步骤s1’中,所述用户设备1发送视频播放请求至转码设备,其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件。
具体地,在步骤s1’中,所述用户设备1根据各种通信协议(如HTTP协议),通过各类数据传输接口,直接获取用户利用输入、点击、触摸等方式通过用户设备所发起的视频播放请求;或者,在步骤s1’中,所述用户设备1根据各种通信协议,通过各类数据传输接口,与存储或提供所述视频播放请求的一个或多个数据库或其他第三方设备相交互,以获取所述数据库或所述第三方设备中所存储或提供的用户通过用户设备发起的视频播放请求;然后,在步骤s1’中,所述用户设备1根据各种通信协议,通过各类数据传输接口,将所述视频播放请求发送至转码设备2。
其中,所述视频播放请求中包括与所述用户设备相对应的播放相关信息;所述播放相关信息包括但不限于当前设备的设备相关信息(如所述设备的厂商、型号、CPU信息、显示器分辨率、所述设备所对应的网络状况、可用带宽等)和/或目标视频访问对象信息(如视频类型、播放方式(如直播或录播)等)。
相应地,在步骤s21’中,所述转码设备2根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码。
具体地,在步骤s21’中,所述转码设备2根据各种通信协议(如HTTP协议),通过各类数据传输接口,与所述用户设备相交互,或者与其他能够提供所述视频播放请求的第三方设备相交互,以获取所述用户设备所发送的视频播放请求。
在步骤s21’中,所述转码设备2根据所述视频播放请求,启动实时转码任务,将所述视频播放请求所对应的视频分为多个视频片段,然后进行实时转码;进一步地,还可以利用一个或多个转码设备进行分布式转码,以提高转码速度。在此,所述转码的参数(如视频分辨率、帧率、码率、音频采样率等)可以基于所述视频播放请求所包含的播放相关信息确定,所述播放相关信息包括但不限于当前设备的设备相关信息(如所述设备的厂商、型号、CPU信息、显示器分辨率、所述设备所对应的网络状况、可用带宽等)和/或目标视频访问对象信息(如视频类型、播放方式(如直播或录播)等)。
在步骤s22’中,所述转码设备2在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
具体地,在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,在步骤s22’中,所述转码设备2建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件。
即,当转码未完成时,所述索引文件中只包含已经转码完成的视频片段;从而在后续步骤中能够实时性的将已经转码完成的片段提供给用户端。
优选地,在步骤s21’中,所述转码设备2可以根据所述视频播放请求所包括的播放相关信息,对所述播放请求所对应的视频进行分片,获得与所述视频相对应的一个或多个视频分片;根据预定的优先级确定规则,确定与所述视频分片所对应的转码优先级信息;根据所述视频分片所对应的转码优先级,对所述视频播放请求所对应的视频进行分片转码。
具体地,在步骤s21’中,所述转码设备2可以根据所述视频播放请求中所包含的播放相关信息,根据不同的播放相关信息,对所述播放请求所对应的视频进行分片,例如,根据不同的网络状况,确定分片的数量、分辨率等信息,从而获得与所述视频相对应的一个或多个视频分片。
然后,在步骤s21’中,所述转码设备2根据预定的优先级确定规则,对所述视频分片所对应的转码优先级进行确定;其中,所述优先级确定规则包括但不限于以下至少任一项:
-根据所述视频分片所对应的顺序信息,如先转码第一片,其他则实行并行分片转码;
-根据所述视频分片所对应的内容信息,如重复的片头可以直接采用已转码好的其他片头进行播放,因此降低所述片头的转码优先级;
-根据所述视频分片所对应的播放频次信息,如某些分片播放频率较高(如对于某个视频用户采用快进的方式播放某个片段),则优先转码这些分片。
然后,在步骤s21’中,所述转码设备2根据所述视频分片所对应的转码优先级,按照优先级的先后顺序对所述视频分片进行分片转码。
进一步地,在步骤s21’中,所述转码设备2还可以根据所述视频分片所对应的转码优先级,确定与所述视频分片相对应的转码服务器,从而对所述视频播放请求所对应的视频进行分片转码。
优选地,在步骤s22’中,所述转码设备2可以在所述分片转码过程中,根据分片转码所获取的分段视频,结合所述视频分片所对应的转码优先级,建立或更新与所述视频播放请求相对应的索引文件。
具体地,在所述分片转码过程中,当每个视频片段的转码任务完成后,根据分片转码所获取的分段视频,结合所述视频分片所对应的转码优先级,在步骤s22’中,所述转码设备2建立或更新与所述视频播放请求相对应的索引文件;即,若不存在所述索引文件,则当至少一个视频片段转码完成后,建立所述索引文件;若存在所述索引文件,则当至少一个视频片段转码完成后,更新所述索引文件;若存在多个视频片段同时转码完成,则优先在索引文件中更新转码优先级高的视频分片。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (11)
1.一种在用户设备端用于提供视频信息的方法,其中,该方法包括以下步骤:
-发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;
-获取所述转码设备返回的索引文件,其中,所述索引文件的提供条件是所述转码设备根据所述用户设备的设备相关信息和/或播放历史信息来确定的;
-根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;
-播放所述索引文件相对应的分段视频。
2.根据权利要求1所述的方法,其中,所述获取所述转码设备返回的索引文件之后,所述方法还包括:
-根据预定的更新条件,对所述索引文件进行更新处理。
3.根据权利要求1或2所述的方法,其中,所述根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求的步骤包括:
-根据所述索引文件,获取与所述索引文件相对应的一个或多个分段视频播放信息;
-向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
4.一种在转码设备端用于辅助提供视频信息的方法,其中,该方法包括以下步骤:
-根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;
-根据所述用户设备的设备相关信息和/或播放历史信息,确定所述索引文件的提供条件;
-当所述索引文件满足所述提供条件时,将所述索引文件提供至所述用户设备;
-接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;
-根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
5.根据权利要求4所述的方法,其中,所述建立或更新与所述视频播放请求相对应的索引文件的步骤包括:
-根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码;
-在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
6.一种用于提供视频信息的用户设备,其中,该设备包括:
请求发送装置,用于发送视频播放请求至转码设备,其中,所述视频播放请求用于所述转码设备根据所述视频播放请求启动分片转码并当每完成一段视频的转码便会更新索引文件;
索引获取装置,用于获取所述转码设备返回的索引文件,其中,所述索引文件的提供条件是所述转码设备根据所述用户设备的设备相关信息和/或播放历史信息来确定的;
分段发送装置,用于根据索引文件向所述转码设备发送与所述索引文件相对应的分段视频播放请求;
播放装置,用于播放所述索引文件相对应的分段视频。
7.根据权利要求6所述的用户设备,其中,所述用户设备还包括:
更新装置,用于根据预定的更新条件,对所述索引文件进行更新处理。
8.根据权利要求6或7所述的用户设备,其中,所述分段发送装置用于:
-根据所述索引文件,获取与所述索引文件相对应的一个或多个分段视频播放信息;
-向所述转码设备发送与所述视频播放信息相对应的分段视频播放请求。
9.一种用于辅助提供视频信息的转码设备,其中,该设备包括:
转码装置,用于根据用户设备所发送的视频播放请求,对所述视频播放请求所对应的视频进行分片转码,并在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件;
条件确定装置,用于根据所述用户设备的设备相关信息和/或播放历史信息,确定所述索引文件的提供条件;
索引提供装置,用于当所述索引文件满足所述提供条件时,将所述索引文件提供至所述用户设备;
接收装置,用于接收所述用户设备发送的与所述索引文件相对应的分段视频播放请求;
分段提供装置,用于根据所述用户设备的分段视频播放请求,将与所述分段视频播放请求相对应的分段视频提供至所述用户设备,其中,所述分段视频播放请求与所述索引文件相对应。
10.根据权利要求9所述的转码设备,其中,所述转码装置包括:
分片转码单元,用于根据所述视频播放请求所包括的播放相关信息,对所述视频播放请求所对应的视频进行分片转码;
索引建立单元,用于在所述分片转码过程中,根据分片转码所获取的分段视频,建立或更新与所述视频播放请求相对应的索引文件。
11.一种用于提供视频信息的***,包括如权利要求6至8中任一项所述的用户设备及如权利要求9或10所述的转码设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086495.4A CN103916679B (zh) | 2014-03-10 | 2014-03-10 | 一种用于提供视频信息的方法、设备与*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410086495.4A CN103916679B (zh) | 2014-03-10 | 2014-03-10 | 一种用于提供视频信息的方法、设备与*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103916679A CN103916679A (zh) | 2014-07-09 |
CN103916679B true CN103916679B (zh) | 2018-04-10 |
Family
ID=51042022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410086495.4A Active CN103916679B (zh) | 2014-03-10 | 2014-03-10 | 一种用于提供视频信息的方法、设备与*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103916679B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105657449B (zh) * | 2014-12-03 | 2018-12-28 | ***通信集团公司 | 一种视频转码分配方法、装置及视频转码*** |
CN104469401A (zh) * | 2014-12-25 | 2015-03-25 | 武汉市烽视威科技有限公司 | 基于hls的点播***及点播方法 |
CN105338368B (zh) * | 2015-11-02 | 2019-03-15 | 腾讯科技(北京)有限公司 | 一种视频的直播流转点播数据的方法、装置及*** |
CN105872572A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的处理方法及装置 |
CN105959714B (zh) * | 2016-04-28 | 2019-04-05 | 武汉斗鱼网络科技有限公司 | 根据用户的硬件环境自动推荐网络直播参数的方法和*** |
CN105872807A (zh) * | 2016-05-16 | 2016-08-17 | 乐视控股(北京)有限公司 | 一种视频播放的方法和*** |
CN106817588B (zh) * | 2017-02-06 | 2019-07-05 | 网宿科技股份有限公司 | 转码控制方法及装置、视频直播方法及*** |
CN106961613A (zh) * | 2017-03-30 | 2017-07-18 | 上海七牛信息技术有限公司 | 一种流式实时转码点播方法及*** |
CN108322772A (zh) * | 2018-01-30 | 2018-07-24 | 北京奇艺世纪科技有限公司 | 一种视频文件处理方法、装置及电子设备 |
CN110213616B (zh) * | 2018-05-15 | 2021-12-28 | 腾讯科技(深圳)有限公司 | 视频提供方法、获取方法、装置及设备 |
CN111698536B (zh) * | 2019-03-15 | 2023-03-28 | 瑞昱半导体股份有限公司 | 视频处理方法与*** |
CN110636340B (zh) * | 2019-09-30 | 2021-11-09 | 普联技术有限公司 | 视频文件的上传方法、存储设备、终端设备及存储介质 |
CN110856017A (zh) * | 2019-11-07 | 2020-02-28 | 西安奥卡云数据科技有限公司 | 一种视频处理方法及其装置 |
CN111031355B (zh) * | 2019-12-25 | 2021-08-27 | 湖南快乐阳光互动娱乐传媒有限公司 | 媒体资源播放处理方法、装置及*** |
CN114786042A (zh) * | 2022-04-12 | 2022-07-22 | 北京字节跳动网络技术有限公司 | 视频播放方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951512A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院深圳先进技术研究院 | 一种直播视频和实时视频的分片转码方法和*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420619A (zh) * | 2008-11-20 | 2009-04-29 | 四川长虹电器股份有限公司 | 一种分布式的媒体格式转码方法 |
CN102123303B (zh) * | 2011-03-25 | 2012-10-24 | 天脉聚源(北京)传媒科技有限公司 | 一种音视频文件播放方法、***及传输控制装置 |
CN102572555B (zh) * | 2012-01-16 | 2014-06-18 | 深圳市龙视传媒有限公司 | 一种实现hls客户端视频直播回看的方法及*** |
CN102802053A (zh) * | 2012-07-23 | 2012-11-28 | 深圳市融创天下科技股份有限公司 | 一种音视频文件转码集群调度方法及装置 |
CN103354618B (zh) * | 2013-06-24 | 2015-04-15 | 西安交通大学 | 一种基于hls的多场景流媒体自适应直播方法 |
CN103491431A (zh) * | 2013-09-11 | 2014-01-01 | 深圳市创维软件有限公司 | 一种数字电视的音视频共享方法、终端及*** |
CN103581693B (zh) * | 2013-11-12 | 2017-02-15 | 北京清源新创科技有限公司 | 面向互联网的基于分片传输的大尺度直播时移方法及*** |
-
2014
- 2014-03-10 CN CN201410086495.4A patent/CN103916679B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951512A (zh) * | 2010-08-24 | 2011-01-19 | 中国科学院深圳先进技术研究院 | 一种直播视频和实时视频的分片转码方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN103916679A (zh) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103916679B (zh) | 一种用于提供视频信息的方法、设备与*** | |
US10116572B2 (en) | Method, device, and system for acquiring streaming media data | |
CN107911437B (zh) | 屏幕共享的方法、装置、电子设备及存储介质 | |
JP5114562B2 (ja) | メディアデータを配信するシステム及び方法 | |
JP5114563B2 (ja) | メディアデータを結合するシステム及び方法 | |
CN107683600A (zh) | 用于响应于客户端的视频缓冲器特性来管理abr比特率递送的***和方法 | |
WO2017107542A1 (zh) | 视频节目获取方法、设备及*** | |
US20160294895A1 (en) | Mobile terminal and method for achieving cloud streaming medium file sharing based on dlna | |
CN109729386B (zh) | 一种视频文件启播方法、***及电子设备和存储介质 | |
US11005975B2 (en) | Rapid optimization of media stream bitrate | |
CN103607634A (zh) | 一种减少网络视频点播终端用户等待时间的方法 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、***及路由器 | |
CN104869529A (zh) | 一种移动终端、服务器及其信息管理方法 | |
CN106412106B (zh) | 消息发送方法和装置 | |
CN103581207A (zh) | 云端数据存储***及基于该***的数据存储与共享方法 | |
CN108668146A (zh) | 一种调整流媒体码率的方法及设备 | |
CN104077296A (zh) | 处理信息的方法和服务器 | |
CN103747286A (zh) | 一种用于提供视频的方法和设备 | |
JP6542346B2 (ja) | クライアント端末と少なくとも1つのサーバーの間の伝送経路に沿って配置されたキャッシュを動作させる方法、および対応するキャッシュ | |
WO2017004928A1 (zh) | 一种歌曲目录设置方法、移动终端、服务器及*** | |
CN104834649B (zh) | 能够实现多设备协同的智能设备与多设备协同工作方法 | |
CN116016556A (zh) | 投屏***的控制方法、显示设备及可读存储介质 | |
CN103581199A (zh) | 一种多屏互动场景中服务在客户端的呈现方法及*** | |
CN103488529B (zh) | 一种用于视频资源访问控制的方法与设备 | |
US20170171339A1 (en) | Advertisement data transmission method, electrnoic device and system |
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 |