CN103826164B - 视频观看记录的方法及装置 - Google Patents
视频观看记录的方法及装置 Download PDFInfo
- Publication number
- CN103826164B CN103826164B CN201410074486.3A CN201410074486A CN103826164B CN 103826164 B CN103826164 B CN 103826164B CN 201410074486 A CN201410074486 A CN 201410074486A CN 103826164 B CN103826164 B CN 103826164B
- Authority
- CN
- China
- Prior art keywords
- video
- forms
- video playback
- playback client
- terminal unit
- 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
Abstract
本发明提供了一种在终端设备中实现视频观看记录的方法和装置,所述方法包括:检测所述终端设备中正在运行的前台进程;如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码;通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作。采用本发明所述方法和装置不仅能够实现对各种视频播放客户端的视频观看记录,而且还能够统一收录和整理各种视频播放客户端的视频观看记录的数据。
Description
技术领域
本申请涉及一种视频观看记录的方法及装置,尤其涉及一种在终端设备中统一收录和整理各种视频播放客户端的视频观看记录的技术。
背景技术
目前市场上出现了各种视频播放客户端,以便通过在线播放的形式使得用户能够在各种联网的终端设备(如:手机、平板电脑等)中随时在线观看到各种高清影视剧。人们在享受视频盛宴的同时,会对各种视频播放客户端播放的内容进行视频观看记录,由于不同的影视剧可能散布在不同的视频站点上,同一影视剧也可能散布在不同的站点上,这不仅导致不同影视剧的视频观看记录散布在不同的视频播放客户端上,而且同一影视剧的视频观看记录也散布在不同的视频播放客户端上,不便于用户统一查看和梳理,因而如何统一收录和整理用户在各种视频播放客户端的视频观看记录成为一个亟待解决的问题。
发明内容
本发明的目的在于提供一种对浏览器的行为进行监控的方法和装置,本发明不仅能够实现对各种视频播放客户端的视频观看记录,而且还能够统一收录和整理各种视频播放客户端的视频观看记录的数据。
根据本发明的一方面,提供一种在终端设备中实现视频观看记录的方法,所述方法包括:检测所述终端设备中正在运行的前台进程;如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码;通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作。
优选地,所述检测所述终端设备中正在运行的前台进程的具体步骤为:按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。
优选地,所述通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件的具体步骤为:通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;根据截获的消息,获得该视频播放客户端的窗体;在获得的窗体中添加预设控件。
优选地,该视频播放客户端的窗体为该视频播放客户端的视频播放窗体。
优选地,所述在该视频播放客户端的窗体中添加预设控件的具体步骤为:确定获得的窗体是否为该视频播放客户端的视频播放窗体;如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件。
优选地,所述与影视评论相关的预定操作至少为以下操作之一:添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
优选地,所述终端设备为Android设备。
优选地,所述截获该视频播放客户端的窗体的待处理消息的具体步骤为:对该视频播放客户端的进程进行Java反射;从反射的结果中获取该视频播放客户端的窗体的待处理消息。
优选地,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
优选地,所述向该视频播放客户端的进程中注入预定代码的具体步骤为:利用Android的ptrace接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便在该视频播放客户端的窗体中添加预设控件。
根据本发明的另一方面,提供一种在终端设备中实现视频观看记录的装置,所述装置包括:前台进程检测单元,用于检测所述终端设备中正在运行的前台进程;视频进程注入单元,用于如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码;视频观看记录控制单元,用于通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作。
优选地,所述前台进程检测单元按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。
优选地,所述视频观看记录控制单元包括:窗体消息截获子单元,用于通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;视频窗体获取子单元,用于根据截获的消息,获得该视频播放客户端的窗体;视频观看记录添加子单元,用于在获得的窗体中添加预设控件。
优选地,该视频播放客户端的窗体为该视频播放客户端的视频播放窗体。
优选地,所述视频观看记录添加子单元包括:视频窗体确定子单元,用于确定获得的窗体是否为该视频播放客户端的视频播放窗体;窗体状态确定子单元,用于如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;预设控件添加子单元,用于如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件。
优选地,所述与影视评论相关的预定操作至少为以下操作之一:添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
优选地,所述终端设备为Android设备。
优选地,所述窗体消息截获子单元包括:消息反射子单元,用于对该视频播放客户端的进程进行Java反射;消息获取子单元,用于从反射的结果中获取该视频播放客户端的窗体的待处理消息。
优选地,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
优选地,所述视频进程注入单元包括:中间代码注入子单元,用于利用Android的ptrace接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;预定代码加载子单元,用于通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便在该视频播放客户端的窗体中添加预设控件。
有益效果
与现有技术相比,本发明具有以下优点:
本发明不仅能够实现对各种视频播放客户端的视频观看记录,而且还能够统一收录和整理各种视频播放客户端的视频观看记录的数据。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
图1是示出根据本发明的示例性实施例的在终端设备中实现视频观看记录的方法的流程图;
图2是示出根据本发明的示例性实施例的在终端设备中实现视频观看记录的装置的结构框图;
图3a~3d是示出根据本发明的示例性实施例的在手机设备中实现对某视频播放客户端的播放内容进行视频观看记录的屏幕截图。
具体实施方式
以下,将参照附图来详细说明本发明的实施例。
图1示出了本发明一种在终端设备中实现视频观看记录的方法的优选实施例的流程图。图2示出的一种在终端设备中实现视频观看记录的装置可用于实现图1中所述的方法。
参照图1,在110中,所述装置检测所述终端设备中正在运行的前台进程(即与用户正在交互的进程)。
为实现对前台进程的持续性监控,根据本发明的一个示例性实施例,所述装置检测所述终端设备中正在运行的前台进程的具体步骤为:所述装置按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。具体实施时,所述装置可在后台创建一个没有用户界面的进程,以便周期性获取终端设备中正在运行的前台进程信息,并将获取的进程信息与预置的视频播放进程信息表中记录的各种视频播放客户端的进程信息进行比对;如果比对结果存在一致的,则确定终端设备中正在运行的前台进程为视频播放客户端的进程。例如,在Android(一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发)设备中,由于各个应用进程之间的区别可以通过进程的包名(如:com.xxx.video、com.yyy.tv等)来区别,因此所述装置可通过获取前台进程的包名来确定获取的进程是否为视频播放客户端的进程。另外,由于在不同的终端设备中,进程之间的区别信息也是不同的,因此在具体实施时,所述装置可根据需要选择不同的进程信息来区别终端设备中正在运行的前台进程。
以下是所述装置在Android设备中检测前台进程的具体过程:
其中,FrontProcessIsVideoApp表示所述装置确定获取的前台进程是否为视频播放客户端的进程;execu(“su&&./ptraceCodeBlock”)表示所述装置向检测到的视频播放客户端的进程中注入预定代码;Sleep(3000)表示所述装置每隔3秒检测一次终端设备中正在运行的前台进程。
应该理解,上述进程的检测方法仅仅只是示例性的,本发明并不受限于此,只要是有助于对前台运行进程进行监控的检测方法,则均可应用于本发明。
在120中,所述装置如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码。
为了能够实现对各种视频播放客户端的视频观看记录,所述装置需要将自己的代码注入到视频播放客户端的进程的地址空间中运行,以便在视频播放客户端的播放页面中提供用于视频观看记录的预设控件。具体实施时,对于不同的终端设备,其注入代码的过程会有所不同。
以Android设备为例,由于在Android设备中,只有C语言编写的代码才能直接被注入到Android设备的目标进程中,但是Android设备中的应用程序都是基于Java(一种面向对象的程序设计语言)语言设计和编写的,为使得注入的代码能够参与到被注入的应用进程的生命周期中,根据本发明终端设备为Android设备的示例性实施例,所述装置向该视频播放客户端的进程中注入预定代码的具体步骤为:所述装置利用Android的ptrace(Android的代码注入接口)接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中。
以下是所述装置在Android设备中利用ptrace接口向视频播放客户端注入中间代码的具体过程:
ptrace_attach(videoApp);
ptrace_dlopen(videoApp,PathOfCodeBlock1);
func=ptrace_dlsym(videoApp,functionName);
ptrace_call(videoApp,func,params);
其中,ptrace_attach(videoApp)表示所述装置获取待注入的视频播放客户端的进程;ptrace_dlopen(videoApp,PathOfCodeBlock1)表示所述装置将C语言编写的中间代码PathOfCodeBlock1写入到待注入的视频播放客户端的进程的内存空间中;ptrace_dlsym(videoApp,functionName)表示所述装置获得待注入的视频播放客户端的进程的注入方法;ptrace_call(videoApp,func,params)表示所述装置通过获得的注入方法执行注入的中间代码。
以下是所述装置在Android设备中通过运行注入的中间代码将预定代码加载到视频播放客户端的进程的具体过程:
parentLoader=getSystemClassLoader();
loader=createClassLoader(PathOfCodeBlock2,parentLoader);
remoteClass=loadClass(loader,ClassName);
remoteMethod=getMethod(remoteClass,MethodName);
Invoke(remoteClass,remoteMethod);
其中,getSystemClassLoader()表示所述装置获取待注入的视频播放客户端的进程的父进程;createClassLoader(PathOfCodeBlock2,parentLoader)表示所述装置通过获取的父进程加载Java语言编写的预定代码PathOfCodeBlock2;loadClass(loader,ClassName)表示所述装置获得待注入的视频播放客户端的进程对象;getMethod(remoteClass,MethodName)表示所述装置获得待注入的视频播放客户端的进程对象的加载方法;Invoke(remoteClass,remoteMethod)表示所述装置通过获得的加载方法加载的预定代码。
在130中,所述装置通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作。
其中,与影视评论相关的预定操作至少为以下操作之一:添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
具体地,根据本发明的一个示例性实施例,所述装置通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件的具体步骤为:所述装置通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;根据截获的消息,获得该视频播放客户端的窗体;在获得的窗体中添加预设控件。
更为具体地,根据本发明终端设备为Android设备的示例性实施例,所述装置截获该视频播放客户端的窗体的待处理消息的具体步骤为:所述装置对该视频播放客户端的进程进行Java反射;从反射的结果中获取该视频播放客户端的窗体的待处理消息。
具体实施时,所述装置可通过对正在运行的视频播放客户端的进程进行Java反射,可以获取到正在运行的视频播放客户端中的任意一个类的所有属性和方法。由于在Android设备中,每一个正在运行的应用程序都会通过一个ActivityThread(Android主线程类)实例建立一个系统内部的消息循环机制,并通过它来管理应用程序中各个窗体Activity(Android应用的呈现层类,用于在Android应用中显示用户界面并接收与用户交互产生的界面事件)的消息,每个Activity又对应一个Handler(负责Activity消息的收发和处理的类),因此所述装置只要从反射的结果中获取到Activity对应的Handler,即可截获到所需要的消息Message(Android消息类),每个消息中除了包含有消息的ID(标识)和待处理数据,还包含有处理该消息的窗体的信息,因此所述装置可根据截获的消息,获得该视频播放客户端的窗体。
在每个Activity的生命周期(即启动和销毁的过程)中,Activity对应的Handler都会处理窗体的创建、启动、重启、还原、暂停、停止、销毁等各种消息,这些消息分别用于处理如下事件:
onCreate事件用于处理窗体的创建消息,是Activity启动后第一个被调用的事件,用于Activity的初始化、数据绑定和恢复信息等;onStart事件用于处理窗体的启动消息,当Activity显示在屏幕上时,该事件被调用;onRestart事件用于处理窗体的重启消息,当Activity从停止状态进入运行状态前,该事件被调用;onResume事件用于处理窗体的还原消息,在Activity和用户交互之前,该事件被调用;onPause事件用于处理窗体的暂停消息,当Activity进入暂停状态时,该事件被调用;onStop事件用于处理窗体的停止消息,当Activity进入停止状态时,该事件被调用;onDestroy事件用于处理窗体的销毁消息,在Activity被终止前,该事件被调用。
由于在Activity的生命周期中,应用程序会通过消息循环机制对任意一个Activity执行如下运作流程:
启动Activity:onCreate→onStart→onResume;呼叫另一个Activity:onPause→onCreate→onStart→onResume→onStop;还原Activity:onPause→onRestart→onStart→onResume→onStop→onDestroy;退出Activity:onPause→onStop→onDestroy;回收再启动Activity:onCreate→onStart→onResume。
由此可以看出,在上述运作流程中,虽然onResume事件和onStart事件作用类似,但是在Activity对应的每一个运作流程中都存在onResume事件,也就是说,Activity对应的每一个运作流程中都会接收到窗体的还原消息,因此所述装置可以通过截获窗体的还原消息来实现对Activity的改变操作(如:添加按钮等),所述装置对Activity进行操作后,Activity会继续处理onResume事件,这样既不会破坏正在运行的应用程序的完整性,还可以实现对应用程序操作的目的。因此为了能够在启动视频播放客户端的同时,显示用于视频观看记录的预设控件,根据本发明终端设备为Android设备的示例性实施例,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
应该理解,所述装置截获的消息也可以是窗体在启动过程中的其它消息(如:窗体的创建、启动消息等),还可以是窗体上的点击、长按、拖拽等用户操作消息,对此本发明没有限制,只要所述装置能够根据截获的消息在视频播放客户端的窗体中添加用于视频观看记录的控件,则均可应用于本发明。
还需要说明的是,由于在不同的终端设备中,消息截获和处理的过程会有所不同,所述装置在不同的终端设备中截获消息的具体方法及其处理的具体方法也会有所不同,因而本发明并不受限于此,只要能够截获到视频播放客户端窗体的消息,则均可应用于本发明。
此外,考虑到在终端设备的同一进程中可能会运行和打开多个不同的窗体,为确保用于视频观看记录的预设控件能够在播放时机出现在视频播放客户端的播放页面中,所述装置应该在视频播放窗体中添加用于视频观看记录的预设控件,根据本发明视频播放客户端的窗体为该视频播放客户端的视频播放窗体的示例性实施例,所述装置在获得的窗体中添加预设控件的具体步骤为:所述装置确定获得的窗体是否为该视频播放客户端的视频播放窗体;如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件(即该视频播放客户端的视频播放窗体)。
以下是所述装置在Android设备中添加预设控件的具体过程:
其中,isPlayActvityOpen(msg)的具体内容如下:
其中,handleMessage表示所述装置对反射到的消息进行处理;
msg.what!=RESUME_ACTIVITY表示所述装置截获窗体的还原消息;
RESUME_ACTIVITY为窗体的还原消息的标识;isPlayActvityOpen表示所述装置确定获得的前台运行是否为打开的视频播放窗体;
addRecordButton(activity)表示所述装置在视频播放窗体中添加预设控件;
getCurActivity(msg)表示所述装置从截获的消息msg中获得前台运行窗体
curActivity;if(isPlayWindow(curActivity))表示所述装置确定获得的窗体
curActivity是否为视频播放窗体。
图3a~3b示出了本发明在手机设备中实现的对某视频播放客户端的播放内容进行视频观看记录的屏幕截图。
其中,图3a中所示的301为所述装置在某视频播放客户端的播放窗口中显示的用于视频观看记录的预设控件,当用户在点击预设控件301时,所述装置进入图b所示的页面,图b所示的302为用户针对该视频播放客户端的播放内容可以进行的与影视评论相关的预定操作:加入观影记录、评价、追剧、赞一个,图c所示的303为用户针对该视频播放客户端的播放内容进行评价的输入页面,图d所示的304为所述装置收录的来自用户针对各种视频播放客户端进行的视频观看记录的数据列表。
应该理解,在图3a中所示的预设控件也仅仅只是示例性的,本发明并不受限于此,其他控件类型(如:菜单、列表选项等)也可以应用于本发明。
图2示出了本发明一种在终端设备中实现视频观看记录的装置的优选实施例结构框图。
参照图2,所述装置至少包括前台进程检测单元201、视频进程注入单元202以及视频观看记录控制单元203。
其中,前台进程检测单元201,用于检测所述终端设备中正在运行的前台进程。
视频进程注入单元202,用于如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码。
视频观看记录控制单元203,用于通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作。
其中,与影视评论相关的预定操作至少为以下操作之一:添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
为实现对前台进程的持续性监控,根据本发明检测前台进程的示例性实施例,所述前台进程检测单元201按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。
应该理解,上述进程的检测方法仅仅只是示例性的,本发明并不受限于此,只要是有助于对前台运行进程进行监控的检测方法,则均可应用于本发明。
为了能够实现对各种视频播放客户端的视频观看记录,所述装置需要将自己的代码注入到视频播放客户端的进程的地址空间中运行,以便在视频播放客户端的播放页面中提供用于视频观看记录的预设控件。具体实施时,对于不同的终端设备,其注入代码的过程会有所不同。
以Android设备为例,由于在Android设备中,只有C语言编写的代码才能直接被注入到Android设备的目标进程中,但是Android设备中的应用程序都是基于Java(一种面向对象的程序设计语言)语言设计和编写的,为使得注入的代码能够参与到被注入的应用进程的生命周期中,根据本发明终端设备为Android设备的示例性实施例,所述视频进程注入单元202包括:中间代码注入子单元(图中未示出),用于利用Android的ptrace接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;预定代码加载子单元(图中未示出),用于通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便在该视频播放客户端的窗体中添加预设控件。
具体地,根据本发明的一个示例性实施例,所述视频观看记录控制单元203包括:窗体消息截获子单元(图中未示出),用于通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;视频窗体获取子单元(图中未示出),用于根据截获的消息,获得该视频播放客户端的窗体;视频观看记录添加子单元(图中未示出),用于在获得的窗体中添加预设控件。
更为具体地,根据本发明终端设备为Android设备的示例性实施例,所述窗体消息截获子单元包括:消息反射子单元,用于对该视频播放客户端的进程进行Java反射;消息获取子单元,用于从反射的结果中获取该视频播放客户端的窗体的待处理消息。
为了能够在启动视频播放客户端的同时,显示用于视频观看记录的预设控件,根据本发明终端设备为Android设备的示例性实施例,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
应该理解,所述装置截获的消息也可以是窗体在启动过程中的其它消息(如:窗体的创建、启动消息等),还可以是窗体上的点击、长按、拖拽等用户操作消息,对此本发明没有限制,只要所述装置能够根据截获的消息在视频播放客户端的窗体中添加用于视频观看记录的控件,则均可应用于本发明。
还需要说明的是,由于在不同的终端设备中,消息截获和处理的过程会有所不同,所述装置在不同的终端设备中截获消息的具体方法及其处理的具体方法也会有所不同,因而本发明并不受限于此,只要能够截获到视频播放客户端窗体的消息,则均可应用于本发明。
此外,考虑到在终端设备的同一进程中可能会运行和打开多个不同的窗体,为确保用于视频观看记录的预设控件能够在播放时机出现在视频播放客户端的播放页面中,所述装置应该在视频播放窗体中添加用于视频观看记录的预设控件,根据本发明视频播放客户端的窗体为该视频播放客户端的视频播放窗体的示例性实施例,所述视频观看记录添加子单元包括:视频窗体确定子单元,用于确定获得的窗体是否为该视频播放客户端的视频播放窗体;窗体状态确定子单元,用于如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;预设控件添加子单元,用于如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件。
需要说明的是,在上述各个实施例中,虽然主要是以Android设备为例诠释本发明的具体实施过程,但是所属技术领域人员应该理解,同样的实施例在诸如Linux(一种免费使用和自由传播的类Unix操作系统)、IOS(苹果公司开发的移动操作系统)、Windows(微软公司推出的一系列操作系统)等其他终端设备中也是可以实现的。
由此可见,本发明不仅能够实现对各种视频播放客户端的视频观看记录,而且还能够统一收录和整理各种视频播放客户端的视频观看记录的数据。
需要指出,根据实施的需要,可将本申请中描述的各个步骤拆分为更多步骤,也可将两个或多个步骤或者步骤的部分操作组合成新的步骤,以实现本发明的目的。
上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
尽管已参照优选实施例为和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种改变和变换。
Claims (16)
1.一种在终端设备中实现视频观看记录的方法,其特征在于,包括:
检测所述终端设备中正在运行的前台进程;
如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码;
通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作,
其中,所述通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,包括:
通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;
根据截获的消息,获得该视频播放客户端的窗体;
在获得的窗体中添加预设控件,
其中,所述在获得的窗体中添加预设控件,包括:
确定获得的窗体是否为该视频播放客户端的视频播放窗体;
如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;
如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件。
2.如权利要求1所述的在终端设备中实现视频观看记录的方法,其特征在于,所述检测所述终端设备中正在运行的前台进程,包括:
按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。
3.如权利要求1所述的在终端设备中实现视频观看记录的方法,其特征在于,该视频播放客户端的窗体为该视频播放客户端的视频播放窗体。
4.如权利要求1~3任一项所述的在终端设备中实现视频观看记录的方法,其特征在于,所述与影视评论相关的预定操作至少为以下操作之一:
添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
5.如权利要求4所述的在终端设备中实现视频观看记录的方法,其特征在于,所述终端设备为Android设备。
6.如权利要求5所述的在终端设备中实现视频观看记录的方法,其特征在于,所述截获该视频播放客户端的窗体的待处理消息,包括:
对该视频播放客户端的进程进行Java反射;
从反射的结果中获取该视频播放客户端的窗体的待处理消息。
7.如权利要求5所述的在终端设备中实现视频观看记录的方法,其特征在于,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
8.如权利要求5所述的在终端设备中实现视频观看记录的方法,其特征在于,所述向该视频播放客户端的进程中注入预定代码,包括:
利用Android的ptrace接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;
通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便在该视频播放客户端的窗体中添加预设控件。
9.一种在终端设备中实现视频观看记录的装置,其特征在于,包括:
前台进程检测单元,用于检测所述终端设备中正在运行的前台进程;
视频进程注入单元,用于如果检测到正在运行的前台进程为视频播放客户端的进程,则向该视频播放客户端的进程中注入预定代码;
视频观看记录控制单元,用于通过执行注入的预定代码在该视频播放客户端的窗体中添加预设控件,所述预设控件用于接收和记录所述终端设备的用户针对该视频播放客户端的播放内容进行的与影视评论相关的预定操作,
其中,所述视频观看记录控制单元包括:
窗体消息截获子单元,用于通过执行注入的预定代码截获该视频播放客户端的窗体的待处理消息;
视频窗体获取子单元,用于根据截获的消息,获得该视频播放客户端的窗体;
视频观看记录添加子单元,用于在获得的窗体中添加预设控件,
其中,所述视频观看记录添加子单元包括:
视频窗体确定子单元,用于确定获得的窗体是否为该视频播放客户端的视频播放窗体;
窗体状态确定子单元,用于如果获得的窗体为该视频播放客户端的视频播放窗体,则确定获得的窗体是否处于打开状态;
预设控件添加子单元,用于如果获得的窗体处于打开状态,则在获得的窗体中添加预设控件。
10.如权利要求9所述的在终端设备中实现视频观看记录的装置,其特征在于,所述前台进程检测单元按照预设的时间间隔周期性检测所述终端设备中正在运行的前台进程。
11.如权利要求9所述的在终端设备中实现视频观看记录的装置,其特征在于,该视频播放客户端的窗体为该视频播放客户端的视频播放窗体。
12.如权利要求9~11任一项所述的在终端设备中实现视频观看记录的装置,其特征在于,所述与影视评论相关的预定操作至少为以下操作之一:
添加观影记录、发表影评、影视追剧、影视评分、影视推荐以及分享影视。
13.如权利要求12所述的在终端设备中实现视频观看记录的装置,其特征在于,所述终端设备为Android设备。
14.如权利要求13所述的在终端设备中实现视频观看记录的装置,其特征在于,所述窗体消息截获子单元包括:
消息反射子单元,用于对该视频播放客户端的进程进行Java反射;
消息获取子单元,用于从反射的结果中获取该视频播放客户端的窗体的待处理消息。
15.如权利要求13所述的在终端设备中实现视频观看记录的装置,其特征在于,所述截获的消息为该视频播放客户端的窗体的待处理还原消息。
16.如权利要求13所述的在终端设备中实现视频观看记录的装置,其特征在于,所述视频进程注入单元包括:
中间代码注入子单元,用于利用Android的ptrace接口将C语言编写的中间代码写入到该视频播放客户端的进程的内存空间中;
预定代码加载子单元,用于通过运行写入的中间代码将Java语言编写的预定代码加载到该视频播放客户端的进程中,以便在该视频播放客户端的窗体中添加预设控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410074486.3A CN103826164B (zh) | 2014-03-03 | 2014-03-03 | 视频观看记录的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410074486.3A CN103826164B (zh) | 2014-03-03 | 2014-03-03 | 视频观看记录的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103826164A CN103826164A (zh) | 2014-05-28 |
CN103826164B true CN103826164B (zh) | 2017-02-15 |
Family
ID=50760951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410074486.3A Active CN103826164B (zh) | 2014-03-03 | 2014-03-03 | 视频观看记录的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103826164B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104581394B (zh) * | 2015-01-08 | 2017-12-22 | 浪潮软件集团有限公司 | 一种基于浏览器架构的机顶盒实现背景pvr的方法 |
CN105898513A (zh) * | 2015-12-14 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 基于安卓平台的多媒体资源的播放方法、装置和终端设备 |
CN106227477A (zh) * | 2016-07-08 | 2016-12-14 | 中霆云计算科技(上海)有限公司 | 一种用于远程桌面协议的无损有损自动切换方法 |
US10721503B2 (en) * | 2017-06-09 | 2020-07-21 | Sony Interactive Entertainment LLC | Systems and methods for operating a streaming service to provide community spaces for media content items |
CN108241748B (zh) * | 2018-01-10 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 获取直播音乐名称的方法、装置、介质及设备 |
CN113645496B (zh) * | 2021-08-12 | 2024-04-09 | 北京字跳网络技术有限公司 | 一种视频处理方法、装置、设备及存储介质 |
CN114003326B (zh) * | 2021-10-22 | 2023-10-13 | 北京字跳网络技术有限公司 | 消息处理方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127875A (zh) * | 2007-09-13 | 2008-02-20 | 深圳市融合视讯科技有限公司 | 一种视频流媒体节目播放中的观众互动方法 |
CN103034722A (zh) * | 2012-12-13 | 2013-04-10 | 合一网络技术(北京)有限公司 | 一种网络视频评论聚合装置及方法 |
-
2014
- 2014-03-03 CN CN201410074486.3A patent/CN103826164B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127875A (zh) * | 2007-09-13 | 2008-02-20 | 深圳市融合视讯科技有限公司 | 一种视频流媒体节目播放中的观众互动方法 |
CN103034722A (zh) * | 2012-12-13 | 2013-04-10 | 合一网络技术(北京)有限公司 | 一种网络视频评论聚合装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103826164A (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103826164B (zh) | 视频观看记录的方法及装置 | |
US11297377B2 (en) | Passive data collection from third-party channel applications | |
US10785175B2 (en) | Polling extension application for interacting with a messaging application | |
US9602581B2 (en) | Remote control of an application using dynamic-linked library (DLL) injection | |
WO2017107441A1 (zh) | 截取视频动画的方法及装置 | |
US11025967B2 (en) | Method for inserting information push into live video streaming, server, and terminal | |
US20140280603A1 (en) | User attention and activity in chat systems | |
CN109074278B (zh) | 验证移动应用中的有状态动态链接 | |
Wang et al. | The research of Android System architecture and application programming | |
KR102396685B1 (ko) | 전자 장치의 모니터링 방법 및 장치 | |
CN110825456B (zh) | 加载时间计算方法、装置、计算机设备及存储介质 | |
TW201606663A (zh) | 共享日曆的時間線 | |
CN107948672B (zh) | 保存视频数据的方法和系统、以及服务器、穿戴式设备 | |
CN109766253B (zh) | 一种性能数据发送方法、装置、计算机设备及存储介质 | |
US20210026531A1 (en) | Collaborative drawing method and electronic device therefor | |
CN110162730B (zh) | 信息处理方法、装置、计算机设备及存储介质 | |
CN112887802A (zh) | 视频访问方法及装置 | |
US9152872B2 (en) | User experience analysis system to analyze events in a computer desktop | |
US20120297399A1 (en) | Automatically updating the display state of the user interface of a client device in a publish/subscribe system | |
CN109309851B (zh) | 信息处理方法、服务器及终端 | |
CN103514924A (zh) | 移动终端微件Widget内播放视频的方法、装置及播放器 | |
CN104077210B (zh) | 一种客户端崩溃的定位方法及系统 | |
CN109086157B (zh) | 日志追踪方法、装置、电子设备及存储介质 | |
CN106557398B (zh) | 信息上报方法和装置 | |
WO2023030308A1 (zh) | 界面显示方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |