CN104333769A - 一种视频直播的方法以及装置 - Google Patents

一种视频直播的方法以及装置 Download PDF

Info

Publication number
CN104333769A
CN104333769A CN201410669531.XA CN201410669531A CN104333769A CN 104333769 A CN104333769 A CN 104333769A CN 201410669531 A CN201410669531 A CN 201410669531A CN 104333769 A CN104333769 A CN 104333769A
Authority
CN
China
Prior art keywords
live
video
configuration information
video applications
capture mode
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.)
Granted
Application number
CN201410669531.XA
Other languages
English (en)
Other versions
CN104333769B (zh
Inventor
吴昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201410669531.XA priority Critical patent/CN104333769B/zh
Publication of CN104333769A publication Critical patent/CN104333769A/zh
Application granted granted Critical
Publication of CN104333769B publication Critical patent/CN104333769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/241Operating system [OS] processes, e.g. server setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明实施例公开了一种视频直播的方法以及装置,其中,所述方法包括:获取视频应用对应的直播配置信息;当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。采用本发明,可保证直播的流畅性,并简化主播用户的操作。

Description

一种视频直播的方法以及装置
技术领域
本发明涉及互联网技术领域,尤其涉及一种视频直播的方法以及装置。
背景技术
近年来,集合在线K歌、在线视频直播、在线游戏直播、在线教育直播等功能为一体的综合型的富媒体客户端空前发展,使得主播用户可以通过主播客户端在相应频道中上传直播视频,并且观众用户可以自在地通过观众客户端来观看主播客户端上传的直播视频。
以游戏直播为例,主播客户端在上传直播视频时,可以通过桌面捕捉方式、进程捕捉方式或其他视频捕捉方式获取需要进行直播的视频内容。但是当主播客户端在直播过程中需要切换当前的视频捕捉方式时,主播客户端需要通过主播用户的手动操作才能完成视频捕捉方式的切换,这时必定会影响直播的流畅性,也给主播用户带来了繁杂的操作。
发明内容
本发明实施例提供一种视频直播的方法以及装置,可保证直播的流畅性,并简化主播用户的操作。
本发明实施例提供了一种视频直播的方法,包括:
获取视频应用对应的直播配置信息;
当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
相应地,本发明实施例还提供了一种视频直播的装置,包括:
配置获取模块,用于获取视频应用对应的直播配置信息;
获取检测模块,用于当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
获取切换模块,用于当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
本发明实施例中,通过在检测到视频应用的加载信息包括多媒体编程接口时,可以切换当前的视频捕捉方式,并继续通过切换后的视频捕捉方式获取并直播视频应用对应的视频内容,使得主播客户端无需通过主播用户的手动操作即可实现对视频捕捉方式的切换,从而保证了直播的流畅性,并简化了主播用户的操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络架构示意图;
图2是本发明实施例提供的一种视频直播的方法的流程示意图;
图3是本发明实施例提供的另一种视频直播的方法的流程示意图;
图4是本发明实施例提供的一种视频直播的装置的结构示意图;
图5是本发明实施例提供的一种配置获取模块的结构示意图;
图6是本发明实施例提供的一种进程名获取单元的结构示意图;
图7是本发明实施例提供的一种获取切换模块的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好理解本发明实施例公开的一种视频直播的方法以及装置,下面先对本发明实施例适用的网络构架进行描述。请参阅图1,图1是本发明实施例公开的一种网络构架示意图。如图1所示,该网络构架可以包括服务器100以及多个客户端,其中,服务器100也被称后台服务器、组件服务器等,服务器100可以通过互联网与多个客户端进行通信连接。在图1所示的网络构架中,多个客户端中的部分客户端可以作为主播客户端,而其余客户端可以作为观众客户端。其中,多个主播客户端可以和多个观众客户端位于同一个频道内。本发明实施例中,频道简单来讲就是一种虚拟空间(或虚拟房间),位于该虚拟空间内的观众客户端可以不仅观看主播客户端的直播内容,还可以和主播客户端进行语音或文字的交互。主播客户端具备直播主动权,例如主播客户端具有视频上传的主动权,视频上传可以是游戏直播的视频,表演的视频,教育内容的视频等等视频上传)。本发明实施例中,主播客户端、观众客户端均可以是包括集合群聊、视频直播、频道K歌、在线游戏、在线影视等功能为一体的富媒体客户端。在图1所示的网络构架中,主播客户端、观众客户端可以运行在包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视、智能手表、智能眼镜、智能手环等用户设备上。
本发明实施例提供的所述网络构架中的客户端200a、客户端200b、……、客户端200n以及所述服务器100可以应用到互联网中视频直播的场景。以客户端200a为例,所述客户端200a为主播客户端,所述客户端200a可以通过服务器100获取视频应用对应的直播配置信息,当所述直播配置信息包括动态配置信息时,所述客户端200a可以通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息,当检测到所述视频应用的加载信息包括多媒体编程接口时,所述客户端200a可以根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。其中,所述客户端200a直播所述视频应用对应的视频内容的具体过程可以为:所述客户端200a将获取到的所述视频应用对应的视频内容发送至服务器100,服务器100再实时地将所述视频应用对应的视频内容转发给与客户端200a同一个频道的多个观众客户端,以实现对所述视频应用的视频直播。所述视频应用可以为各种游戏应用,且所述视频应用中的游戏界面可以作为视频直播的***,且所述视频应用可以包括第三方应用以及主播客户端的自带应用。通过对视频捕捉方式的动态切换,可以使主播客户端无需通过主播用户的手动操作即可实现对视频捕捉方式的切换,从而保证了直播的流畅性,并简化了主播用户的操作。
基于图1所示的网络构架,本发明实施例公开了一种视频直播的方法的流程示意图。请参见图2,是本发明实施例提供的一种视频直播的方法的流程示意图,所述方法包括:
S101,获取视频应用对应的直播配置信息;
具体的,当主播用户通过主播客户端在指定频道中对视频应用进行视频直播时,主播客户端所在终端需要先启动所述视频应用,并显示所述视频应用的界面,此时主播客户端可以从服务器中获取预设的直播配置列表,再在所述直播配置列表中获取到所述视频应用对应的直播配置信息。其中,所述视频应用可以为某款游戏应用,且所述视频应用中的游戏界面可以作为视频直播的***;所述直播配置列表可以包括多种视频应用的直播配置信息,且所述直播配置列表是预先存储于服务器中,所述直播配置列表中的各个视频应用的直播配置信息也是预先设置好的,一种视频应用对应一个直播配置信息;所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及动态配置信息等等。其中,所述动态配置信息是用于对视频应用的视频捕捉方式进行切换的信息。
S102,当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
具体的,当所述直播配置信息包括动态配置信息时,主播客户端可以通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并周期性检测所述视频应用的加载信息。例如,预设时间间隔为1分钟,主播客户端通过第一视频捕捉方式开始直播视频的同时,主播客户端还可以检测所述视频应用的加载信息,并在此后每间隔1分钟检测一次检测所述视频应用的加载信息,直到检测出所述视频应用的加载信息包括多媒体编程接口时停止检测所述视频应用的加载信息。其中,主播客户端在检测出所述视频应用的加载信息包括多媒体编程接口之前,主播客户端始终通过第一视频捕捉方式直播视频。
S103,当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;
具体的,当检测到所述视频应用的加载信息包括多媒体编程接口时,可以检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口,若检测为是,则可以将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。其中,多媒体编程接口可以包括DirectX(Direct eXtension,应用于Windows***的多媒体编程接口);所述第一视频捕捉方式可以为桌面捕捉方式,所述第二视频捕捉方式可以为进程捕捉方式,桌面捕捉方式是指通过获取桌面中的某块显示区域中的显示内容以作为需要进行直播的视频内容的方式,进程捕捉方式是指使用DLL(Dynamic Link Library,动态链接库)注入视频应用的进程以获取该视频应用的视频图像的方式。由于视频应用在进入全屏模式的游戏界面时,通常都会加载相应版本的DirectX,而且桌面捕捉方式无法对全屏模式的游戏界面进行捕捉,所以主播客户端可以在检测当前游戏加载了相应版本的DirectX时,将桌面捕捉方式切换至进程捕捉方式,以保证直播过程不中断;当然,视频应用在进入窗口模式的游戏界面时,也可能会加载相应版本的DirectX,此时,主播客户端也可以将桌面捕捉方式切换至进程捕捉方式,而且由于进程捕捉方式是直接hook(hook,钩子)DirectX,可以利用硬件的特性,所以进程捕捉方式比桌面捕捉方式更加高效。例如,主播客户端获取到某款游戏的直播配置信息包括动态配置信息,且动态配置信息包括如下信息:
<game id="67"dx_version="d3d9.dll"use_desktop_temporary="1"/>
其中,game id是游戏ID,dx_version是需要监控的DirectX版本,use_desktop_temporary="1"是指主播客户端暂时使用桌面捕捉方式,一旦主播客户端检测到该游戏加载了dx_version所指定的版本“d3d9.dll”,主播客户端就会动态切换到进程捕捉方式。
本发明实施例中,通过在检测到视频应用的加载信息包括多媒体编程接口时,可以切换当前的视频捕捉方式,并继续通过切换后的视频捕捉方式获取并直播视频应用对应的视频内容,使得主播客户端无需通过主播用户的手动操作即可实现对视频捕捉方式的切换,从而保证了直播的流畅性,并简化了主播用户的操作。
基于图1所示的网络构架,本发明实施例公开了另一种视频直播的方法的流程示意图。请参见图3,是本发明实施例提供的一种视频直播的方法的流程示意图,所述方法包括:
S201,当检测到本客户端对应的用户信息包括主播用户权限时,从服务器获取预设的直播配置列表;
具体的,当主播用户通过主播客户端登录相应账号后,主播客户端可以检测该账号对应的用户信息,即检测本客户端对应的用户信息,当检测到本客户端对应的用户信息包括主播用户权限时,主播客户端可以从服务器获取预设的直播配置列表。所述直播配置列表可以包括多种视频应用的直播配置信息,且所述直播配置列表是预先存储于服务器中,所述直播配置列表中的各个视频应用的直播配置信息也是预先设置好的,一种视频应用对应一个直播配置信息,视频应用可以为游戏应用,且所述视频应用中的游戏界面可以作为视频直播的***;所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及动态配置信息等等。其中,所述动态配置信息是用于对视频应用的视频捕捉方式进行切换的信息。
S202,根据对直播开启按键的点击操作,监控操作***的所有进程;
具体的,当主播用户通过主播客户端登录相应账号后,主播客户端还可以显示有直播开启按键,当主播用户点击所述直播开启按键时,所述主播客户端可以根据对直播开启按键的点击操作通知本客户端所在终端挂载全局钩子,以监控操作***的所有进程。
S203,当监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态时,获取所述视频应用的进程名;
具体的,当主播用户启动了视频应用,且正在操作所述视频应用时,主播客户端所在终端可以监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态,此时,主播客户端可以从所有进程中获取到所述视频应用的进程名。
S204,检测所述直播配置列表中是否存在所述视频应用的进程名;
具体的,主播客户端在获取到所述视频应用的进程名后,可以检测所述直播配置列表中是否存在所述视频应用的进程名。
S205,当检测到所述直播配置列表中存在所述视频应用的进程名时,在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息;
具体的,当检测到所述直播配置列表中存在所述视频应用的进程名时,在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息;当检测到所述直播配置列表中不存在所述视频应用的进程名时,主播客户端将不会对该视频应用进行直播。
S206,当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
具体的,当所述直播配置信息包括动态配置信息时,主播客户端可以通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并周期性检测所述视频应用的加载信息。例如,预设时间间隔为1分钟,主播客户端通过第一视频捕捉方式开始直播视频的同时,主播客户端还可以检测所述视频应用的加载信息,并在此后每间隔1分钟检测一次检测所述视频应用的加载信息,直到检测出所述视频应用的加载信息包括多媒体编程接口时停止检测所述视频应用的加载信息。其中,主播客户端在检测出所述视频应用的加载信息包括多媒体编程接口之前,主播客户端始终通过第一视频捕捉方式直播视频。
S207,当检测到所述视频应用的加载信息包括多媒体编程接口时,检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;
具体的,当检测到所述视频应用的加载信息包括多媒体编程接口时,检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;当检测到所述视频应用的加载信息未包括多媒体编程接口时,主播客户端将继续通过第一视频捕捉方式直播视频,并继续周期性检测所述视频应用的加载信息;其中,多媒体编程接口可以包括DirectX。
S208,若检测为是,则将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;
具体的,若S207步骤检测为是,则将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;若S207步骤检测为否,则主播客户端将继续通过第一视频捕捉方式直播视频,并继续周期性检测所述视频应用的加载信息。其中,所述第一视频捕捉方式可以为桌面捕捉方式,所述第二视频捕捉方式可以为进程捕捉方式,桌面捕捉方式是指通过获取桌面中的某块显示区域中的显示内容以作为需要进行直播的视频内容的方式,进程捕捉方式是指使用DLL注入视频应用的进程以获取该视频应用的视频图像的方式。由于视频应用在进入全屏模式的游戏界面时,通常都会加载相应版本的DirectX,而且桌面捕捉方式无法对全屏模式的游戏界面进行捕捉,所以主播客户端可以在检测当前游戏加载了相应版本的DirectX时,将桌面捕捉方式切换至进程捕捉方式,以保证直播过程不中断;当然,视频应用在进入窗口模式的游戏界面时,也可能会加载相应版本的DirectX,此时,主播客户端也可以将桌面捕捉方式切换至进程捕捉方式,而且由于进程捕捉方式是直接hook(hook,钩子)DirectX,可以利用硬件的特性,所以进程捕捉方式比桌面捕捉方式更加高效。例如,主播客户端获取到某款游戏的直播配置信息包括动态配置信息,且动态配置信息包括如下信息:
<game id="67"dx_version="d3d9.dll"use_desktop_temporary="1"/>
其中,game id是游戏ID,dx_version是需要监控的DirectX版本,dx_version也是动态配置信息中的目标多媒体编程接口,use_desktop_temporary="1"是指主播客户端暂时使用桌面捕捉方式,一旦主播客户端检测到该游戏加载了dx_version所指定的版本“d3d9.dll”,主播客户端就会动态切换到进程捕捉方式。
优选地,所述直播配置信息可以包括动态配置信息或固定配置信息,例如,所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及动态配置信息,或者,所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及固定配置信息。在S205步骤之后,若获取到的直播配置信息包括固定配置信息,则通过第一视频捕捉方式或第二视频捕捉方式获取并直播所述视频应用对应的视频内容。其中,若固定配置信息包括第一视频捕捉方式,则主播客户端将始终通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容;若固定配置信息包括第二视频捕捉方式,则主播客户端将始终通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
本发明实施例中,通过在检测到视频应用的加载信息包括多媒体编程接口时,可以切换当前的视频捕捉方式,并继续通过切换后的视频捕捉方式获取并直播视频应用对应的视频内容,使得主播客户端无需通过主播用户的手动操作即可实现对视频捕捉方式的切换,从而保证了直播的流畅性,并简化了主播用户的操作。
基于图1所示的网络构架,本发明实施例公开了一种视频直播的装置的结构示意图。请参见图4,是本发明实施例提供的一种视频直播的装置的结构示意图,所述视频直播的装置1可以应用于主播客户端,所述视频直播的装置1可以包括:配置获取模块10、获取检测模块20、获取切换模块30;
所述配置获取模块10,用于获取视频应用对应的直播配置信息;
具体的,当主播用户想通过主播客户端在指定频道中对视频应用进行视频直播时,主播客户端所在终端需要先启动所述视频应用,并显示所述视频应用的界面,此时所述配置获取模块10可以从服务器中获取预设的直播配置列表,再在所述直播配置列表中获取到所述视频应用对应的直播配置信息。其中,所述视频应用可以为某款游戏应用,且所述视频应用中的游戏界面可以作为视频直播的***;所述直播配置列表可以包括多种视频应用的直播配置信息,且所述直播配置列表是预先存储于服务器中,所述直播配置列表中的各个视频应用的直播配置信息也是预先设置好的,一种视频应用对应一个直播配置信息;所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及动态配置信息等等。其中,所述动态配置信息是用于对视频应用的视频捕捉方式进行切换的信息。
所述获取检测模块20,用于当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
具体的,当所述直播配置信息包括动态配置信息时,所述获取检测模块20可以通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并周期性检测所述视频应用的加载信息。例如,预设时间间隔为1分钟,所述获取检测模块20通过第一视频捕捉方式开始直播视频的同时,所述获取检测模块20还可以检测所述视频应用的加载信息,并在此后每间隔1分钟检测一次检测所述视频应用的加载信息,直到检测出所述视频应用的加载信息包括多媒体编程接口时停止检测所述视频应用的加载信息。其中,所述获取检测模块20在检测出所述视频应用的加载信息包括多媒体编程接口之前,始终由所述获取检测模块20通过第一视频捕捉方式直播视频。
所述获取切换模块30,用于当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;
具体的,当检测到所述视频应用的加载信息包括多媒体编程接口时,所述获取切换模块30可以检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口,若检测为是,则所述获取切换模块30可以将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。其中,多媒体编程接口可以包括DirectX;所述第一视频捕捉方式可以为桌面捕捉方式,所述第二视频捕捉方式可以为进程捕捉方式,桌面捕捉方式是指通过获取桌面中的某块显示区域中的显示内容以作为需要进行直播的视频内容的方式,进程捕捉方式是指使用DLL注入视频应用的进程以获取该视频应用的视频图像的方式。由于视频应用在进入全屏模式的游戏界面时,通常都会加载相应版本的DirectX,而且桌面捕捉方式无法对全屏模式的游戏界面进行捕捉,所以所述获取切换模块30可以在检测当前游戏加载了相应版本的DirectX时,将桌面捕捉方式切换至进程捕捉方式,以保证直播过程不中断;当然,视频应用在进入窗口模式的游戏界面时,也可能会加载相应版本的DirectX,此时,所述获取切换模块30也可以将桌面捕捉方式切换至进程捕捉方式,而且由于进程捕捉方式是直接hook DirectX,可以利用硬件的特性,所以进程捕捉方式比桌面捕捉方式更加高效。例如,所述配置获取模块10获取到某款游戏的直播配置信息包括动态配置信息,且动态配置信息包括如下信息:
<game id="67"dx_version="d3d9.dll"use_desktop_temporary="1"/>
其中,game id是游戏ID,dx_version是需要监控的DirectX版本,use_desktop_temporary="1"是指主播客户端暂时使用桌面捕捉方式,一旦所述获取切换模块30检测到该游戏加载了dx_version所指定的版本“d3d9.dll”,所述获取切换模块30就会动态切换到进程捕捉方式。
优选地,所述直播配置信息可以包括动态配置信息或固定配置信息,例如,所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及动态配置信息,或者,所述直播配置信息可以包括视频应用的进程名、视频应用的名称以及固定配置信息。因此,所述视频直播的装置1还可以包括:固定配置获取模块40;
所述固定配置获取模块40,用于当所述直播配置信息包括固定配置信息时,通过第一视频捕捉方式或第二视频捕捉方式获取并直播所述视频应用对应的视频内容;
具体的,若固定配置信息包括第一视频捕捉方式,则所述固定配置获取模块40将始终通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容;若固定配置信息包括第二视频捕捉方式,则所述固定配置获取模块40将始终通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
进一步的,再请参见图5,是本发明实施例提供的一种配置获取模块10的结构示意图,所述配置获取模块10可以包括:进程名获取单元101、进程名检测单元102、配置查找单元103;
所述进程名获取单元101,用于从服务器获取预设的直播配置列表,并获取视频应用的进程名;
具体的,所述进程名获取单元101可以从服务器获取预设的直播配置列表;当主播用户启动并操作所述视频应用时,所述进程名获取单元101还可以获取视频应用的进程名。
所述进程名检测单元102,用于检测所述直播配置列表中是否存在所述视频应用的进程名;
具体的,所述进程名获取单元101在获取到所述视频应用的进程名后,所述进程名检测单元102可以检测所述直播配置列表中是否存在所述视频应用的进程名。
所述配置查找单元103,用于当检测到所述直播配置列表中存在所述视频应用的进程名时,在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息;
具体的,当所述进程名检测单元102检测到所述直播配置列表中存在所述视频应用的进程名时,所述配置查找单元103在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息;当所述进程名检测单元102检测到所述直播配置列表中不存在所述视频应用的进程名时,所述视频直播的装置1将不会对该视频应用进行直播。
进一步的,再请参见图6,是本发明实施例提供的一种进程名获取单元101的结构示意图,所述进程名获取单元101可以包括:列表获取子单元1011、监控子单元1012、进程名获取子单元1013;
所述列表获取子单元1011,用于当检测到本客户端对应的用户信息包括主播用户权限时,从服务器获取预设的直播配置列表;
具体的,当主播用户通过主播客户端登录相应账号后,所述列表获取子单元1011可以检测该账号对应的用户信息,即检测本客户端对应的用户信息,当检测到本客户端对应的用户信息包括主播用户权限时,所述列表获取子单元1011可以从服务器获取预设的直播配置列表。
所述监控子单元1012,用于根据对直播开启按键的点击操作,监控操作***的所有进程;
具体的,当主播用户通过主播客户端登录相应账号后,主播客户端还可以显示有直播开启按键,当主播用户点击所述直播开启按键时,所述监控子单元1012可以根据对直播开启按键的点击操作通知本客户端所在终端挂载全局钩子,以监控操作***的所有进程。
所述进程名获取子单元1013,用于当监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态时,获取所述视频应用的进程名;
具体的,当主播用户启动了视频应用,且正在操作所述视频应用时,主播客户端所在终端可以监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态,此时,所述进程名获取子单元1013可以从所有进程中获取到所述视频应用的进程名。
进一步的,再请参见图7,是本发明实施例提供的一种获取切换模块30的结构示意图,所述获取切换模块30可以包括:加载信息检测单元301、获取切换单元302;
所述加载信息检测单元301,用于当检测到所述视频应用的加载信息包括多媒体编程接口时,检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;
具体的,当检测到所述视频应用的加载信息包括多媒体编程接口时,所述加载信息检测单元301可以检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;当检测到所述视频应用的加载信息未包括多媒体编程接口时,所述视频直播的装置1将继续通过第一视频捕捉方式直播视频,并继续周期性检测所述视频应用的加载信息。
所述获取切换单元302,用于若所述加载信息检测单元301检测为是,则将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;
具体的,若所述加载信息检测单元301检测为是,则所述获取切换单元302将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容;若所述加载信息检测单元301检测为否,则所述视频直播的装置1将继续通过第一视频捕捉方式直播视频,并继续周期性检测所述视频应用的加载信息。
本发明实施例中,通过在检测到视频应用的加载信息包括多媒体编程接口时,可以切换当前的视频捕捉方式,并继续通过切换后的视频捕捉方式获取并直播视频应用对应的视频内容,使得主播客户端无需通过主播用户的手动操作即可实现对视频捕捉方式的切换,从而保证了直播的流畅性,并简化了主播用户的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (12)

1.一种视频直播的方法,其特征在于,包括:
获取视频应用对应的直播配置信息;
当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
2.如权利要求1所述的方法,其特征在于,所述获取视频应用对应的直播配置信息,包括:
从服务器获取预设的直播配置列表,并获取视频应用的进程名;
检测所述直播配置列表中是否存在所述视频应用的进程名;
当检测到所述直播配置列表中存在所述视频应用的进程名时,在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息。
3.如权利要求2所述的方法,其特征在于,所述从服务器获取预设的直播配置列表,并获取视频应用的进程名,包括:
当检测到本客户端对应的用户信息包括主播用户权限时,从服务器获取预设的直播配置列表;
根据对直播开启按键的点击操作,监控操作***的所有进程;
当监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态时,获取所述视频应用的进程名。
4.如权利要求1所述的方法,其特征在于,所述当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容,包括:
当检测到所述视频应用的加载信息包括多媒体编程接口时,检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;
若检测为是,则将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
5.如权利要求1所述的方法,其特征在于,所述直播配置信息包括动态配置信息或固定配置信息,还包括:
当所述直播配置信息包括固定配置信息时,通过第一视频捕捉方式或第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
6.如权利要求1至5任一项所述的方法,其特征在于,
所述第一视频捕捉方式为桌面捕捉方式,所述第二视频捕捉方式为进程捕捉方式。
7.一种视频直播的装置,其特征在于,包括:
配置获取模块,用于获取视频应用对应的直播配置信息;
获取检测模块,用于当所述直播配置信息包括动态配置信息时,通过第一视频捕捉方式获取并直播所述视频应用对应的视频内容,并检测所述视频应用的加载信息;
获取切换模块,用于当检测到所述视频应用的加载信息包括多媒体编程接口时,根据所述动态配置信息将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
8.如权利要求7所述的装置,其特征在于,所述配置获取模块包括:
进程名获取单元,用于从服务器获取预设的直播配置列表,并获取视频应用的进程名;
进程名检测单元,用于检测所述直播配置列表中是否存在所述视频应用的进程名;
配置查找单元,用于当检测到所述直播配置列表中存在所述视频应用的进程名时,在所述直播配置列表中查找出与所述视频应用的进程名对应的直播配置信息。
9.如权利要求8所述的装置,其特征在于,所述进程名获取单元包括:
列表获取子单元,用于当检测到本客户端对应的用户信息包括主播用户权限时,从服务器获取预设的直播配置列表;
监控子单元,用于根据对直播开启按键的点击操作,监控操作***的所有进程;
进程名获取子单元,用于当监控到所述操作***的所有进程中存在视频应用的进程,且所述视频应用的进程为激活状态时,获取所述视频应用的进程名。
10.如权利要求7所述的装置,其特征在于,所述获取切换模块包括:
加载信息检测单元,用于当检测到所述视频应用的加载信息包括多媒体编程接口时,检测所述加载信息中的多媒体编程接口是否为所述动态配置信息中的目标多媒体编程接口;
获取切换单元,用于若所述加载信息检测单元检测为是,则将第一视频捕捉方式切换至第二视频捕捉方式,并通过第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
11.如权利要求7所述的装置,其特征在于,所述直播配置信息包括动态配置信息或固定配置信息,还包括:
固定配置获取模块,用于当所述直播配置信息包括固定配置信息时,通过第一视频捕捉方式或第二视频捕捉方式获取并直播所述视频应用对应的视频内容。
12.如权利要求7至11任一项所述的装置,其特征在于,
所述第一视频捕捉方式为桌面捕捉方式,所述第二视频捕捉方式为进程捕捉方式。
CN201410669531.XA 2014-11-20 2014-11-20 一种视频直播的方法以及装置 Active CN104333769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410669531.XA CN104333769B (zh) 2014-11-20 2014-11-20 一种视频直播的方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410669531.XA CN104333769B (zh) 2014-11-20 2014-11-20 一种视频直播的方法以及装置

