CN103761093B - 一种客户端聚合视频的方法 - Google Patents
一种客户端聚合视频的方法 Download PDFInfo
- Publication number
- CN103761093B CN103761093B CN201410025964.1A CN201410025964A CN103761093B CN 103761093 B CN103761093 B CN 103761093B CN 201410025964 A CN201410025964 A CN 201410025964A CN 103761093 B CN103761093 B CN 103761093B
- Authority
- CN
- China
- Prior art keywords
- video
- interface
- interface function
- information
- subclassification
- 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 17
- 238000012795 verification Methods 0.000 abstract description 10
- 230000004931 aggregating effect Effects 0.000 abstract 1
- 230000002776 aggregation Effects 0.000 description 84
- 238000004220 aggregation Methods 0.000 description 82
- 230000000007 visual effect Effects 0.000 description 9
- 206010008190 Cerebrovascular accident Diseases 0.000 description 5
- 208000006011 Stroke Diseases 0.000 description 5
- 238000006116 polymerization reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
Abstract
本发明公开了一种客户端聚合视频的方法,包括如下步骤:生成验证数据,根据设定编码规则将所述验证数据编码成第一编码结果;调用设定路径下的库文件,调用所述库文件的认证接口函数,所述认证接口函数根据所述验证数据编码并返回第二编码结果,若第一编码结果与第二编码结果相同,则判断所述库文件属于规范接口库文件;调用所述版本信息接口函数,所述版本信息接口函数根据对应开放式视频网站信息接口的信息返回所述规范接口库文件的版本信息和对应视频网站的名称;选择对应视频网站的最新版本的规范接口库文件,将所述对应视频网站的名称进行显示。
Description
【技术领域】
本发明涉及一种客户端聚合视频的方法。
【背景技术】
网络的普及,让大家不用出门,即可使用电脑,通过互联网自由的收看或点播各类丰富多彩的影视节目。目前用户主要可以通过两种方式来在线收看网络视频:一种是直接登陆相关视频网站,以网页的形式进行观看;另外一种就是通过下载安装客户端软件来进行收看。
目前国内有很多的视频网站,网络上视频数据量巨大,用户要在互联网上观看网络视频,往往需要不断的安装很多的播放器,因此希望在一个客户终端上即可浏览各个网站的视频资源。这就需要一个视频聚合平台(视频聚合应用程序),完成上述功能。视频聚合平台可以实现各大网站视频资源的聚合,并能够流畅播放视频。且可以实现各大网站视频“分类显示”、“分网站搜索”、“视频收藏”等功能,给用户全新的网络视频体验。实现视频聚合平台的必要基础是视频网站提供开放式应用编程接口(Application ProgrammingInterface,API)。开放式API是视频网站常见的一种接口,视频网站将视频内容封装成一系列的API开放出来,供开发者使用。视频聚合平台的开发者使用这些API开发自己的视频聚合平台。
然而,各个视频网站发布的视频开放式接口千差万别,且版本经常升级,甚至有可能关闭,如果使用这些原始视频网站的接口实现视频聚合平台,则若网站更改应用接口,我们必须重新编写整套视频聚合平台软件,以适配新的应用接口,不便于视频聚合平台升级及维护。
目前,市场上的视频聚合客户端虽然很多,但是聚合的较大的视频网站较少,用户体验并不好,很重要的一点是如果视频聚合平台没有人长期维护、更新,则此平台很容易因为视频网站开放式接口的改变、升级、关闭而失效。并且搜索作为视频聚合平台最基础的功能,这些现有的视频聚合平台并未实现。而单一的视频客户端仅能基于自身的网站提供视频信息及内容。
【发明内容】
针对现有技术的不足,本发明提供了一种客户端聚合视频的方法,使得当视频网站的接口变化时不需要重新编写客户端的视频聚合软件。
一种客户端聚合视频的方法,包括如下步骤:
库文件认证步骤,生成验证数据,根据设定编码规则将所述验证数据编码成第一编码结果;调用设定路径下的库文件,调用所述库文件的认证接口函数,所述认证接口函数根据所述验证数据编码并返回第二编码结果,若第一编码结果与第二编码结果相同,则判断所述库文件属于规范接口库文件;
其中,一个规范接口库文件与一个视频网站的某个开放式视频网站信息接口版本相对应,所述规范接口库文件封装了版本信息接口函数;
确定库文件版本步骤,调用所述版本信息接口函数,所述版本信息接口函数根据对应开放式视频网站信息接口的信息返回所述规范接口库文件的版本信息和对应视频网站的名称;
显示步骤,选择对应视频网站的最新版本的规范接口库文件,将所述对应视频网站的名称进行显示。
在一个实施例中,
所述规范接口库文件还封装了可用接口查询接口函数;
在确定库文件版本步骤后还包括以下步骤:
可用接口查询步骤,调用可用接口查询接口函数,获得接口函数可用性标识,所述可用接口查询接口函数返回所述规范接口库文件可用的接口函数的总数;
判断接口是否可用步骤,根据所述接口函数可用性标识判断所述规范接口库文件的主分类数量接口函数、主分类名称接口函数、主分类ID有效接口函数、主分类ID接口函数、子分类数量接口函数、子分类名称接口函数和子分类ID接口函数是否可用。
在一个实施例中,
在所述判断接口是否可用步骤之后还包括以下步骤:
主分类数量查询步骤,调用所述主分类数量接口函数,所述主分类数量接口函数根据对应开放式视频网站信息接口的信息返回主分类数量;
主分类名称查询步骤,调用所述主分类名称接口函数,所述主分类名称接口函数根据对应开放式视频网站信息接口的信息返回主分类名称;
主分类ID是否有效查询步骤,调用所述主分类ID有效接口函数,所述主分类ID有效接口函数根据对应开放式视频网站信息接口的信息返回主分类ID有效性标识;
主分类ID查询步骤,调用所述主分类ID接口函数,所述主分类ID接口函数根据对应开放式视频网站信息接口的信息返回主分类ID;
所述显示步骤还包括,显示所述主分类名称。
在一个实施例中,
所述规范接口库文件还封装了子分类数量接口函数、子分类名称接口函数和子分类ID接口函数;
在所述主分类数量查询步骤、主分类名称查询步骤和主分类ID查询步骤之后还包括以下步骤:
子分类数量查询步骤,调用所述主分类数量接口函数,所述主分类数量接口函数根据对应开放式视频网站信息接口的信息返回子分类数量;
子分类名称查询步骤,调用所述子分类名称接口函数,所述子分类名称接口函数根据对应开放式视频网站信息接口的信息返回子分类名称;
子分类ID查询步骤,调用所述子分类ID接口函数,所述子分类ID接口函数根据对应开放式视频网站信息接口的信息返回子分类ID;
所述显示步骤还包括,显示所述子分类名称。
在一个实施例中,
所述规范接口库文件还封装了搜索关键字下视频总数的接口函数和搜索关键字下视频内容信息的接口函数;
在所述判断接口是否可用步骤之后还包括以下步骤:
搜索关键字下视频总数查询步骤,调用所述搜索关键字下视频总数的接口函数,所述搜索关键字下视频总数的接口函数根据对应开放式视频网站信息接口的信息返回搜索关键字下视频总数;
搜索关键字下视频内容信息查询步骤,调用所述搜索关键字下视频内容信息的接口函数,所述搜索关键字下视频内容信息的接口函数根据对应开放式视频网站信息接口的信息返回搜索关键字下视频内容信息;
所述显示步骤还包括,显示所述搜索关键字下视频总数和搜索关键字下视频内容信息。
在一个实施例中,
所述规范接口库文件还封装了视频排行下视频总数的接口函数和视频排行下视频内容信息的接口函数;
在所述判断接口是否可用步骤之后还包括以下步骤:
视频排行下视频总数查询步骤,调用所述视频排行下视频总数的接口函数,所述视频排行下视频总数的接口函数根据对应开放式视频网站信息接口的信息返回视频排行下视频总数;
视频排行下视频内容信息查询步骤,调用所述视频排行下视频内容信息的接口函数,所述视频排行下视频内容信息的接口函数根据对应开放式视频网站信息接口的信息返回视频排行下视频内容信息;
所述显示步骤还包括,显示所述视频排行下视频总数和视频排行下视频内容信息。
本发明抽象出了一套视频聚合应用程序的接口函数,该接口接口函数可以屏蔽不同视频网站所提供的开放式视频信息接口,使其向视频聚合应用程序层提供统一的规范接口函数,使上层的视频聚合程序脱离开放式视频信息接口的具体实现。
本发明设计的规范接口库文件,不仅提供了现有视频聚合平台中常见的视频内容的分类内容获取接口函数,还提供了视频内容搜索获取接口函数及视频排行内容获取接口函数。使用该规范接口库文件开发的视频聚合平台功能更加全面,用户体验更好。
本发明设计的规范接口库文件具有统一的规范接口函数,使得视频聚合平台在开发过程中无需根据不同网站的接口做相应调整,仅需调用统一的接口视频即可,极大的简化了视频聚合平台的开发。
规范接口库文件的视频内容搜索获取接口函数,不仅能够方便的实现分网站搜索功能,还能实现全局搜索功能。即当视频聚合平台获取到搜索关键字后,视频聚合平台同时调用聚合的所有视频网站的规范接口库文件的视频内容搜索获取接口函数,将传回数据全部展现给用户,从而使用户体验到无需一一查找每个网站,仅仅输入一次搜索关键字信息,即可实现在所有聚合的网站中搜索自己感兴趣的信息,极大的提升了用户体验。
【附图说明】
图1是本发明一种实施例的视频聚合平台的实现框图;
图2是本发明一种实施例的视频聚合平台的实现流程。
【具体实施方式】
本实施例计算机运行环境为Windows XP。
如图1所示,本实施例设计了一套视频聚合应用程序接口,这些接口可以屏蔽不同视频网站所提供的开放式视频信息接口,使其向视频聚合应用程序层提供统一的规范接口,使上层视频聚合程序脱离开放式视频信息接口的具体实现。可利用各视频网站给出的开放式视频信息接口,分别实现每个视频网站符合本实施例规范接口的库文件,之后再在视频聚合平台中调用统一规范接口实现各项功能,达到了视频信息获取与视频聚合平台模块化开发的目的,简化了视频聚合平台的实现,便于后期维护。
如图2所示,一种实施例的视频聚合平台的实现流程,包括如下步骤:
认证规范接口的库文件得到版本信息;获得可用接口;获得视频分类信息;获取视频内容,包括:分类视频信息获取、搜索视频信息获取和排行视频信息获取;视频信息的汇总显示。
每个规范接口的库文件封装了版本信息接口函数、认证接口函数、可用接口查询接口函数、主分类数量接口函数、主分类名称接口函数、主分类ID有效接口函数、主分类ID接口函数、子分类数量接口函数、子分类名称接口函数、子分类ID接口函数、分类ID下视频总数接口函数、分类ID下内容信息接口函数、搜索关键字下视频总数函数、搜索关键字下内容信息函数、视频排行视频总数函数和视频排行内容信息函数。
规范接口的库文件封装的接口函数如下:
1.模块交互接口函数
a.版本信息接口函数get_version
视频聚合平台调用该版本信息接口函数get_version,该版本信息接口函数根据与本版本的规范接口的库文件对应的开放式视频网站信息接口的信息,得到并返回本规范接口库文件的版本信息ver_info、视频网站名称web_name和视频网站图标网址logo_addr。
因为考虑到规范接口库文件可能经常需要随着视频网站的开放式视频信息接口的变更而改变,故需要区分不同版本的规范接口库文件,因此需要传回规范接口库文件的版本信息ver_info。
b.认证接口函数verification
由于可能存在其他库文件,防止视频聚合平台错误调用其他库文件,为了验证规范接口库文件的有效性,规范接口库文件提供了verification认证接口函数。认证过程如下:视频聚合平台产生一验证数据in_data,视频聚合平台按照一定编码规则对验证数据in_data编码得到第一编码结果;视频聚合平台调用该认证接口函数verification,该认证接口函数verification根据验证数据in_data进行编码得到并返回第二编码结果encoded_data,如果第二编码结果encoded_data与第一编码结果相同,则证明规范接口库文件符合标准。
c.可用接口查询接口函数get_capability
视频聚合平台调用该可用接口查询接口函数get_capability,可获得所述规范接口库文件可用的接口函数的总数、及规范接口库文件中具体每个接口函数是否可用,其中可用接口查询接口函数的返回值表示规范接口库文件可用的接口函数的总数。
接口函数可用性标识capability表征规范接口库文件中对应的接口函数是否可用,共32位,4字节,每一字节表征某一类具体接口函数的可用性,具体如下:
如上表所示,最低字节代表分类信息接口函数是否可用,第二字节代表视频内容接口函数是否可用,第三字节代表视频搜索内容接口函数是否可用,最高字节代表视频排行内容接口函数是否可用。
分类信息接口可用性占1个字节,其中7位比特分别代表7个具体接口函数是否可用,其余比特为预留位:
各接口函数可用性的掩码宏定义如下:
主分类数量接口函数可用性掩码MAIN_CLS_CNT为0x00000001,
主分类名称接口函数可用性掩码MAIN_CLS_NAME为0x00000002,
主分类ID有效接口函数可用性掩码MAIN_CLS_ID_AVAIL为0x00000004,
主分类ID接口函数可用性掩码MAIN_CLS_ID为0x00000008,
子分类数量接口函数可用性掩码SUB_CLS_CNT为0x00000010,
子分类的名称接口函数可用性掩码SUB_CLS_NAME为0x00000020,
子分类ID接口函数可用性掩码SUB_CLS_ID为0x00000040。
视频内容接口可用性占1个字节,其中两位比特代表具体接口是否可用,其余位为预留位:
掩码宏定义如下:
分类ID下视频总数接口函数可用性掩码CLS_VIDEO_CNT为0x00000100,
分类ID下内容信息接口函数可用性掩码CLS_VIDEO_CONTENT为0x00000200。
视频搜索内容接口可用性占1个字节,其中两位分别代表两个接口是否可用,其余为预留位:
掩码宏定义如下:
搜索关键字下视频总数接口函数可用性掩码SRCH_VIDEO_CNT为0x00010000,
搜索关键字下内容信息接口函数可用性掩码SRCH_VIDEO_CONTENT为0x00020000。
视频排行内容接口可用性占1个字节,其中两位分别代表两个接口是否可用,其余为预留位:
掩码宏定义如下:
视频排行下视频总数接口函数可用性掩码RANK_VIDEO_CNT为0x01000000,
视频排行下内容信息接口函数可用性掩码RANK_VIDEO_CONTENT为0x02000000。
若接口函数可用性标识capability与任意一种接口函数可用性的掩码执行“与”操作获得的结果为真,则表示该对应接口函数可用。
2.分类信息接口
a.主分类数量接口函数get_main_class_cnt
该主分类数量接口函数get_main_class_cnt被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息,可以向视频聚合平台返回视频网站的主分类总数。
b.主分类名称接口函数get_main_class_name
该主分类名称接口函数get_main_class_name被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的主分类的索引值main_idx,即可返回得到主分类的名称main_class_name。
c.主分类ID有效接口函数is_main_class_id_avail
一般在网站的开放式视频信息接口中,为了区分不同视频的不同分类,会为每一种分类设定一个唯一的ID号与该分类一一对应。
考虑到一些视频网站的主分类下还有子分类,则该主分类的ID可能不存在。该主分类ID有效接口函数被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的主分类的索引值main_idx,即可返回得到主分类ID的有效性标识,该有效性标识的值为真则表示主分类ID存在,若有效性标识的值为假则表示主分类ID不存在。
d.主分类ID接口函数get_main_class_id
该分类ID接口函数get_main_class_id被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的主分类的索引值main_idx,即可返回得到主分类的ID,主分类ID可以为正、可以为负也可能为零,依不同网站的定义而定。
e.子分类数量接口函数get_sub_class_cnt
子分类数量接口函数get_sub_class_cnt被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的任意主分类的索引值main_idx后,即可向视频聚合平台返回该分类下的子分类数量。
f.子分类名称接口函数get_sub_class_name
子分类名称接口函数get_sub_class_name被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的主分类的索引值main_idx及该分类下某一子分类的索引值sub_idx,即可向视频聚合平台该子分类的名称sub_class_name。
g.子分类ID接口函数get_sub_class_id
同主分类一样,子分类ID也是为了区分不同视频的不同分类,在同一个主分类下,为每一种子分类设定一个唯一的ID号与该子分类一一对应。
子分类ID接口函数get_sub_class_id被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入主分类的索引值main_idx及该分类下某一子分类的索引值sub_idx后,即可向视频聚合平台返回该子分类的ID。子分类的ID可以为正、可以为负也可能为零,依不同网站的定义而定。
3.视频内容接口函数
a.分类ID下视频总数接口函数get_video_cnt_by_id
该分类ID下视频总数接口函数get_video_cnt_by_id被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的视频分类ID class_id,函数get_video_cnt_by_id即可向视频聚合平台返回该分类下视频总数。其中,视频分类IDclass_id,可为主分类ID,或子分类ID。
b.分类ID下内容信息接口函数get_video_content_by_id
为了获得视频描述信息,首先定义视频描述信息的类DESC:
该视频描述信息的类DESC包含了以下几个变量:视频描述信息的数量desc_cnt、视频描述信息的名称desc_name、以及视频描述信息的具体内容desc_content。由于一个视频可能有多项描述信息,因此此处需要传回多个描述信息,名称和内容都是以指针形式传回。描述信息的名称和内容在顺序上是一一对应的。
为了获得统一的接口,我们定义了一个视频信息描述的统一接口VideoContent。
视频信息描述的统一接口VideoContent类中包含以下几个参数:视频的标题title、视频海报或截图的实际存储网址imge_url、视频的网页播放地址video_url。
分类ID下内容信息接口函数get_video_content_by_id:
分类ID下内容信息接口函数get_video_content_by_id被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息(包括通过调用视频信息描述的统一接口VideoContent得到的视频网站信息)、以及获取输入的分类ID class_id、每页视频数量pagesize和视频页码pageno后,即可向视频聚合平台返回指定页的视频内容video_content,由于每次传回视频数量由pagesize确定,video_content使用指针形式,传回页内的每一个视频内容。
4.视频搜索接口
为了获得搜索关键字下信息,首先枚举一下几个数据类型。
视频时长过滤TTLEVEL:
视频时长过滤TTLEVEL中,short为短长度视频,medium为中长度视频,long为长视频,all为全部返回。
音、视频类型过滤MEDIA:
音、视频类型过滤MEDIA中,video为只返回视频节目,audio为只返回音频节目,all为全部返回。
排序方法SORT:
排序方法SORT(默认匹配度排序)中,match为匹配度排序,time为发布时间排序,freq为播放次数排序,duration为节目时长排序。
a.搜索关键字下视频总数接口函数get_video_cnt_by_srch
搜索关键字下视频总数接口函数get_video_cnt_by_srch被视频聚合平台调用后、根据对应的开放式视频网站信息接口的信息、以及获取输入的搜索关键字等信息后,即可向视频聚合平台返回该搜索关键字下视频总数。
其中,key_words表示被搜索的关键字,可为英文、中文也可以为数字;srch_all_class表示是否搜索全部分类,为真则搜索全部分类,为假则表示不是搜素全部分类。class_id表示视频分类ID,可为主分类ID,或子分类ID,若srch_all_class为真,则该项无效;days为搜索视频时间范围,单位为天,若为负则表示搜索全部视频;ttlevel表示时长过滤;media表示音视频选择。返回值为该搜索关键字下视频总数。
b.搜索关键字下内容信息接口函数get_video_content_by_srch
搜索关键字下内容信息接口函数get_video_content_by_srch被调用后,根据对应的开放式视频网站信息接口的信息、获取输入的被搜索的关键字等,即可向视频聚合平台返回指定页的视频内容。
其中,key_words表示被搜索的关键字,可为英文、中文也可以为数字;pagesize表示每页视频数量;pageno表示指定的视频页码;srch_all_class表示是否搜索全部分类,为真则搜索全部分类,否则为假。class_id表示视频分类ID,可为主分类ID,或子分类ID,若srch_all_class为真,则该项无效;days搜索视频时间范围,单位为天,若为负则表示搜索全部视频;ttlevel表示时长过滤;media表示音视频选择;sort表示排序方式。video_content为指定页的视频内容,由于每次传回视频数量由pagesize确定,video_content使用指针形式,传回页内的每一个视频内容。
5.视频排行接口
a.视频排行下视频总数接口函数get_video_cnt_by_rank
unsigned int get_video_cnt_by_rank(int class_id,
int days,
SORT sort)
视频排行视频总数的接口函数get_video_cnt_by_rank被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取输入的分类ID、指定搜索视频时间范围、排序方式,即可向视频聚合平台返回该排行下视频总数。
其中,class_id表示视频分类ID,可为主分类ID,或子分类ID;days表示视频时间范围,单位为天,若为负则表示搜索全部视频;sort表示排序方式。返回值为该排行下视频总数。
b.视频排行下内容信息接口函数get_video_content_by_rank
视频排行下内容信息接口函数get_video_content_by_rank被视频聚合平台调用后,根据对应的开放式视频网站信息接口的信息、以及获取的输入分类ID、指定搜索视频时间范围、排序方式等,即可向视频聚合平台返回指定页的视频内容。
其中,class_id表示视频分类ID,可为主分类ID,或子分类ID;days表示视频时间范围,单位为天,若为负则表示搜索全部视频;sort表示排序方式。pagesize表示每页视频数量;pageno表示指定的视频页码;video_content为指定页的视频内容,由于每次传回视频数量由pagesize确定,video_content使用指针形式,传回页内的每一个视频内容。
视频聚合平台实现的具体流程如下:
步骤一:认证规范接口的库文件得到版本信息
视频聚合平台随机的产生一组验证数据in_data,视频聚合平台按照一定编码规则对验证数据in_data编码得到第一编码结果;视频聚合平台调用该认证接口函数verification,该认证接口函数verification根据验证数据in_data进行编码得到并返回第二编码结果encoded_data,如果第二编码结果encoded_data与第一编码结果相同,则证明规范接口库文件符合标准。
视频聚合平台通过调用版本信息接口函数get_version,获得规范接口库文件的版本信息ver_info,选择最新版本的规范接口库文件,并获得视频网站的视频网站名称web_name及视频网站图标网址logo_addr。视频聚合平台通过返回的视频网站图标网址logo_addr获得图片,并结合视频网站名称web_name进行显示。
步骤二:查询获得可用接口的信息
视频聚合平台通过调用可用接口查询接口函数get_capability,获得该视频网站可用接口总数capability_cnt及所有的接口函数可用性标识capability,存储capability_cnt,以备视频聚合平台使用。
将接口函数可用性标识capability与各个接口对应的掩码宏定义执行“与”操作,得到的结果为真则对应的接口可用。视频聚合平台在调用各接口前需要判断每个接口是否可用。
步骤三:获得视频分类信息
首先需要判断视频分类信息接口是否可用。若接口函数可用性标识capability与十六进制数0x000000377F进行与操作,获得的结果为真,则全部分类信息接口可用。要想得到某个具体的接口是否可用,则用接口函数可用性标识capability于对应的掩码宏定义进行与操作,获得的结果为真则相应的接口可用,否则不可用。
若在全部分类信息接口可用的情况下,视频聚合平台通过调用主分类数量接口函数get_main_class_cnt获得视频网站的主分类总数main_class_cnt。然后根据视频网站的主分类总数通过主分类名称接口函数get_main_class_name遍历得到每一个主分类的名称。将主分类名称main_class_name全部显示在视频聚合平台上。
视频聚合平台通过调用子分类数量接口函数get_sub_class_cnt,可以输入主分类的索引值main_idx,获得该主分类下的视频网站的子分类总数sub_class_cnt,若子分类总数sub_class_cnt为零则表示没有子分类,否则表示存在子分类。确定存在子分类后,视频聚合平台调用子分类名称接口函数get_sub_class_name,根据子分类个数遍历得到每一个子分类的名称sub_class_name。将所有子分类名称sub_class_name全部显示在相应的主分类栏中。
步骤四:获取视频内容
视频内容获取方式分为三种,分别为分类获取、搜索获取以及排行获取。分类获取是指根据视频网站的分类信息获得相应视频内容。搜索获取是指使用用户提供的搜索关键字等信息得到相应视频内容。排行获取是指根据视频网站的分类信息及用户提供的排序方式得到相应的视频内容。
不论是哪一种视频内容获取方式,都需要视频分类ID,可以是主分类ID,也可以是子分类ID。对于主分类的ID获取,首先需要调用主分类ID有效接口函数is_main_class_id_avail,以判断主分类ID是否有效,若有效性标识的值为真则有效,否则无法获得主分类ID,获取其子分类ID。使用主分类ID接口get_main_class_id获得相应的主分类ID。对于子分类的ID获取,需要调用子分类ID接口get_sub_class_id获得某一主分类下任一子分类ID。
1、分类视频信息获取
判断视频内容接口是否可用。若接口函数可用性标识capability与十六进制数0x00000300进行与操作,若获得的结果为真,则全部分类信息接口可用。视频聚合平台能够实现分类获取功能。
如上文所述,可得到主分类ID,或子分类ID,视频聚合平台通过调用get_video_cnt_by_id获得分类ID下的视频总数并加以显示。
首先确定视频聚合平台每页显示的视频数量pagesize以及所要显示的视频分类ID class_id,可以是有效的主分类ID,或子分类ID。调用分类ID下的视频总数接口get_video_cnt_by_id获得视频总数。将视频聚合平台获取的视频总数除以每页的视频数量pagesize,取整加1,即为总页数page_cnt。
为了存储视频内容信息,需要实例化一个pagesize大小的VideoContent对象数组。视频聚合平台通过调用分类ID下内容信息接口get_video_content_by_id,输入分类ID、每页显示的视频数量pagesize、页码pageno,获得指定页的视频内容video_content。
根据pagesize解析VideoContent数组,遍历数组对象,获得数组内视频的标题title,视频海报或截图的实际存储网址imge_url,视频的网页播放地址video_url,以及DESC视频描述信息类。获得的DESC类中的desc_cnt表示视频描述信息的数量,根据视频描述信息的数量desc_cnt遍历desc_name数组和desc_content数组,获得视频描述信息的名称和内容。描述信息的名称和内容在顺序上是一一对应的。
2、搜索视频信息获取
判断视频搜索接口是否可用。若接口函数可用性标识capability与十六进制数0x00030000进行与操作,若获得结果为真,则全部视频搜索接口可用。视频聚合平台能够实现搜索获取功能。
在获取搜索视频总数及搜索视频内容信息前,应先确定一些参数的值。
首先确定视频聚合平台被搜索的关键字key_words,可为英文、中文也可以为数字;确定搜索的分类范围,若不分类,全部搜索则置srch_all_class为真,反之若想搜索某个分类的信息则置srch_all_class为假,确定视频分类ID class_id;确定搜索视频时间范围days,单位为天,若搜索全部视频则置days为负数即可;确定时长过滤ttlevel;确定音视频选择media;确定排序方式sort。具体参数设置说明详见视频接口定义中视频搜索接口。
确定具体参数后,视频聚合平台通过调用搜索关键字下视频总数接口get_video_cnt_by_srch获得被搜索关键字下的视频总数并加以显示。
为了存储视频内容信息,需要实例化一个pagesize大小的VideoContent对象数组。视频聚合平台通过调用搜索关键字下内容信息接口get_video_content_by_srch,输入被搜索关键字、每页显示的视频数量pagesize、页码pageno等信息,获得指定页的视频内容。
根据pagesize解析VideoContent数组,遍历数组对象,获得数组内视频的标题title,视频海报或截图的实际存储网址imge_url,视频的网页播放地址video_url,以及DESC视频描述信息类。获得的DESC类中的desc_cnt表示视频描述信息的数量,根据视频描述信息的数量desc_cnt遍历desc_name数组和desc_content数组,获得视频描述信息的名称和内容。描述信息的名称和内容在顺序上是一一对应的。
3、排行视频信息获取
判断视频排行接口是否可用。若接口函数可用性标识capability与十六进制数0x03000000进行与操作,若获得的结果为真,则全部视频排行接口可用。视频聚合平台能够实现排行获取功能。
在获取排行视频总数及排行视频内容信息前,应先确定一些参数的值。
首先确定排行的范围,确定视频排行ID class_id;确定排行视频时间范围days,单位为天,若排行全部视频则置days为负数即可;确定排序方式sort。具体参数设置说明详见视频接口定义中视频排行接口。
确定具体参数后,视频聚合平台通过调用视频排行视频总数接口get_video_cnt_by_rank,获得该分类制定排行下视频总数并加以显示。
为了存储视频内容信息,需要实例化一个pagesize大小的VideoContent对象数组。通过调用视频排行内容信息接口get_video_content_by_rank,输入分类ID、排序方式sort、每页显示的视频数量pagesize、页码pageno等信息,获得指定页的视频内容。
根据视频数量pagesize解析VideoContent数组,遍历数组对象,获得数组内视频的标题title,视频海报或截图的实际存储网址imge_url,视频的网页播放地址video_url,以及DESC视频描述信息类。获得的DESC类中的desc_cnt表示视频描述信息的数量,根据视频描述信息的数量desc_cnt遍历desc_name数组和desc_content数组,获得视频描述信息的名称和内容。描述信息的名称和内容在顺序上是一一对应的。
步骤五:视频信息的汇总显示
将视频聚合平台获取的视频总数除以每页的视频数量pagesize,取整加1,即为总页数,显示在平台上。
通过步骤四获取指定页码pageno的指定数量pagesize个视频内容后,利用每个视频海报或截图的实际存储网址imge_url获得该视频的海报或截图。在视频聚合平台上的每一页中将pagesize个视频的海报或截图,配以视频标题及DESC类中比较有代表性的几个视频描述信息名称(如“导演”)及内容(如“张艺谋”)进行显示。当用户翻页时,修改pageno值,其余参数不变,无需重新获取总页数,仅需调用分类ID下内容信息接口get_video_content_by_id(或搜索关键字下内容信息接口get_video_content_by_srch,或视频排行内容信息接口get_video_content_by_rank),获得内容信息后显示即可。点击视频的海报或截图、视频标题后,视频聚合平台会通过视频的网页播放地址video_url获得视频的实际地址。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。
Claims (5)
1.一种客户端聚合视频的方法,其特征是,包括如下步骤:
库文件认证步骤,生成验证数据,根据设定编码规则将所述验证数据编码成第一编码结果;调用设定路径下的库文件,调用所述库文件的认证接口函数,所述认证接口函数根据所述验证数据编码并返回第二编码结果,若第一编码结果与第二编码结果相同,则判断所述库文件属于规范接口库文件;
其中,一个规范接口库文件与一个视频网站的某个开放式视频网站信息接口版本相对应,所述规范接口库文件封装了版本信息接口函数;
确定库文件版本步骤,调用所述版本信息接口函数,所述版本信息接口函数根据对应开放式视频网站信息接口的信息返回所述规范接口库文件的版本信息和对应视频网站的名称;
显示步骤,选择对应视频网站的最新版本的规范接口库文件,将所述对应视频网站的名称进行显示;
所述规范接口库文件还封装了可用接口查询接口函数;
在确定库文件版本步骤后还包括以下步骤:
可用接口查询步骤,调用可用接口查询接口函数,获得接口函数可用性标识,所述可用接口查询接口函数返回所述规范接口库文件可用的接口函数的总数;
判断接口是否可用步骤,根据所述接口函数可用性标识判断所述规范接口库文件的主分类数量接口函数、主分类名称接口函数、主分类ID有效接口函数、主分类ID接口函数、子分类数量接口函数、子分类名称接口函数和子分类ID接口函数是否可用。
2.如权利要求1所述的客户端聚合视频的方法,其特征是:
在所述判断接口是否可用步骤之后还包括以下步骤:
主分类数量查询步骤,调用所述主分类数量接口函数,所述主分类数量接口函数根据对应开放式视频网站信息接口的信息返回主分类数量;
主分类名称查询步骤,调用所述主分类名称接口函数,所述主分类名称接口函数根据对应开放式视频网站信息接口的信息返回主分类名称;
主分类ID是否有效查询步骤,调用所述主分类ID有效接口函数,所述主分类ID有效接口函数根据对应开放式视频网站信息接口的信息返回主分类ID有效性标识;
主分类ID查询步骤,调用所述主分类ID接口函数,所述主分类ID接口函数根据对应开放式视频网站信息接口的信息返回主分类ID;
所述显示步骤还包括,显示所述主分类名称。
3.如权利要求2所述的客户端聚合视频的方法,其特征是:
所述规范接口库文件还封装了子分类数量接口函数、子分类名称接口函数和子分类ID接口函数;
在所述主分类数量查询步骤、主分类名称查询步骤和主分类ID查询步骤之后还包括以下步骤:
子分类数量查询步骤,调用所述主分类数量接口函数,所述主分类数量接口函数根据对应开放式视频网站信息接口的信息返回子分类数量;
子分类名称查询步骤,调用所述子分类名称接口函数,所述子分类名称接口函数根据对应开放式视频网站信息接口的信息返回子分类名称;
子分类ID查询步骤,调用所述子分类ID接口函数,所述子分类ID接口函数根据对应开放式视频网站信息接口的信息返回子分类ID;
所述显示步骤还包括,显示所述子分类名称。
4.如权利要求1所述的客户端聚合视频的方法,其特征是:
所述规范接口库文件还封装了搜索关键字下视频总数的接口函数和搜索关键字下视频内容信息的接口函数;
在所述判断接口是否可用步骤之后还包括以下步骤:
搜索关键字下视频总数查询步骤,调用所述搜索关键字下视频总数的接口函数,所述搜索关键字下视频总数的接口函数根据对应开放式视频网站信息接口的信息返回搜索关键字下视频总数;
搜索关键字下视频内容信息查询步骤,调用所述搜索关键字下视频内容信息的接口函数,所述搜索关键字下视频内容信息的接口函数根据对应开放式视频网站信息接口的信息返回搜索关键字下视频内容信息;
所述显示步骤还包括,显示所述搜索关键字下视频总数和搜索关键字下视频内容信息。
5.如权利要求1所述的客户端聚合视频的方法,其特征是:
所述规范接口库文件还封装了视频排行下视频总数的接口函数和视频排行下视频内容信息的接口函数;
在所述判断接口是否可用步骤之后还包括以下步骤:
视频排行下视频总数查询步骤,调用所述视频排行下视频总数的接口函数,所述视频排行下视频总数的接口函数根据对应开放式视频网站信息接口的信息返回视频排行下视频总数;
视频排行下视频内容信息查询步骤,调用所述视频排行下视频内容信息的接口函数,所述视频排行下视频内容信息的接口函数根据对应开放式视频网站信息接口的信息返回视频排行下视频内容信息;
所述显示步骤还包括,显示所述视频排行下视频总数和视频排行下视频内容信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410025964.1A CN103761093B (zh) | 2014-01-20 | 一种客户端聚合视频的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410025964.1A CN103761093B (zh) | 2014-01-20 | 一种客户端聚合视频的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103761093A CN103761093A (zh) | 2014-04-30 |
CN103761093B true CN103761093B (zh) | 2016-11-30 |
Family
ID=
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944170A (zh) * | 2010-09-20 | 2011-01-12 | 中兴通讯股份有限公司 | 一种软件版本发布方法、系统及装置 |
CN102143183A (zh) * | 2011-03-24 | 2011-08-03 | 镇江星浪科技产品有限公司 | 一种文档版本化的方法 |
CN102890627A (zh) * | 2011-07-19 | 2013-01-23 | 昆明伯尔瑞科技开发有限公司 | 一种插件式的计算机程序设计架构 |
CN103297818A (zh) * | 2013-06-05 | 2013-09-11 | 常熟市广播电视总台 | 一种聚合多内容视频点播系统 |
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944170A (zh) * | 2010-09-20 | 2011-01-12 | 中兴通讯股份有限公司 | 一种软件版本发布方法、系统及装置 |
CN102143183A (zh) * | 2011-03-24 | 2011-08-03 | 镇江星浪科技产品有限公司 | 一种文档版本化的方法 |
CN102890627A (zh) * | 2011-07-19 | 2013-01-23 | 昆明伯尔瑞科技开发有限公司 | 一种插件式的计算机程序设计架构 |
CN103297818A (zh) * | 2013-06-05 | 2013-09-11 | 常熟市广播电视总台 | 一种聚合多内容视频点播系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200133971A1 (en) | Global recommendation systems for overlapping media catalogs | |
CN106415537B (zh) | 将本地应用搜索结果插入到web搜索结果中 | |
US11734289B2 (en) | Methods, systems, and media for providing a media search engine | |
US10482477B2 (en) | Stratified sampling applied to A/B tests | |
US20160055164A1 (en) | News alert system and method | |
Paranjape et al. | Improving website hyperlink structure using server logs | |
CN105760381B (zh) | 搜索结果处理方法及装置 | |
CN104216960A (zh) | 一种视频推荐方法和装置 | |
CN102171689A (zh) | 响应于搜索查询提供针对讨论话题的帖子 | |
CN112052387B (zh) | 一种内容推荐方法、装置和计算机可读存储介质 | |
KR102081181B1 (ko) | 디바이스 상의 결합된 활동 히스토리 | |
CN104221006A (zh) | 包括视频的网页内容的优化 | |
CN102929938A (zh) | 一种可播放型网络资源的排序方法及装置 | |
CN104021140A (zh) | 一种网络视频的处理方法及装置 | |
US20150237056A1 (en) | Media dissemination system | |
CN103399855B (zh) | 基于多数据源的行为意图确定方法及装置 | |
CN104102733A (zh) | 搜索内容提供方法和搜索引擎 | |
CN110297942B (zh) | 一种视频探索方法、装置、设备及存储介质 | |
CN104572707A (zh) | 一种用于提供优选对象信息的方法与设备 | |
CN104123321B (zh) | 一种确定推荐图片的方法及装置 | |
CN103294450B (zh) | 应用发布方法及系统 | |
CN103761093B (zh) | 一种客户端聚合视频的方法 | |
CN103838873B (zh) | 一种应用匹配机主信息自动搜索的方法及系统 | |
US20220392219A1 (en) | Learning Iconic Scenes and Places with Privacy | |
CN105095404A (zh) | 网页信息的处理方法、网页信息的推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |