首页 / 专利库 / 计算机网络 / 计算机网络 / 一种获取流媒体链接地址的方法

一种获取流媒体链接地址的方法

阅读:233发布:2024-02-20

专利汇可以提供一种获取流媒体链接地址的方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及 计算机网络 技术中流媒体资源下载技术领域,公开了一种获取流媒体链接地址的方法,该方法包括:A.捕获流媒体数据包;B.判断在捕获的流媒体数据包中是否能够检测到流媒体内容的扩展名,如果能够检测到,则执行步骤C;否则,转到步骤A;C.在流媒体内容扩展名之前检测特定的协议头标识,从协议头标识到扩展名之间的字符串中获取流媒体链接地址。利用本发明,获取了流媒体资源的链接地址,从而有效解决了因无法获得媒体内容的链接地址而不能下载的问题。,下面是一种获取流媒体链接地址的方法专利的具体信息内容。

1. 一种获取流媒体链接地址的方法,其特征在于,该方法包括: A、捕获流媒体数据包; B、判断在捕获的流媒体数据包中是否能够检测到流媒体内容的扩展名,如果能够检测到,则执行步骤C;否则,转到步骤A; C、在流媒体内容扩展名之前检测特定的协议头标识,从协议头标识到扩展名之间的字符串中获取流媒体链接地址。
2、 根据权利要求1所述的获取流媒体链接地址的方法,其特征在于, 所述步骤A包括:Al、开启数据包捕捉线程;A2、打开包含视频内容的链接地址;A3、数据包捕捉线程将捕捉到的数据包保存到文件;A4、关闭链接、关闭捕捉线程。
3、 根据权利要求2所述的获取流媒体链接地址的方法,其特征在于, 所述步骤Al通过将网卡的工作模式设置为混杂模式实现,采用网络嗅探程序捕捉经过网卡的所有数据包;步骤A2中所述打开包含视频内容的链接地址采用程序实现,或手动 操作实现;步骤A3中所述数据包捕捉线程在捕捉数据包时,通过限制数据包捕 捉的最大长度来提高地址提取的速度;步骤A3中所述数据包捕捉线程在捕捉数据包时,通过限制数据包捕捉的最大时延来提高地址体提取的速度。
4、 根据权利要求1所述的获取流媒体链接地址的方法,其特征在于,步骤B中所述检测的流媒体内容的扩展名至少包括wmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3禾卩wma多种流媒体扩展名。
5、 根据权利要求4所述的获取流媒体链接地址的方法,其特征在于, 步骤B中所述判断包括:在捕获的流媒体数据包中,如果能够检测到wnw、 fW、 rm、 rnwb、 mpg、 swf、 asf、 mov、 mp3和wma中任一种扩展名,则能够检测到流媒 体内容的扩展名。
6、 根据权利要求1所述的获取流媒体链接地址的方法,其特征在于, 步骤C中所述特定的协议头标识至少包括"115?://"、"1111^://"和"11«?://"三种 协议头标识,步骤C中所述从协议头标识到扩展名之间的字符串中获取流 媒体链接地址包括:检测到协议头标识后,复制从协议头标识到扩展名之间的字符串作为 流媒体链接地址;然后在该流媒体链接地址中再检测是否还包含协议头标 识,如果是,则去掉该内部协议头标识之前的字符,将剩余的字符串作为 流媒体链接地址;并重复该检测步骤,直至流媒体链接地址中不再包含内 部协议头标识。
7、 根据权利要求1所述的获取流媒体链接地址的方法,其特征在于, 该方法在步骤C之后进一步包括:D、对获取的流媒体链接地址的有效性进行验证,如果获取的流媒体 链接地址为有效链接地址,则结束;否则,执行步骤E;E、 在捕获的流媒体数据包中检测流媒体内容的下一个扩展名,并转 到执行步骤C。
8、 根据权利要求7所述的获取流媒体链接地址的方法,其特征在于, 所述步骤E之后仍不能获取有效流媒体链接地址,该方法进一步包括:F、 在流媒体内容扩展名之前依次检测"GET"标识和"Host:"标识,将 "GET"标识与扩展名之间的字符串存入字符串Sl,将"Host:"标识之后的 字符串存入S2,将按照"1^?://82/81"模式拼接获得的字符串作为流媒体链 接地址。
9、 根据权利要求8所述的获取流媒体链接地址的方法,其特征在于,该方法进一步包括:G、 对获取的流媒体链接地址的有效性进行验证,如果获取的流媒体 链接地址为有效链接地址,则结束;否则,执行步骤H;H、 在捕获的流媒体数据包中检测流媒体内容的下一个扩展名,并转 到执行步骤F。
10、 根据权利要求7或9所述的获取流媒体链接地址的方法,其特征 在于,所述对获取的流媒体链接地址的有效性进行验证包括:检测获取的流媒体链接地址中是否包含非法字符,所述非法字符包括 ASCII码中值小于32或大于126的字符,如果流媒体链接地址中包含所 述非法字符,则流媒体链接地址为无效链接地址;否则,流媒体链接地址 为有效链接地址。

说明书全文

一种获取流媒体链接地址的方法技术领域本发明涉及计算机网络技术中流媒体资源下载技术领域,尤其涉及一 种获取流媒体链接地址的方法。背景技术随着多媒体技术的发展,网络流媒体服务呈现快速增长态势。然而, 在许多情况下,限于网络带宽,用户浏览网络流媒体内容时,往往很不流 畅,经常出现停顿,用户希望将流媒体内容下载,以获得更好的欣赏效果。通用下载软件需要根据资源的URL地址才可以进行下载,然而当前 流媒体服务和视频博客网站上的资源地址通常不能直接获取,本方法用于 提取这些流媒体资源的链接地址。通过观察和分析,发现这些流媒体服务在流媒体服务中存在以下一些现象:(1) 首先,网络流媒体一般总是按照某种特定协议向客户端提供流媒体内容。比如,目前流行的视频博客网站都是基于http协议。(2) 其次,绝大部分流媒体服务网站在与浏览器的会话中,需发送 流媒体内容的链接地址。(3) 最后,流媒体内容的链接地址包含流媒体格式、协议等特征字符串。利用流媒体会话、传输以及流媒体链接地址本身的特征,可以设计一 种高效的流媒体资源地址提取方法。发明内容(一)要解决的技术问题 有鉴于此,本发明的主要目的在于提供一种获取流媒体链接地址的方 法,以获取流媒体资源的链接地址,从而利用通用下载软件下载需要的流 媒体内容。(二)技术方案 为达到上述目的,本发明的技术方案是这样实现的: 一种获取流媒体链接地址的方法,该方法包括:A、 捕获流媒体数据包;B、 判断在捕获的流媒体数据包中是否能够检测到流媒体内容的扩展 名,如果能够检测到,则执行步骤C;否则,转到步骤A;C、 在流媒体内容扩展名之前检测特定的协议头标识,从协议头标识 到扩展名之间的字符串中获取流媒体链接地址。所述步骤A包括:Al、开启数据包捕捉线程;A2、打开包含视频内容的链接地址;A3、数据包捕捉线程将捕捉到的数据包保存到文件;

A4、关闭链接、关闭捕捉线程。所述步骤Al通过将网卡的工作模式设置为混杂模式实现,采用网络 嗅探程序捕捉经过网卡的所有数据包;步骤A2中所述打开包含视频内容的链接地址采用程序实现,或手动 操作实现;步骤A3中所述数据包捕捉线程在捕捉数据包时,通过限制数据包捕 捉的最大长度来提高地址提取的速度;步骤A3中所述数据包捕捉线程在捕捉数据包时,通过限制数据包捕 捉的最大时延来提高地址体提取的速度。步骤B中所述检测的流媒体内容的扩展名至少包括wmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3和wma多种流媒体扩展名。步骤B中所述判断包括:在捕获的流媒体数据包中,如果能够检测到wmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3禾卩wma中任一禾中扩展 名,则能够检测到流媒体内容的扩展名。步骤C中所述特定的协议头标识至少包括"rtsp:〃"、"mms:〃"和"http:〃" 三种协议头标识,步骤C中所述从协议头标识到扩展名之间的字符串中获 取流媒体链接地址包括:检测到协议头标识后,复制从协议头标识到扩展 名之间的字符串作为流媒体链接地址;然后在该流媒体链接地址中再检测 是否还包含协议头标识,如果是,则去掉该内部协议头标识之前的字符, 将剩余的字符串作为流媒体链接地址;并重复该检测步骤,直至流媒体链 接地址中不再包含内部协议头标识。该方法在步骤C之后进一步包括D、 对获取的流媒体链接地址的有效性进行验证,如果获取的流媒体 链接地址为有效链接地址,则结束;否则,执行步骤E;E、 在捕获的流媒体数据包中检测流媒体内容的下一个扩展名,并转到执行步骤c。所述步骤E之后仍不能获取有效流媒体链接地址,该方法进一步包括:F、 在流媒体内容扩展名之前依次检测"GET"标识和"Host:"标识,将 "GET"标识与扩展名之间的字符串存入字符串Sl,将"Host:"标识之后的 字符串存入S2,将按照"http:〃S2/Sl"模式拼接获得的字符串作为流媒体链 接地址。该方法进一步包括:G、 对获取的流媒体链接地址的有效性进行验证,如果获取的流媒体 链接地址为有效链接地址,则结束;否则,执行步骤H;H、 在捕获的流媒体数据包中检测流媒体内容的下一个扩展名,并转 到执行步骤F。所述对获取的流媒体链接地址的有效性进行验证包括:检测获取的流媒体链接地址中是否包含非法字符,所述非法字符包括ASCII码中值小于 32或大于126的字符,如果流媒体链接地址中包含所述非法字符,则流媒 体链接地址为无效链接地址;否则,流媒体链接地址为有效链接地址。(三)有益效果 从上述技术方案可以看出,本发明具有以下有益效果: 1、本发明通过利用流媒体浏览过程中传输的流媒体内容的链接地

所具有明显特征信息,提出了一种获取流媒体链接地址的方法,适用于 90%以上能够通过网页浏览的流媒体链接地址的提取,获取了流媒体资源 的链接地址,从而有效解决了因无法获得媒体内容的链接地址而不能下载 的问题。2、 本发明提供的这种获取流媒体链接地址的方法,充分考虑了包含 流媒体内容网页的特征,有效减少了提取资源链接地址所需要网络流量, 这保证了本方法在低带宽环境中成功使用。3、 本发明提供的这种获取流媒体链接地址的方法,充分考虑了流媒体内容链接地址的特征,从而大大提高了流媒体资源链接地址提取的成功率。4、 本发明提供的这种获取流媒体链接地址的方法,通过检测数据包 中两大类流媒体内容链接地址类型,可以成功提取90%以上流媒体网站上 的流媒体资源的链接地址,进一步提高了链接地址提取的效率。附图说明图1为本发明提供的获取流媒体链接地址总体技术方案的实现流程图;图2为依照本发明实施例获取流媒体链接地址的方法流程图。 具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实 施例,并参照附图,对本发明进一步详细说明。

