CN106899889A - 应用程序内的视频播放方法及装置 - Google Patents
应用程序内的视频播放方法及装置 Download PDFInfo
- Publication number
- CN106899889A CN106899889A CN201510957144.0A CN201510957144A CN106899889A CN 106899889 A CN106899889 A CN 106899889A CN 201510957144 A CN201510957144 A CN 201510957144A CN 106899889 A CN106899889 A CN 106899889A
- Authority
- CN
- China
- Prior art keywords
- video
- page
- application program
- source address
- crack
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000005336 cracking Methods 0.000 claims abstract description 33
- 238000002347 injection Methods 0.000 claims abstract description 20
- 239000007924 injection Substances 0.000 claims abstract description 20
- 230000003993 interaction Effects 0.000 claims description 19
- 230000000903 blocking effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 130
- 230000011218 segmentation Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006854 communication Effects 0.000 description 9
- 238000004321 preservation Methods 0.000 description 5
- 239000000243 solution Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/432—Content retrieval operation from a local storage medium, e.g. hard-disk
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供一种应用程序内的视频播放方法及装置,所述方法包括步骤:向应用程序注入用于拦截视频播放事件的脚本;当存在视频播放事件时,对其进行拦截以获取当前视频页面;判断该视频页面是否属于预破解视频页面库;当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。本发明通过注入脚本程序拦截视频页面的播放事件,并破解相应视频页面的视频源地址,采用应用程序内置播放器或自定义播放页面播放所述视频源地址对应的视频,从而保证视频播放的效果统一,提高用户的视频观看体验度。
Description
技术领域
本发明涉及视频播放技术领域,具体而言,本发明涉及一种应用程序内的视频播放方法及其装置。
背景技术
随着互联网技术的快速发展,网络视频资源的普及,人们对视频的需求量越来越大,视频资源由于其生动、有趣的优势,使得人们可以直观地获取更多资讯信息。同时由于移动终端的发展,用户可以通过移动终端上的应用程序进行视频信息的观看。
但在需要展示各种视频资源的应用中,如搜索应用,由于应用程序内播放的视频资源是从不同的站点获取的,而各站点进行交互的过程中规则不一致,且交互规则随时可能变更,从而影响视频播放。同时,各个视频站点的界面风格不一致,有些站点的广告时间太长,不可离线观看,视频时长受限。并且,部分站点的视频需要分段获取,视频源接口需要加解密处理,更进一步的,各站点播放视频的自定义播放页面接口不一致等原因,造成视频资源不能正常播放或影响播放质量,从而使得用户的观看视频的体验下降,基于此,需要应用程序内的视频提供一种播放方法,以解决上述问题。
发明内容
本发明的目的旨在解决上述至少一个问题,提供一种视频播放方法,以实现应用程序内的视频播放流畅,给用户带来更好的视频观看体验。
为了实现上述目的,本发明提供一种应用程序内的视频播放方法,包括以下步骤:
向应用程序注入用于拦截视频播放事件的脚本;
当存在视频播放事件时,对其进行拦截以获取当前视频页面;
判断该视频页面是否属于预破解视频页面库;
当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
具体的,当所述视频页面属于预破解视频页面库时,查找该视频页面对应的视频源地址。
可选的,采用应用程序中内置的播放器播放与所述预破解视频页面对应的视频源地址相应的视频。
进一步,所述对视频页面的实时破解采用逆向工程。
具体的,所述采用逆向工程获取视频源地址的步骤具体为:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
进一步,破解成功后,采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。
进一步,当对所述视频页面破解失败后,通过***原生播放器播放视频。
进一步,提供一预破解视频库,用于记录视频页面与视频源地址之间的对应关系。
更进一步,所述方法还包括:
获取视频链接对应的视频页面,查找该视频页面对应的视频源地址,将所述视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。
优选的,每隔预设的时间间隔,对所述预破解视频库进行更新。
进一步,还包括,下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存。
进一步,将所述视频段按标记顺序采用应用程序中内置播放器或自定义播放器播放。
进一步,所述脚本拦截应用程序内的视频播放事件时,还包括:
判断所述应用程序中的当前页面是否存在待播放视频;
若存在待播放视频,则将当前页面作为当前视频页面。
更进一步,所述判断应用程序中的当前页面是否存在待播放视频之前,还包括:
接收搜索词的输入,依据该搜索词查找与其相关的网页信息,并将查到的网页信息展示于应用程序显示界面;
接收对所述应用程序显示界面的触控指令,依据该触控指令确定与其相应的当前页面,并在应用程序内加载该当前页面。
一种应用程序内的视频播放装置,包括:
响应模块:用于响应于对应用程序内视频链接的点击操作,加载相应的视频页面;
判断模块:用于判断该视频页面是否属于预破解视频页面库;
破解模块:用于当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
播放模块,用于破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
具体的,当所述视频页面属于预破解视频页面库时,查找该视频页面对应的视频源地址。
具体的,所述播放模块采用应用程序中内置的播放器播放与所述预破解视频页面对应的视频源地址相应的视频。
进一步,还包括逆向模块,用于对所述视频页面进行实时破解。
具体的,所述逆向模块采用逆向工程获取视频源地址的步骤具体为:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
进一步,破解成功后,所述播放模块采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。
进一步,当对所述视频页面破解失败后,所述播放模块通过***原生播放器播放视频。
进一步,还包括预破解视频库模块,用于提供一预破解视频库,用于记录视频页面与视频源地址之间的对应关系。
更进一步,所述预破解视频库模块还执行以下步骤:
获取视频链接对应的视频页面,查找该视频页面对应的视频源地址,将所述视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。
优选的,每隔预设的时间间隔,所述预破解视频库模块对所述预破解视频库进行更新。
进一步,还包括,视频段管理模块,用于下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存。
具体的,所述播放模块将所述视频段按标记顺序采用应用程序中内置播放器或自定义播放页面播放。
进一步,所述拦截模块在拦截应用程序内的视频播放事件时,还包括
待播放视频判断模块,用于执行以下步骤:
判断所述应用程序中的当前页面是否存在待播放视频;
若存在待播放视频,则将当前页面作为当前视频页面。
更进一步,所述待播放视频判断模块判断应用程序中的当前页面是否
存在待播放视频之前,还包括前置模块,用于执行以下步骤:
接收搜索词的输入,依据该搜索词查找与其相关的网页信息,并将查到的网页信息展示于应用程序显示界面;
接收对所述应用程序显示界面的触控指令,依据该触控指令确定与其相应的当前页面,并在应用程序内加载该当前页面。
相比现有技术,本发明的方案具有以下优点:
1、首先,本发明通过对视频页面进行破解获取其视频源地址,从而解决了由于各站点交互规则不同或随时改变带来的无法获取视频源地址的问题,且对分段视频进行预先下载并按顺序标记存储,避免视频分段获取带来的延时,给用户带来更好的视频观看体验。
2、其次,本发明对无法破解的视频页面采用***原生播放器播放,或由预先注入的脚本触发应用程序内置播放器进行全屏播放,从而避免对视频源接口进行解密,使用户对无法破解的视频页面也能采用统一的视频界面进行观看,进一步提高视频观看体验度。
3、再者,本发明通过注入脚本程序拦截视频页面的播放事件,并破解相应视频页面的视频源地址,采用应用程序内置播放器或自定义播放页面播放所述视频源地址对应的视频,从而保证视频播放的效果统一,更进一步提高用户的视频观看体验度。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明所述应用程序内视频播放方法的一实施例原理示意图;
图2为本发明所述应用程序内视频播放方法的另一实施例流程图;
图3为本发明所述应用程序内视频播放方法的又一实施例原理示意图;
图4为本发明所述应用程序内视频播放装置的一实施例结构框图;
图5为本发明所述应用程序内视频播放装置的另一实施例结构框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(Personal Communications Service,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
本发明实施例主要用于基于Android***的移动终端的应用程序,所述应用程序具体指具有视频播放功能、能够加载视频资源的应用程序。参见图1所示,本发明提供一种应用程序内的视频播放方法的实施例,本发明所述实施例中,所述各个步骤的执行主体可以为运行于移动终端设备上的应用程序,即在实际应用中开发的一款应用程序,使其在运行时能够执行本发明所述实施例中的各个步骤。当然,该应用程序可以为一个独立的应用程序,也可以为另一应用程序中的一个功能模块。所述应用程序内的视频播放方法具体包括以下步骤:
S21、向应用程序注入用于拦截视频播放事件的脚本;
通过相应的注入方式,向应用程序中注入拦截视频播放事件的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,以等待被应用程序的相应模块触发或调用。
其中,所述所述脚本拦截应用程序内的视频播放事件时,还包括:
判断所述应用程序中的当前页面是否存在待播放视频;
若存在待播放视频,则将当前页面作为当前视频页面。
且在判断所述当前页面是否存在待播放视频之前,还包括以下步骤:
接收搜索词的输入,依据该搜索词查找与其相关的网页信息,并将查到的网页信息展示于应用程序显示界面;
接收对所述应用程序显示界面的触控指令,依据该触控指令确定与其相应的当前页面,并在应用程序内加载该当前页面。
其中,用户在所述应用程序显示界面中输入触控指令可采用多种方式,如通过用户手指或感应笔来触控移动终端屏幕上的触摸点,也可以采取其他方式,本发明实施例对此不作限制。
S22、当存在视频播放事件时,对其进行拦截以获取当前视频页面;
当应用程序的相应模块检测到存在视频播放事件时,则通知所述注入的脚本程序,脚本程序被触发,对该视频播放事件进行拦截,获取当前播放事件的视频页面。
S23、判断该视频页面是否属于预破解视频页面库;
提供一个预破解视频库,用于记录视频页面与视频源地址之间的对应关系。该视频库由服务器预先生成,服务器基于视频链接对应的视频页面,查找该视频页面对应的视频源地址,将该视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。为了保证该预破解视频页面库处于最新状态,每隔预设的时间间隔,对该预破解视频库进行更新。
具体地,将当前视频页面与所述预破解视频页面库中的视频页面进行一一匹配,以确定该视频页面是否属于预破解视频页面库。所述视频页面可通过其视频链接,即URL地址进行表征,也可以通过视频名称或其他相关特征表征,本发明实施例对此不作限制。
S24、当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
当基于用户点击获取的视频页面不属于所述预破解视频页面库时,即在所述预破解视频页面库中没有与所述视频页面匹配的视频页面时,则应用程序请求对该视频页面进行实时破解,通过向服务器发送破解请求,由服务器执行相关破解操作。具体的,服务器通过逆向工程对视频页面进行破解,以获取其对应的视频源地址,步骤如下:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
服务器将获取的视频源地址反馈给应用程序,由应用程序基于该视频源地址获取相应的视频资源。
进一步的,当所述视频页面破解属于所述预破解视频页面库时,即所述预破解视频页面库中存在与所述视频页面匹配的视频页面时,则查找该视频页面对应的视频源地址,从而获取该视频页面对应的视频源地址。
S25、破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
当未破解的视频页面被破解成功后,获取到其视频源地址,则应用程序采用其内置播放器播放与所述破解获取的视频源地址对应的视频。进一步的,当所述视频页面属于所述预破解视频页面库时,通过查找获取该视频页面对应的视频源地址,应用程序采用其内置播放器播放该视频源地址对应的视频。
更进一步的,预先向应用程序中注入用于触发应用程序内置播放器执行全屏播放的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,当对所述视频页面破解失败后,调用该脚本程序,该预先注入的脚本触发应用程序内置播放器全屏显示,以全屏形式播放视频。优选的,所述视频播放采用横向全屏方式显示,以适应用户使用移动终端的需求。其中,所述脚本程序的触发优选在视频播放时或即将播放时,以便及时播放所述视频。
可选的,当未破解的视频页面被破解成功后,获取到其视频源地址,应用程序采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。更进一步,当未破解的视频页面破解失败后,应用程序通过***原生播放器播放视频。
由于在应用程序内的视频播放过程中,有些视频站点的视频是分段获取的,而分段获取视频会带来视频段之间的播放延时,降低用户观看视频的体验度。因此,本发明下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存,以预先将分段视频放入缓存,当用户观看视频时,将相应的分段视频按照标记顺序采用所述应用程序内置播放器或自定义播放页面紧密播放,为用户提供更加流畅的视频播放效果。
综上所述,本发明通过注入脚本程序拦截视频页面的播放事件,并破解相应视频页面的视频源地址,采用应用程序内置播放器或自定义播放页面播放所述视频源地址对应的视频,从而保证视频播放的效果统一,更进一步提高用户的视频观看体验度。
进一步地,为了说明本发明所述应用程序内视频播放方法的另一种实施方式,本发明还提供另外一种实施例,参阅图2所示,具体包括以下步骤:
S21、响应于对应用程序内视频链接的点击操作,加载相应的视频页面;
应用程序为用户提供一个触控界面,其中包括能够链接到视频资源的视频链接,用户点击相应视频链接时,对其进行响应,具体的,所述视频链接通常表示为URL地址,当用户点击视频链接时,应用程序在用户点击URL后生成请求包,移动终端对URL中的域名发起DNS解析请求,获得该域名的目标IP地址,向该目标IP发起链接请求,链接成功后,应用程序将所述请求包发送给该IP地址,由该IP地址对应的服务器对其请求包进行解析,以获取其中的请求内容。服务器对该请求内容进行判断,以确定其有效性。当该请求内容有效,则向应用程序端反馈视频页面的相关资源,应用程序对所述相关资源进行解析,并显示相关资源,以加载该视频页面。
S22、判断该视频页面是否属于预破解视频页面库;
提供一个预破解视频库,用于记录视频页面与视频源地址之间的对应关系。该视频库由服务器预先生成,服务器基于视频链接对应的视频页面,查找该视频页面对应的视频源地址,将该视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。为了保证该预破解视频页面库处于最新状态,每隔预设的时间间隔,对该预破解视频库进行更新。
具体地,将当前视频页面与所述预破解视频页面库中的视频页面进行一一匹配,以确定该视频页面是否属于预破解视频页面库。所述视频页面可通过其视频链接,即URL地址进行表征,也可以通过视频名称或其他相关特征表征,本发明实施例对此不作限制。
S23、当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
当基于用户点击获取的视频页面不属于所述预破解视频页面库时,即在所述预破解视频页面库中没有与所述视频页面匹配的视频页面时,则应用程序请求对该视频页面进行实时破解,通过向服务器发送破解请求,由服务器执行相关破解操作。具体的,服务器通过逆向工程对视频页面进行破解,以获取其对应的视频源地址,步骤如下:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
服务器将获取的视频源地址反馈给应用程序,由应用程序基于该视频源地址获取相应的视频资源。
进一步的,当所述视频页面破解属于所述预破解视频页面库时,即所述预破解视频页面库中存在与所述视频页面匹配的视频页面时,则查找该视频页面对应的视频源地址,从而获取该视频页面对应的视频源地址。
S24、破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
当未破解的视频页面被破解成功后,获取到其视频源地址,则应用程序采用其内置播放器播放与所述破解获取的视频源地址对应的视频。进一步的,当所述视频页面属于所述预破解视频页面库时,通过查找获取该视频页面对应的视频源地址,应用程序采用其内置播放器播放该视频源地址对应的视频。
更进一步的,预先向应用程序中注入用于触发应用程序内置播放器执行全屏播放的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,当对所述视频页面破解失败后,调用该脚本程序,该预先注入的脚本触发应用程序内置播放器全屏显示,以全屏形式播放视频。优选的,所述视频播放采用横向全屏方式显示,以适应用户使用移动终端的需求。其中,所述脚本程序的触发优选在视频播放时或即将播放时,以便及时播放所述视频。
可选的,当未破解的视频页面被破解成功后,获取到其视频源地址,应用程序采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。更进一步,当未破解的视频页面破解失败后,应用程序通过***原生播放器播放视频。
由于在应用程序内的视频播放过程中,有些视频站点的视频是分段获取的,而分段获取视频会带来视频段之间的播放延时,降低用户观看视频的体验度。因此,本发明下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存,以预先将分段视频放入缓存,当用户观看视频时,将相应的分段视频按照标记顺序采用所述应用程序内置播放器或自定义播放页面紧密播放,为用户提供更加流畅的视频播放效果。
综上所述,本发明所述实施例通过对视频页面进行破解获取其视频源地址,从而解决了由于各站点交互规则不同或随时改变带来的无法获取视频源地址的问题,且对分段视频进行预先下载并按顺序标记存储,避免视频分段获取带来的延时,给用户带来更好的视频观看体验。
为了更进一步说明本发明所述方法,提供另一种实施例,如图3所示,以流程化的形式对其进行说明,具体如下:
步骤1:响应于用户点击视频链接的操作,加载相应的视频页面;
步骤2:判断所述视频页面是否被破解,若否则转步骤4,若是则转步骤3;
步骤3:采用内置播放器进行播放;
步骤4:对所述未破解视频页面进行实时破解,若破解成功则转步骤3,若破解失败则转步骤5;
步骤5:跳转至H5页面进行播放或触发全屏播放,若播放成功则转步骤6,若播放失败则转步骤7;
步骤6:采用自定义播放页面进行播放;
步骤7:采用H5播放器进行播放。
参考图4所示,为了进一步模块化地说明本发明所述应用程序内的视频播放方法,还提供一种应用程序内的视频播放装置,包括:注入模块11、拦截模块12、判断模块13、破解模块14、播放模块15,其中,
所述注入模块11用于向应用程序注入用于拦截视频播放事件的脚本;
通过相应的注入方式,向应用程序中注入拦截视频播放事件的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,以等待被应用程序的相应模块触发或调用。
其中,所述脚本拦截应用程序内的视频播放事件时,还包括待播放视频判断模块,具体执行以下步骤:
判断所述应用程序中的当前页面是否存在待播放视频;
若存在待播放视频,则将当前页面作为当前视频页面。
且在判断所述当前页面是否存在待播放视频之前,还包括前置模块,执行以下步骤:
接收搜索词的输入,依据该搜索词查找与其相关的网页信息,并将查到的网页信息展示于应用程序显示界面;
接收对所述应用程序显示界面的触控指令,依据该触控指令确定与其相应的当前页面,并在应用程序内加载该当前页面。
其中,用户在所述应用程序显示界面中输入触控指令可采用多种方式,如通过用户手指或感应笔来触控移动终端屏幕上的触摸点,也可以采取其他方式,本发明实施例对此不作限制。
所述拦截模块12用于当存在视频播放事件时,对其进行拦截以获取当前视频页面;
当应用程序的相应模块检测到存在视频播放事件时,则通知所述注入的脚本程序,脚本程序被触发,对该视频播放事件进行拦截,获取当前播放事件的视频页面。
所述判断模块213用于判断该视频页面是否属于预破解视频页面库;
提供一个预破解视频库,用于记录视频页面与视频源地址之间的对应关系。该视频库由服务器预先生成,服务器基于视频链接对应的视频页面,查找该视频页面对应的视频源地址,将该视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。为了保证该预破解视频页面库处于最新状态,每隔预设的时间间隔,对该预破解视频库进行更新。
具体地,将当前视频页面与所述预破解视频页面库中的视频页面进行一一匹配,以确定该视频页面是否属于预破解视频页面库。所述视频页面可通过其视频链接,即URL地址进行表征,也可以通过视频名称或其他相关特征表征,本发明实施例对此不作限制。
所述破解模块14用于当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
当基于用户点击获取的视频页面不属于所述预破解视频页面库时,即在所述预破解视频页面库中没有与所述视频页面匹配的视频页面时,则应用程序请求对该视频页面进行实时破解,通过向服务器发送破解请求,由服务器执行相关破解操作。具体的,服务器通过逆向工程对视频页面进行破解,以获取其对应的视频源地址,所述服务器包括逆向模块,其执行步骤如下:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
服务器将获取的视频源地址反馈给应用程序,由应用程序基于该视频源地址获取相应的视频资源。
进一步的,当所述视频页面破解属于所述预破解视频页面库时,即所述预破解视频页面库中存在与所述视频页面匹配的视频页面时,则查找该视频页面对应的视频源地址,从而获取该视频页面对应的视频源地址。
所述播放模块15用于破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
当未破解的视频页面被破解成功后,获取到其视频源地址,则应用程序采用其内置播放器播放与所述破解获取的视频源地址对应的视频。进一步的,当所述视频页面属于所述预破解视频页面库时,通过查找获取该视频页面对应的视频源地址,应用程序采用其内置播放器播放该视频源地址对应的视频。
更进一步的,预先向应用程序中注入用于触发应用程序内置播放器执行全屏播放的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,当对所述视频页面破解失败后,调用该脚本程序,该预先注入的脚本触发应用程序内置播放器全屏显示,以全屏形式播放视频。优选的,所述视频播放采用横向全屏方式显示,以适应用户使用移动终端的需求。其中,所述脚本程序的触发优选在视频播放时或即将播放时,以便及时播放所述视频。
可选的,当未破解的视频页面被破解成功后,获取到其视频源地址,应用程序采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。更进一步,当未破解的视频页面破解失败后,应用程序通过***原生播放器播放视频。
由于在应用程序内的视频播放过程中,有些视频站点的视频是分段获取的,而分段获取视频会带来视频段之间的播放延时,降低用户观看视频的体验度。因此,本发明下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存,以预先将分段视频放入缓存,当用户观看视频时,将相应的分段视频按照标记顺序采用所述应用程序内置播放器或自定义播放页面紧密播放,为用户提供更加流畅的视频播放效果。
相应地,参考图5所示,为本发明针对应用程序内的视频播放方法的另一个实施例,提供一种应用程序内的视频播放装置,包括:响应模块21、判断模块22、破解模块23、播放模块24,其中,
所述响应模块21用于响应于对应用程序内视频链接的点击操作,加载相应的视频页面;
应用程序为用户提供一个触控界面,其中包括能够链接到视频资源的视频链接,用户点击相应视频链接时,对其进行响应,具体的,所述视频链接通常表示为URL地址,当用户点击视频链接时,应用程序在用户点击URL后生成请求包,移动终端对URL中的域名发起DNS解析请求,获得该域名的目标IP地址,向该目标IP发起链接请求,链接成功后,应用程序将所述请求包发送给该IP地址,由该IP地址对应的服务器对其请求包进行解析,以获取其中的请求内容。服务器对该请求内容进行判断,以确定其有效性。当该请求内容有效,则向应用程序端反馈视频页面的相关资源,应用程序对所述相关资源进行解析,并显示相关资源,以加载该视频页面。
所述判断模块22用于判断该视频页面是否属于预破解视频页面库;
预破解视频模块提供一个预破解视频库,用于记录视频页面与视频源地址之间的对应关系。该视频库由预破解视频模块预先生成,预破解视频模块基于视频链接对应的视频页面,查找该视频页面对应的视频源地址,将该视频页面与查找到的视频源地址之间的对应关系存储于所述预破解视频库。为了保证该预破解视频页面库处于最新状态,每隔预设的时间间隔,对该预破解视频库进行更新。
具体地,将当前视频页面与所述预破解视频页面库中的视频页面进行一一匹配,以确定该视频页面是否属于预破解视频页面库。所述视频页面可通过其视频链接,即URL地址进行表征,也可以通过视频名称或其他相关特征表征,本发明实施例对此不作限制。
所述破解模块23用于当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
当基于用户点击获取的视频页面不属于所述预破解视频页面库时,即在所述预破解视频页面库中没有与所述视频页面匹配的视频页面时,则应用程序请求对该视频页面进行实时破解,通过向服务器发送破解请求,由服务器执行相关破解操作。具体的,服务器通过逆向工程对视频页面进行破解,以获取其对应的视频源地址,所述服务器包括逆向模块,其执行步骤如下:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
服务器将获取的视频源地址反馈给应用程序,由应用程序基于该视频源地址获取相应的视频资源。
进一步的,当所述视频页面破解属于所述预破解视频页面库时,即所述预破解视频页面库中存在与所述视频页面匹配的视频页面时,则查找该视频页面对应的视频源地址,从而获取该视频页面对应的视频源地址。
所述播放模块24用于破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
当未破解的视频页面被破解成功后,获取到其视频源地址,则应用程序采用其内置播放器播放与所述破解获取的视频源地址对应的视频。进一步的,当所述视频页面属于所述预破解视频页面库时,通过查找获取该视频页面对应的视频源地址,应用程序采用其内置播放器播放该视频源地址对应的视频。
更进一步的,由注入模块预先向应用程序中注入用于触发应用程序内置播放器执行全屏播放的脚本程序,所述脚本程序可以为任何脚本语言编程得到,如JavaScript、python等,本发明实施例对此不作限制。将所述脚本通过相应的注入方式注入应用程序的相应模块中,当对所述视频页面破解失败后,调用该脚本程序,该预先注入的脚本触发应用程序内置播放器全屏显示,以全屏形式播放视频。优选的,所述视频播放采用横向全屏方式显示,以适应用户使用移动终端的需求。其中,所述脚本程序的触发优选在视频播放时或即将播放时,以便及时播放所述视频。
可选的,当未破解的视频页面被破解成功后,获取到其视频源地址,应用程序采用自定义播放页面播放与所述破解获取的视频源地址对应的视频。更进一步,当未破解的视频页面破解失败后,应用程序通过***原生播放器播放视频。
由于在应用程序内的视频播放过程中,有些视频站点的视频是分段获取的,而分段获取视频会带来视频段之间的播放延时,降低用户观看视频的体验度。因此,本发明实施例所述装置还包括视频段管理模块,用于下载与破解后的视频页面对应的视频源地址相应的所有视频段,并按顺序进行标记保存,以预先将分段视频放入缓存,当用户观看视频时,将相应的分段视频按照标记顺序采用所述应用程序内置播放器或自定义播放页面紧密播放,为用户提供更加流畅的视频播放效果。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种应用程序内的视频播放方法,其特征在于,包括以下步骤:
向应用程序注入用于拦截视频播放事件的脚本;
当存在视频播放事件时,对其进行拦截以获取当前视频页面;
判断该视频页面是否属于预破解视频页面库;
当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
2.根据权利要求1所述的方法,其特征在于,当所述视频页面属于预破解视频页面库时,查找该视频页面对应的视频源地址。
3.根据权利要求2所述的方法,其特征在于,采用应用程序中内置的播放器播放与所述预破解视频页面对应的视频源地址相应的视频。
4.根据权利要求1所述的方法,其特征在于,所述对视频页面的实时破解采用逆向工程。
5.根据权利要求4所述的方法,其特征在于,所述采用逆向工程获取视频源地址的步骤具体为:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
6.一种应用程序内的视频播放装置,其特征在于,包括:
注入模块:用于向应用程序注入用于拦截视频播放事件的脚本;
拦截模块:用于当存在视频播放事件时,对其进行拦截以获取当前视频页面;
判断模块:用于判断该视频页面是否属于预破解视频页面库;
破解模块:用于当该视频页面不属于预破解视频页面库时,对其进行实时破解,以获取该视频页面对应的视频源地址;
播放模块:用于破解成功后,采用应用程序中内置播放器播放与所述破解获取的视频源地址对应的视频。
7.根据权利要求6所述的装置,其特征在于,当所述视频页面属于预破解视频页面库时,查找该视频页面对应的视频源地址。
8.根据权利要求7所述的装置,其特征在于,所述播放模块采用应用程序中内置的播放器播放与所述预破解视频页面对应的视频源地址相应的视频。
9.根据权利要求6所述的装置,其特征在于,还包括逆向模块,用于对所述视频页面进行实时破解。
10.根据权利要求9所述的装置,其特征在于,所述逆向模块采用逆向工程获取视频源地址的步骤具体为:
反推视频页面中的交互行为,以获取其页面交互规则;
按照所述交互规则正向获取所述视频页面对应的视频源地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957144.0A CN106899889A (zh) | 2015-12-18 | 2015-12-18 | 应用程序内的视频播放方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510957144.0A CN106899889A (zh) | 2015-12-18 | 2015-12-18 | 应用程序内的视频播放方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106899889A true CN106899889A (zh) | 2017-06-27 |
Family
ID=59188509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510957144.0A Pending CN106899889A (zh) | 2015-12-18 | 2015-12-18 | 应用程序内的视频播放方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106899889A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108174271A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放方法、存储介质和终端 |
CN108174300A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放控制方法、存储介质和终端 |
CN110069308A (zh) * | 2019-04-22 | 2019-07-30 | 北京字节跳动网络技术有限公司 | 页面启动方法、装置、电子设备和存储介质 |
CN111182339A (zh) * | 2020-01-10 | 2020-05-19 | 海信视像科技股份有限公司 | 一种播放媒体项目的方法及显示设备 |
CN111372134A (zh) * | 2020-04-20 | 2020-07-03 | 聚好看科技股份有限公司 | 一种播放器调用方法及终端 |
-
2015
- 2015-12-18 CN CN201510957144.0A patent/CN106899889A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108174271A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放方法、存储介质和终端 |
CN108174300A (zh) * | 2017-12-29 | 2018-06-15 | 北京奇虎科技有限公司 | 视频播放控制方法、存储介质和终端 |
CN110069308A (zh) * | 2019-04-22 | 2019-07-30 | 北京字节跳动网络技术有限公司 | 页面启动方法、装置、电子设备和存储介质 |
CN111182339A (zh) * | 2020-01-10 | 2020-05-19 | 海信视像科技股份有限公司 | 一种播放媒体项目的方法及显示设备 |
CN111372134A (zh) * | 2020-04-20 | 2020-07-03 | 聚好看科技股份有限公司 | 一种播放器调用方法及终端 |
CN111372134B (zh) * | 2020-04-20 | 2022-05-24 | 聚好看科技股份有限公司 | 一种播放器调用方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8510317B2 (en) | Providing search results based on keyword detection in media content | |
CN106899889A (zh) | 应用程序内的视频播放方法及装置 | |
US10452759B1 (en) | Method and apparatus for protection of media objects including HTML | |
US20200201490A1 (en) | Providing content via multiple display devices | |
US9323755B2 (en) | Secondary content | |
CN103533442B (zh) | 视频弹幕的加载方法及装置 | |
US20220368733A1 (en) | Interaction method and apparatus, and electronic device | |
CN104811814A (zh) | 基于视频播放的信息处理方法和***、客户端和服务器 | |
CN111064987B (zh) | 信息展示方法、装置及电子设备 | |
CN105991398A (zh) | 一种即时通信im聊天记录的保存方法及装置 | |
CN108965365B (zh) | 一种数据处理方法及终端、计算机存储介质 | |
US20120203859A1 (en) | System and method for interaction between e-mail/web browser and communication devices | |
CN104978267A (zh) | 网页测试方法、终端及服务器 | |
CN105824836A (zh) | 一种截图共享方法、装置、信息接收方法及装置 | |
US9219937B2 (en) | Universal multiplexer for content channels via injecting | |
CN104284250A (zh) | 一种视频处理方法、装置、服务器和客户端设备 | |
CN106899895A (zh) | 应用程序内的视频播放方法及装置 | |
CN106412676A (zh) | 一种视频的码流切换方法、装置及电子设备 | |
CN106547769A (zh) | 一种doi显示方法及装置 | |
CN108174300A (zh) | 视频播放控制方法、存储介质和终端 | |
CN103561063A (zh) | 一种登录机顶盒的方法及终端 | |
CN106341698A (zh) | 视频直播处理方法和装置 | |
US10819789B2 (en) | Method for identifying and serving similar web content | |
US20170171339A1 (en) | Advertisement data transmission method, electrnoic device and system | |
CN105574115B (zh) | 在搜索页面上直接显示搜索结果的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170627 |
|
RJ01 | Rejection of invention patent application after publication |