在移动客户端获取视频流的方法和装置以及向移动客户端提供可执行代码的方法和装置与流程

文档序号:14843425发布日期:2018-06-30 14:28阅读:487来源:国知局
在移动客户端获取视频流的方法和装置以及向移动客户端提供可执行代码的方法和装置与流程

本申请涉及视频嗅探技术,具体涉及在移动客户端获取视频流的方法和装置以及向移动客户端提供与视频内容相关的可执行代码的方法和装置。



背景技术:

随着互联网等媒介和视频技术的发展,视频文件被越来越多地用于信息传播。无论是通过电视媒体还是通过网络媒体等,人们会通过大量的视频文件来获取信息或者观看自己感兴趣的节目。如何对视频进行有效的聚合和使用成为了当前研究的热点。

PC网页端通常以flash播放器为主播放视频文件,移动网页端通常以H5播放器为主。然而,移动客户端播放器通常只支持类似flv、mp4、m3u8格式的视频流。因此,PC网页端和移动网页端这两种视频资源均无法在移动客户端播放器中直接播放和下载。

在现有技术中,通常是在服务器端部署嗅探模块。当服务器接收到移动客户端连接网页的请求时,如果该网页上嵌入有视频内容,则服务器利用其内部署的嗅探模块提取视频内容的视频流,然后通过HTTP接口发送给移动客户端。

然而,由于视频流本身文件较大,视频提供方会将视频流传输到部署在各地的多个cdn节点上。当用户播放或者下载该视频流时,会请求最近的cdn节点向用户发送视频流,以达到最佳的用户体验。众所周知,不同的cdn节点,视频文件的请求地址是不同的。如果通过服务器的嗅探模块提取视频文件的话,为了达到更好的视频播放和下载速度,则需要在不同的地域部署多个服务器进行嗅探。如此,则大大提高了成本。

另一方面,现有的视频内容的提供方(例如,各视频网站)通常会对视频文件的视频流本身做有效性校验。比如一个视频流只能在10分钟内请求,如果超过该时间,则将被设置为无效请求。如此,如果在服务器端对视频文件进行嗅探的话,为了保证视频流的有效性,服务器对同一个视频需要做周期性的嗅探。这将大大耗费资源。



技术实现要素:

本申请提供了在移动客户端获取视频流的方法和装置以及向移动客户端提供与视频内容相关的可执行代码的方法和装置。

根据本申请的一个方面,在移动客户端获取视频流的方法包括:向服务器发送访问网页的请求,所述网页中嵌入有视频内容;执行从所述服务器接收的、与所述视频内容相关联的可执行代码,以获取所述视频内容的网络地址;以及根据所述网络地址获取所述视频内容的视频流。

根据一个实施方式,所述可执行代码为lua码。

根据一个实施方式,所述可执行代码为跨域代码。

根据一个实施方式,执行从所述服务器接收的、与所述视频内容相关联的可执行代码包括:在预设的lua执行环境中执行所述lua码。

根据一个实施方式,所述可执行代码嵌入有所述视频内容的播放规则和嗅探规则,所述嗅探规则包括所述视频内容的真实URL地址,并且所述方法还包括:根据所述视频内容的播放规则在移动客户端播放所述视频内容。

根据一个实施方式,在执行从所述服务器接收的、与所述视频内容相关联的可执行代码之后,所述方法还包括:存储所述可执行代码中嵌入的播放规则,并记录所述播放规则的提供方。

根据本申请的另一方面,向移动客户端提供与视频内容相关的可执行代码的方法包括:从移动客户端发送的请求中提取网页的链接地址,所述网页中嵌入有视频内容;生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码;以及将生成的可执行代码发送至所述移动客户端。

根据一个实施方式,所述可执行代码为lua码。

根据一个实施方式,所述可执行代码为跨域代码。

根据一个实施方式,生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码包括:获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则;以及根据所述视频播放规则与所述嗅探规则生成所述可执行代码。

根据一个实施方式,所述嗅探规则包括所述视频内容的真实URL地址。

根据一个实施方式,所述视频播放规则包括视频数据接口信息、页面元素信息以及视频数据加解密信息。

根据一个实施方式,获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则包括:识别所述视频内容的提供方;以及从所述视频内容的提供方实时下载视频播放规则。

根据一个实施方式,获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则包括:从所述视频内容的提供方周期性下载视频播放规则;以及响应于从所述移动客户端接收的所述请求,将从所述视频内容的提供方最后一次下载的视频播放规则确定为所述视频内容的提供方的视频播放规则。

根据一个实施方式,获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则还包括:创建视频播放规则与提供方的对应关系表;以及在所创建的对应关系表中存储从视频内容的提供方下载的视频播放规则;并且响应于从所述移动客户端接收的所述请求,将从所述视频内容的提供方最后一次下载的视频播放规则确定为所述视频内容的提供方的视频播放规则包括:从所述对应关系表中查找视频播放规则。

根据本申请的另一方面,用于获取视频流的移动终端装置包括:发送单元,向服务器发送访问网页的请求,所述网页中嵌入有视频内容;执行单元,执行从所述服务器接收的、与所述视频内容相关联的可执行代码,以获取所述视频内容的网络地址;以及获取单元,根据所述网络地址获取所述视频内容的视频流。

根据一个实施方式,所述可执行代码为lua码。

根据一个实施方式,所述可执行代码为跨域代码。

根据一个实施方式,所述执行单元包括lua执行模块,所述lua执行模块预设有lua执行环境,以用于执行所述lua码。

根据一个实施方式,所述可执行代码嵌入有所述视频内容的播放规则和嗅探规则,所述播放规则包括视频数据接口信息、页面元素信息以及视频数据加解密信息,所述嗅探规则包括所述视频内容的真实URL地址,并且所述移动终端装置还包括:播放单元,根据所述视频内容的播放规则播放所述视频内容。

根据一个实施方式,该移动终端装置还包括:存储记录单元,存储所述可执行代码中嵌入的播放规则,并记录所述播放规则的提供方。

根据本申请的另一方面,用于向移动客户端提供与视频内容相关的可执行代码的服务器包括:提取单元,从移动客户端发送的请求中提取网页的链接地址,所述网页中嵌入有视频内容;生成单元,生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码;以及发送单元,将生成的可执行代码发送至所述移动客户端。

根据一个实施方式,所述可执行代码为lua码。

根据一个实施方式,所述可执行代码为跨域代码。

根据一个实施方式,所述生成单元包括:获取子单元,获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则;以及生成子单元,根据所述视频播放规则与所述嗅探规则生成所述可执行代码。

根据一个实施方式,所述嗅探规则包括所述视频内容的真实URL地址。

根据一个实施方式,所述视频播放规则包括视频数据接口信息、页面元素信息以及视频数据加解密信息。

根据一个实施方式,所述获取子单元包括:识别模块,识别所述视频内容的提供方;以及下载模块,从所述视频内容的提供方实时下载视频播放规则。

根据一个实施方式,所述获取子单元包括:下载模块,从所述视频内容的提供方周期性下载视频播放规则;以及确定模块,响应于从所述移动客户端接收的所述请求,将从所述视频内容的提供方最后一次下载的视频播放规则确定为所述视频内容的提供方的视频播放规则。

根据一个实施方式,所述获取子单元还包括:创建模块,创建视频播放规则与提供方的对应关系表;以及存储模块,在所创建的对应关系表中存储从视频内容的提供方下载的视频播放规则;并且所述确定模块包括:查找子模块,从所述对应关系表中查找视频播放规则。

附图说明

图1示出了根据本申请一个实施方式在移动客户端获取视频流的方法的流程图。

图2示出了根据另一实施方式在移动客户端获取视频流的方法的流程图。

图3示出了根据另一实施方式在移动客户端获取视频流的方法的流程图。

图4示出了根据本申请一个实施方式向移动客户端提供与视频内容相关的可执行代码的方法的流程图。