Publications (2)

Publication Number Publication Date
CN104333769A true CN104333769A (zh) 2015-02-04
CN104333769B CN104333769B (zh) 2019-06-25

Family

ID=52408407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410669531.XA Active CN104333769B (zh) 2014-11-20 2014-11-20 一种视频直播的方法以及装置

Country Status (1)

Country Link
CN (1) CN104333769B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105791885A (zh) * 2016-03-31 2016-07-20 成都西可科技有限公司 一种运动相机上通过一键发起视频直播的方法
CN106354247A (zh) * 2015-07-17 2017-01-25 上海乐相科技有限公司 一种头戴式智能眼镜显示控制方法及装置
WO2017020623A1 (zh) * 2015-08-05 2017-02-09 腾讯科技(深圳)有限公司 数据直播方法及装置
CN108932142A (zh) * 2018-04-28 2018-12-04 广州市百果园网络科技有限公司 一种画面捕捉方法及终端
CN114125473A (zh) * 2020-08-28 2022-03-01 腾讯科技(深圳)有限公司 一种直播竞猜数据处理方法、装置、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075172A (zh) * 2006-08-23 2007-11-21 腾讯科技(深圳)有限公司 截图方法、截图装置及即时通讯客户端
CN101420610A (zh) * 2007-10-26 2009-04-29 闪联信息技术工程中心有限公司 显示远程桌面内容的方法及其装置
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及***
US20100158477A1 (en) * 2008-12-24 2010-06-24 EchoStar Technologies, L.L.C. Apparatus and methods for resolving recording conflicts of a digital video recorder
CN103823683A (zh) * 2014-02-27 2014-05-28 北京六间房科技有限公司 一种视频录制装置及方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101075172A (zh) * 2006-08-23 2007-11-21 腾讯科技(深圳)有限公司 截图方法、截图装置及即时通讯客户端
CN101420610A (zh) * 2007-10-26 2009-04-29 闪联信息技术工程中心有限公司 显示远程桌面内容的方法及其装置
US20100158477A1 (en) * 2008-12-24 2010-06-24 EchoStar Technologies, L.L.C. Apparatus and methods for resolving recording conflicts of a digital video recorder
CN101447998A (zh) * 2008-12-25 2009-06-03 广东威创视讯科技股份有限公司 桌面共享方法及***
CN103823683A (zh) * 2014-02-27 2014-05-28 北京六间房科技有限公司 一种视频录制装置及方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106354247A (zh) * 2015-07-17 2017-01-25 上海乐相科技有限公司 一种头戴式智能眼镜显示控制方法及装置
WO2017020623A1 (zh) * 2015-08-05 2017-02-09 腾讯科技(深圳)有限公司 数据直播方法及装置
US10873770B2 (en) 2015-08-05 2020-12-22 Tencent Technology (Shenzhen) Company Limited Live data broadcast method and apparatus
US10448061B2 (en) 2015-08-05 2019-10-15 Tencent Technology (Shenzhen) Company Limited Live data broadcast method and apparatus
CN105791885A (zh) * 2016-03-31 2016-07-20 成都西可科技有限公司 一种运动相机上通过一键发起视频直播的方法
CN108932142B (zh) * 2018-04-28 2020-04-03 广州市百果园网络科技有限公司 一种画面捕捉方法及终端
WO2019205703A1 (zh) * 2018-04-28 2019-10-31 广州市百果园网络科技有限公司 一种画面捕捉方法及终端
CN108932142A (zh) * 2018-04-28 2018-12-04 广州市百果园网络科技有限公司 一种画面捕捉方法及终端
KR20210005048A (ko) * 2018-04-28 2021-01-13 광저우 바이구오얀 네트워크 테크놀로지 컴퍼니 리미티드 이미지 캡처링 방법 및 단말기
US11249624B2 (en) 2018-04-28 2022-02-15 Bigo Technology Pte. Ltd. Method for capturing an image, terminal and storage medium thereof
KR102575541B1 (ko) 2018-04-28 2023-09-06 비고 테크놀로지 피티이. 엘티디. 이미지를 캡처하기 위한 방법, 단말기 및 이의 저장 매체
CN114125473A (zh) * 2020-08-28 2022-03-01 腾讯科技(深圳)有限公司 一种直播竞猜数据处理方法、装置、服务器及存储介质
CN114125473B (zh) * 2020-08-28 2022-12-13 腾讯科技(深圳)有限公司 一种直播竞猜数据处理方法、装置、服务器及存储介质