如图1所示,图1为本发明提供的获取流媒体链接地址总体技术方案 的实现流程图,该方法包括以下步骤: 步骤101:捕获流媒体数据包;步骤102:判断在捕获的流媒体数据包中是否能够检测到流媒体内容 的扩展名,如果能够检测到,则执行步骤103;否则,转到步骤101;步骤103:在流媒体内容扩展名之前检测特定的协议头标识,从协议 头标识到扩展名之间的字符串中获取流媒体链接地址。上述步骤101进一步包括: 步骤101h开启数据包捕捉线程;在本步骤中,所述开启数据包捕捉线程通过将网卡的工作模式设置为 混杂模式实现,采用网络嗅探程序捕捉经过网卡的所有数据包;实施例 中,网络嗅探程序选用开源的winpcap工程作为数据包捕捉线程。步骤1012:打开包含视频内容的链接地址;在本步骤中,所述打开包含视频内容的链接地址可以采用程序实现,也可以手动操作实现。步骤1013:数据包捕捉线程将捕捉到的数据包保存到文件; 在本步骤中,所述数据包捕捉线程在捕捉数据包时,采用1MB作为数据包捕捉的最大长度,15ms作为数据包捕捉的最大时延。步骤1014:关闭链接、关闭捕捉线程。步骤102中所述检测的流媒体内容的扩展名至少包括wmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3禾卩wma等多禾中流媒体扩展名。 步骤102中所述判断进一步包括:在捕获的流媒体数据包中,如果能够检测至Uwmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3禾卩wma中任一种扩展名,则能够检测到流媒体内容的扩展名;否则,不能够检测到流 媒体内容的扩展名。步骤103中所述特定的协议头标识至少包括"rtsp:/Z"、 "mms:〃"和 "http:/Z"等三种协议头标识,步骤103中所述从协议头标识到扩展名之间的 字符串中获取流媒体链接地址包括:检测到协议头标识后,复制从协议头 标识到扩展名之间的字符串作为流媒体链接地址;然后在该流媒体链接地 址中再检测是否还包含协议头标识,如果是,则去掉该内部协议头标识之 前的字符,将剩余的字符串作为流媒体链接地址;并重复该检测步骤,直 至流媒体链接地址中不再包含内部协议头标识。该方法在步骤103之后进一步包括:步骤104:对获取的流媒体链接地址的有效性进行验证,如果获取的 流媒体链接地址为有效链接地址,则结束;否则,执行步骤105;步骤105:在捕获的流媒体数据包中检测流媒体内容的下一个扩展名, 并转到执行步骤103。上述步骤105之后仍不能获取有效流媒体链接地址,该方法进一步包括:步骤106:在流媒体内容扩展名之前依次检测"GET"标识和"Host:" 标识,将"GET"标识与扩展名之间的字符串存入字符串Sl,将"Host:"标 识之后的字符串存入S2,将按照"http:〃S2/Sl"模式拼接获得的字符串作为 流媒体链接地址。

该方法进一步包括:步骤107:对获取的流媒体链接地址的有效性进行验证,如果获取的 流媒体链接地址为有效链接地址,则结束;否则,执行步骤108;步骤108:在捕获的流媒体数据包中检测流媒体内容的下一个扩展名, 并转到执行步骤106。上述对获取的流媒体链接地址的有效性进行验证包括:检测获取的流 媒体链接地址中是否包含非法字符,所述非法字符包括ASCII码中值小于32或大于126的字符,如果流媒体链接地址中包含所述非法字符,则流媒 体链接地址为无效链接地址;否则,流媒体链接地址为有效链接地址。基于图1所述的获取流媒体链接地址总体技术方案的实现流程图,以 下结合具体的实施例对本发明获取流媒体链接地址的方法进一步详细说 明。实施例在本实施例中,以提取页面包含的流媒体资源地址为例,结合附图进 一步说明本发明获取流媒体链接地址的详细方法和步骤。如图2所示,图2为依照本发明实施例获取流媒体链接地址的方法流 程图,该方法包括以下步骤:步骤201:开启数据包捕捉线程;在本步骤中,通过将网卡的工作模式设置为混杂模式,可以捕捉通过网卡的所有数据包;本实施例中,网络嗅探程序选用开源的winpcap工程 作为数据包捕捉线程;然后釆用写方式打开数据包缓存文件,准备接受数据。步骤202:打开包含视频内容的链接地址;在本步骤中,在浏览器中打开指定的链接,该链接是指包含流媒体内 容的链接;打开动作可以手动操作,也可由程序实现;程序实现对大批量 提取流媒体资源链接地址是必须的,大批量地址提取中,需要预先按特定 格式存储包含流媒体内容的链接地址,以便地址提取程序访问。 步骤203:数据包捕捉线程将捕捉到的数据包保存到文件; 在本步骤中,需要捕捉的数据包长度依赖于不同的网站,在对多个网站实验提取资源地址后发现,在1MB长度之内,90%以上网站在会话中传输了资源地址,因此通过限制数据包捕捉的最大长度来提高地址提取的速度,本实施实例中采用1MB作为包捕捉的最大长度;此外,针对部分网站设置的被动数据传输模式(只传输流媒体内容最前部分,后部分数据 传输需要用户控制),设置了数据包捕捉的最大延时,通过限制数据包捕 捉的最大时延来提高地址体提取的速度,当包捕捉达到一定时间后,无论 数据包长度多少,停止捕捉线程,开始数据包分析,这有效提高了资源地址分析的效率;在实施实例中,最大时延设置为15ms。 步骤204:关闭链接、关闭捕捉线程;在本步骤中,同时关闭数据包缓存文件,准备进行数据包分析。 步骤205:检测流媒体内容的扩展名;在本步骤中,检测特定的流媒体内容扩展名,即依次检测wmv、 flv、 rm、 rmvb、 mpg、 swf、 asf、 mov、 mp3、 wma等多禾中流媒体扩展名(检 测的流媒体类型可根据需要方便地增删),直至提取到有效的扩展名;如

果检测不到任何流媒体扩展名,则说明打开页面中不包含有效的流媒体内 容,转到步骤201,重新开启数据包捕捉线程,捕获新的数据包。 步骤206:在捕获到的数据包中检测特定协议头;在本步骤中,检测到流媒体扩展名后,在其前一定范围内检测特定协议头,即在扩展名之前512字节向后依次检测"rtsp:〃"、 "mms:〃"和"http:〃" 三种协议头标识。步骤207: A类地址拼接;在本步骤中,检测到协议头标识后,复制从协议头到扩展名之后的所 有字符串作为资源的链接地址;然后在资源地址中再检测是否还包含协议 头,如果存在去掉内部协议头之前的所有字符,重复该步骤直至地址中不 再包含内部协议头,即为流媒体内容的链接地址。步骤208:对资源地址的有效性进行验证;在本步骤中,通过检测地址字符串中是否包含非法字符来验证资源地址有效性;非法字符包括ASCII码中值小于32或大于126的所有字符, 一旦包含这些非法字符,该地址为无效链接地址,程序检测下一个扩展名 的位置,并返回步骤206,获取新的地址。如果根据步骤206、 207、 208不能获得有效资源地址,则按照下面的 步骤进行地址提取。步骤209:检测"GET"标识;在本步骤中,检测到流媒体扩展名后,在其前一定范围内检测"GET" 标识,检测成功后,将"GET"标识后直至扩展名部分的字符串存入字符串 Sl;如果检测不到"GET"标识,则地址提取失败,退出程序。

步骤210:检测"H0St:"标识;在本步骤中,在其后一定范围内,检测"H0St:"标识;将H0St之后的 字符串存入S2;如果检测不到"H0St:"标识,则地址提取失败。 步骤211: B类地址拼接;在本步骤中,按照"http:〃S2/Sl"模式拼接,获得的字符串作为资源链 接地址。步骤212:对资源地址的有效性进行验证;在本步骤中,检测步骤211获取的资源地址中是否包含非法字符,如 果有则为非法地址;否则为有效地址,输出该地址,执行步骤213;具体 检测过程同步骤208,此处不再赘述。在获取的资源地址为非法地址时,在捕获的流媒体数据包中检测流媒 体内容的下一个扩展名,并转到步骤209。步骤213:关闭捕捉数据包文件。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而 已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