图5示出了根据本申请一个实施方式生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码的流程图。

图6示出了根据本申请一个实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。

图7示出了根据本申请另一实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。

图8示出了根据本申请另一实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。

图9示出了根据本申请一个实施方式用于获取视频流的移动终端装置的框图。

图10示出了根据本申请另一实施方式用于获取视频流的移动终端装置的框图。

图11示出了根据本申请另一实施方式用于获取视频流的移动终端装置的框图。

图12示出了根据本申请一个实施方式用于向移动客户端提供与视频内容相关的可执行代码的服务器的框图。

图13示出了根据本申请一个实施方式的生成单元的框图。

图14示出了根据本申请一个实施方式的获取子单元的框图。

图15示出了根据本申请另一实施方式的获取子单元的框图。

图16示出了根据本申请另一实施方式的获取子单元的框图。

具体实施方式

以下参照附图对本申请的实施方式进行详细描述。应注意,以下描述仅仅是示例性的,而并不旨在限制本申请。此外,在以下描述中,将采用相同的附图标号表示不同附图中的相同或相似的部件。在以下描述的不同实施方式中的不同特征,可彼此结合,以形成本申请范围内的其他实施方式。

图1示出了根据本申请一个实施方式在移动客户端获取视频流的方法的流程图。如图1所示,该方法1000包括步骤S1100至S1300。

在步骤S1100中,向服务器发送访问网页的请求,该网页中嵌入有视频内容。当用户使用移动终端(如,手机、平板电脑等)收看视频节目时,可在移动客户端上访问嵌入有视频内容的网页。用户连接该网页或点击该网页上的视频内容,即可视为向服务器发出访问请求。

随后,在步骤S1200中,执行从服务器接收的、与该视频内容相关联的可执行代码,以获取该视频内容的网络地址。当服务器接收到上述步骤S1100发出的请求后,可生成与视频内容相关联的可执行代码,该可执行代码可嵌入有视频内容的嗅探规则(如,视频内容的真实URL地址)。服务器端的具体操作将在下文中详细描述。由此,在步骤S1200中,执行该可执行代码,则能够获取该视频内容的嗅探规则,即,可获取视频内容的网络地址。

在步骤S1300中,可根据该网络地址获取视频内容的视频流。

由此,可在移动客户端接收并执行服务器发送的可执行代码,并根据由此获得的网络地址获取视频内容的视频流,从而可在移动客户端直接播放视频内容。该视频流是根据用户的移动终端当前地域及网络条件实时获取的,从而避免了在不同地域部署多个服务器的开销。此外,服务器所发送的可执行代码可以是实时生成的,由此,可满足视频内容提供方的有效性校验的要求,保证视频流的有效性。

根据一个实施方式,由服务器生成的可执行代码可以是跨域代码(如,利用Javascript编写的代码)。根据一个实施例,该可执行代码可以是lua码。通常,lua码仅仅为100k左右的大小,因此,由服务器下发给用户的lua码文件所用的传输时间较少,使得用户能够即刻进入视频内容的播放,从而大大提高了用户的收看体验。

此外,若该可执行代码为lua码,则在上述步骤S1200中执行该lua码时,可在预设的lua执行环境中执行该lua码。也就是说,根据本实施方式,在移动客户端需要预设有lua执行环境,从而才能够实现对lua码的执行功能。

根据一个实施方式,由服务器生成的可执行代码可嵌入有视频内容的播放规则和嗅探规则。播放规则可包括视频数据接口信息、页面元素信息以及视频数据加解密信息等。嗅探规则可包括视频内容的真实URL地址。

图2示出了根据另一实施方式在移动客户端获取视频流的方法的流程图。如图2所示,除了步骤S1100至S1300之外,该方法1000’还包括步骤S1400。为了简要起见,以下将仅描述图2所示的实施方式与图1的不同之处,并将略去其相同之处的详细描述。