Also Published As

Publication number Publication date
CN104333769B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
CN104333770A (zh) 一种视频直播的方法以及装置
WO2017140229A1 (zh) 移动终端的视频录制方法和装置
US10194189B1 (en) Playback of content using multiple devices
CN104881237B (zh) 一种网络互动方法及客户端
CN104333769A (zh) 一种视频直播的方法以及装置
CN103338405A (zh) 一种截屏应用的方法、设备及***
US20170171602A1 (en) Method and electronic device for controlling three stream video play
WO2019051938A1 (zh) 一种直播视频留存的方法、装置、服务器、主播端及介质
US20170171278A1 (en) Method and electronic device for continuously playing video
WO2016074327A1 (zh) 一种媒体流的控制方法、装置和***
CN104427404A (zh) 一种视频片段的提取和播放方法、及装置
CN104363473B (zh) 一种基于在线直播的信息传输方法以及装置
US20170195614A1 (en) Method and electronic device for playing video
CN109803151B (zh) 多媒体数据流切换方法、装置、存储介质及电子装置
CN103702198A (zh) 一种跨终端连续播放的方法及装置
CN103442299B (zh) 一种播放记录的显示方法及电子设备
US9325776B2 (en) Mixed media communication
WO2017084356A1 (zh) 通过电视进行视频通话的显示控制方法、***及电视
CN114040243B (zh) 直播间视频播放方法及装置
US20190222898A1 (en) Video playing method, device and storage
CN113852767B (zh) 视频编辑方法、装置、设备及介质
US20170188085A1 (en) Method and electronic device for multi-screen switching
CN109561337A (zh) 预览视频的播放方法和装置
CN108882004B (zh) 视频录制方法、装置、设备及存储介质
CN104200405A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510000, Guangdong Province, Guangzhou, Panyu District Town, Huambo business district, Wanda Plaza, block B1, 28 floor

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20150204

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021980000101

Denomination of invention: A method and device for live video broadcasting

Granted publication date: 20190625

License type: Common License

Record date: 20210106