在步骤S1400中,根据视频内容的播放规则在移动客户端播放该视频内容。对于由不同的视频提供方提供的视频内容,其播放规则往往是不同的。也就是说,不同的视频提供方所遵循的播放规则往往不同。由于从服务器接收的可执行代码中已嵌入了视频内容的播放规则,从而可以在移动客户端按照该播放规则正常播放视频内容。

图3示出了根据另一实施方式在移动客户端获取视频流的方法的流程图。如图3所示,除了步骤S1100至S1400之外,该方法1000”还包括步骤S1500。为了简要起见,以下将仅描述图3所示的实施方式与图2的不同之处,并将略去其相同之处的详细描述。

在步骤S1500中,存储可执行代码中嵌入的播放规则,并记录播放规则的提供方。如上所述,由于不同的视频提供方所遵循的播放规则往往不同,因此,存储播放规则并记录播放规则的提供方,可在下次播放同一提供方提供的视频内容时,通过所记录的内容,直接查找到并利用已存储的播放规则,从而简化了操作,并节省了处理时间。

图4示出了根据本申请一个实施方式向移动客户端提供与视频内容相关的可执行代码的方法的流程图。如图4所示,该方法4000包括步骤S4100至S4300。

在步骤S4100中,从移动客户端发送的请求中提取网页的链接地址,该网页中嵌入有视频内容。在服务器端,当用户通过移动客户端发送访问嵌入有视频内容的网页的请求时,服务器可从该请求中提取网页的链接地址。

随后,在步骤S4200中,生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码。该可执行代码可嵌入有视频内容的视频播放规则(如,视频数据接口信息、页面元素信息以及视频数据加解密信息等)和嗅探规则(如,视频内容的真实URL地址)。并且,在步骤S4300中,将生成的可执行代码发送至移动客户端。由此,在服务器端根据用户发送的访问请求生成可执行代码,并提供给移动客户端,以供移动客户端执行该可执行代码,从而能够在移动客户端获取视频内容的嗅探规则并根据嗅探规则获取视频流。

根据一个实施方式,在上述步骤S4200中生成的可执行代码可以是跨域代码(如,利用Javascript编写的代码)。根据一个实施例,该可执行代码还可以是lua码。

图5示出了根据本申请一个实施方式生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码的流程图。如图5所示,上述步骤S4200可包括子步骤S4210和S4220。

在子步骤S4210中,获取视频内容的提供方的视频播放规则和视频内容的嗅探规则。当服务器端接收到移动客户端对网页的访问请求时,可获取该网页中嵌入的视频内容的提供方的视频播放规则和视频内容的嗅探规则。具体获取方式将在下文中详细描述。

随后,在子步骤S4220中,根据视频播放规则与嗅探规则生成可执行代码。也就是说,可执行代码中嵌入有视频内容的播放规则和嗅探规则,从而使得移动客户端在接收到该可执行代码后,可通过执行该代码获知视频内容的播放规则和嗅探规则,从而能够顺利下载并播放该视频内容。

图6示出了根据本申请一个实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。如图6所示,上述子步骤S4210可包括子步骤S4211和S4212。

在子步骤S4211中,识别视频内容的提供方。当服务器端接收到移动客户端对网页的访问请求时,可通过该网页中嵌入的视频内容的参数信息识别出该视频内容的提供方。随后,在子步骤S4212中,从视频内容的提供方实时下载视频播放规则。

由此,服务器端在生成可执行代码时所利用的视频内容提供方的视频播放规则是根据用户的请求在该提供方实时下载的,从而能够确保该播放规则是最新规则,以确保移动客户端在执行该可执行代码后能够顺利播放视频内容。

图7示出了根据本申请另一实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。如图7所示,子步骤S4210’可包括子步骤S4215和S4216。

在子步骤S4215中,从视频内容的提供方周期性下载视频播放规则。根据本实施方式,服务器端无论是否接收到移动客户端对网页的访问请求,均可周期性地从视频内容的提供方下载其视频播放规则。在子步骤S4216中,响应于从移动客户端接收的请求,将从视频内容的提供方最后一次下载的视频播放规则确定为该视频内容的提供方的视频播放规则。当服务器端接收到移动客户端的访问请求时,可无需再从视频内容的提供方下载其视频播放规则,而是采用最后一次下载的视频播放规则。

由此,当服务器端收到移动客户端的访问请求时,可立即从本地选择已下载的视频播放规则,而无需再从视频内容的提供方下载,从而节省了操作时间,改善了用户体验。

图8示出了根据本申请另一实施方式获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则的流程图。如图8所示,除了步骤S4215和S4216之外,子步骤S4210”还可包括子步骤S4217和S4218。为了简要起见,以下将仅描述图8所示的实施方式与图7的不同之处,并将略去其相同之处的详细描述。

在子步骤S4217中,创建视频播放规则与提供方的对应关系表。由于不同的视频内容提供方的视频播放规则往往不同,所以,在此步骤中创建的对应关系表有利于后续根据不同的视频内容提供方查找其视频播放规则。

在子步骤S4218中,在所创建的对应关系表中存储从视频内容的提供方下载的视频播放规则。此外,根据本实施方式,上述子步骤S4216可包括:从上述对应关系表中查找视频播放规则。

由此,当用户请求访问的网页中嵌入的视频内容的提供方的视频播放规则已存储在服务器端,则服务器无需再从该提供方下载其视频播放规则,而只需要从本地获取即可,从而节省了操作时间,改善了用户体验。

图9示出了根据本申请一个实施方式用于获取视频流的移动终端装置的框图。如图9所示,该移动终端装置9000包括发送单元9100、执行单元9200和获取单元9300。发送单元9100向服务器发送访问网页的请求,所述网页中嵌入有视频内容。执行单元9200执行从所述服务器接收的、与所述视频内容相关联的可执行代码,以获取所述视频内容的网络地址。获取单元9300根据所述网络地址获取所述视频内容的视频流。

根据一个实施方式,该可执行代码可以是跨域代码(如,利用Javascript编写的代码)。根据一个实施例,该可执行代码可以是lua码。

根据一个实施方式,执行单元9200可包括lua执行模块,该lua执行模块预设有lua执行环境,以用于执行lua码。

图10示出了根据本申请另一实施方式用于获取视频流的移动终端装置的框图。如图10所示,除了发送单元9100、执行单元9200和获取单元9300之外,该移动终端装置9000’还包括播放单元9400。为了简要起见,以下将仅描述图10所示的实施方式与图9的不同之处,并将略去其相同之处的详细描述。

根据该实施方式,可执行代码嵌入有所述视频内容的播放规则和嗅探规则,所述播放规则包括视频数据接口信息、页面元素信息以及视频数据加解密信息,所述嗅探规则包括所述视频内容的真实URL地址。此外,播放单元9400可根据所述视频内容的播放规则播放所述视频内容。

图11示出了根据本申请另一实施方式用于获取视频流的移动终端装置的框图。如图11所示,除了发送单元9100、执行单元9200、获取单元9300和播放单元9400可之外,该移动终端装置9000”还包括存储记录单元9500。为了简要起见,以下将仅描述图11所示的实施方式与图10的不同之处,并将略去其相同之处的详细描述。

如图11所示,存储记录单元9500存储所述可执行代码中嵌入的播放规则,并记录所述播放规则的提供方。

图12示出了根据本申请一个实施方式用于向移动客户端提供与视频内容相关的可执行代码的服务器的框图。如图12所示,该服务器12000包括提取单元12100、生成单元12200和发送单元12300。提取单元12100从移动客户端发送的请求中提取网页的链接地址,所述网页中嵌入有视频内容。生成单元12200生成与所提取的链接地址中嵌入的视频内容相对应的可执行代码。发送单元12300将生成的可执行代码发送至所述移动客户端。

根据一个实施方式,该可执行代码可以是跨域代码(如,利用Javascript编写的代码)。根据一个实施例,该可执行代码可以是lua码。

图13示出了根据本申请一个实施方式的生成单元的框图。如图13所示,生成单元12200可包括获取子单元12210和生成子单元12220。获取子单元12210获取所述视频内容的提供方的视频播放规则和所述视频内容的嗅探规则。生成子单元12220根据所述视频播放规则与所述嗅探规则生成所述可执行代码。

根据一个实施方式,嗅探规则包括所述视频内容的真实URL地址。根据另一实施方式,视频播放规则包括视频数据接口信息、页面元素信息以及视频数据加解密信息。

图14示出了根据本申请一个实施方式的获取子单元的框图。如图14所示,获取子单元12210可包括识别模块12211和下载模块12212。识别模块12211识别所述视频内容的提供方。下载模块12212从所述视频内容的提供方实时下载视频播放规则。

图15示出了根据本申请另一实施方式的获取子单元的框图。如图15所示,获取子单元12210’可包括下载模块12215和确定模块12216。下载模块12215从所述视频内容的提供方周期性下载视频播放规则。确定模块12216响应于从所述移动客户端接收的所述请求,将从所述视频内容的提供方最后一次下载的视频播放规则确定为所述视频内容的提供方的视频播放规则。

图16示出了根据本申请另一实施方式的获取子单元的框图。如图16所示,除了下载模块12215和确定模块12216,获取子单元12210”还可包括创建模块12217和存储模块12218。创建模块12217创建视频播放规则与提供方的对应关系表。存储模块12218在所创建的对应关系表中存储从视频内容的提供方下载的视频播放规则。此外,确定模块12216可包括查找子模块,该查找子模块用于从所述对应关系表中查找视频播放规则。

本领域技术人员可以理解,本申请的技术方案可实施为系统、方法或计算机程序产品。因此,本申请可表现为完全硬件的实施例、完全软件的实施例(包括固件、常驻软件、微码等)或将软件和硬件相结合的实施例的形式,它们一般可被称为“电路”、“模块”或“系统”。此外,本申请可表现为计算机程序产品的形式,所述计算机程序产品嵌入到任何有形的表达介质中,所述有形的表达介质具有嵌入到所述介质中的计算机可用程序代码。

参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本申请。可以理解的是,可由计算机程序指令执行流程图和/或框图中的每个框、以及流程图和/或框图中的多个框的组合。这些计算机程序指令可提供给通用目的计算机、专用目的计算机或其它可编程数据处理装置的处理器,以使通过计算机或其它可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个框或多个框中指明的功能/动作的装置。

这些计算机程序指令还可存储于能够指导计算机或其它可编程数据处理装置以特定的方式实现功能的计算机可读介质中,以使存储于计算机可读介质中的指令产生包括实现流程图和/或框图中的一个框或多个框中指明的功能/动作的指令装置。

计算机程序指令还可加载到计算机或其它可编程数据处理装置上,以引起在计算机上或其它可编程装置上执行一连串的操作步骤,以产生计算机实现的过程,从而使在计算机或其它可编程装置上执行的指令提供用于实现流程图和/或框图中的一个框或多个框中指明的功能/动作的过程。

附图中的流程图和框图示出根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可表示一个模块、区段或代码的一部分,其包括一个或多个用于实现特定逻辑功能的可执行指令。还应注意,在一些可替代性实施中,框中标注的功能可以不按照附图中标注的顺序发生。例如,根据所涉及的功能性,连续示出的两个框实际上可大致同时地执行,或者这些框有时以相反的顺序执行。还可注意到,可由执行特定功能或动作的专用目的的基于硬件的系统、或专用目的硬件与计算机指令的组合来实现框图和/或流程图示图中的每个框、以及框图和/或流程图示图中的多个框的组合。

虽然以上的叙述包括很多特定布置和参数,但需要注意的是,这些特定布置和参数仅仅用于说明本申请的一个实施方式。这不应该作为对本申请范围的限制。本领域技术人员可以理解,在不脱离本申请范围和精神的情况下,可对其进行各种修改、增加和替换。因此,本申请的范围应该基于所述权利要求来解释。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1