CN108882055B - 视频直播方法及系统、合成视频流的方法及装置 - Google Patents
视频直播方法及系统、合成视频流的方法及装置 Download PDFInfo
- Publication number
- CN108882055B CN108882055B CN201810691566.1A CN201810691566A CN108882055B CN 108882055 B CN108882055 B CN 108882055B CN 201810691566 A CN201810691566 A CN 201810691566A CN 108882055 B CN108882055 B CN 108882055B
- Authority
- CN
- China
- Prior art keywords
- watermark
- video frame
- cpu
- client
- anchor client
- 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
Images
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/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/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种视频直播方法及系统、合成视频流的方法及装置。所述合成视频流的方法应用于主播客户端,所述方法包括:当所述主播客户端在后台运行时,获取待添加的水印;获取待处理的视频帧;调用CPU将所述水印添加至所述视频帧中。本申请可解决现有技术中主播客户端设备推送视频流时安全性较低的缺陷。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及视频直播方法及系统、合成视频流的方法及装置。
背景技术
近年来,在线直播技术得到空前发展,越来越多的用户采用移动终端进行直播。在直播的过程中,为了保护版权,可以在视频中加入水印。
当前,使用移动终端(例如手机)进行直播时,多数是在观众客户端播放时,通过观众客户端在对拉取的直播视频流进行解码后,对解码后获得的视频帧添加水印,从而实现在观众客户端显示水印。但是,如果其他平台从服务器中非法拉流进行使用,就没办法显示水印。
另外,用户采用移动终端上的主播客户端进行其他软件的直播时,例如对手游软件开播的游戏进行直播,由于主播客户端在后台运行时不能调用 GPU(GraphicsProcessing Unit,图形处理器)对采集的视频帧进行图像处理 (特别是iOS系统的移动终端),使得移动终端无法将水印写入视频流中。
发明内容
本申请提供了一种视频直播方法及系统、合成视频流的方法及装置,以解决现有技术中的缺陷。
根据本申请实施例的第一方面,提供了一种视频直播方法,所述方法应用于直播系统,所述直播系统包括主播客户端、直播服务器和观众客户端,所述方法包括:
主播客户端在后台运行时,调用CPU(Central Processing Unit,中央处理器)将待添加的水印添加至待处理的视频帧中,并将处理后的视频帧发送至所述直播服务器;
所述直播服务器接收所述处理后的视频帧并发送至所述观众客户端;
所述观众客户端接收所述处理后的视频帧,并进行播放。
根据本申请实施例的第二方面,提供了一种视频直播系统,所述系统包括主播客户端、直播服务器和观众客户端;
所述主播客户端用于在后台运行时,调用CPU将待添加的水印添加至待处理的视频帧中,并将处理后的视频帧发送至所述直播服务器;
所述直播服务器用于接收所述处理后的视频帧并发送至所述观众客户端;
所述观众客户端用于接收所述处理后的视频帧,并进行播放。
根据本申请实施例的第三方面,提供了一种合成视频流的方法,所述方法应用于主播客户端,所述方法包括:
当所述主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中。
在一个可选的实现方式中,在所述调用CPU将所述水印添加至所述视频帧中之前,所述方法还包括:
调用所述CPU将所述视频帧转换为位图图像。
在一个可选的实现方式中,所述调用所述CPU将所述视频帧转换为位图图像,包括:
调用所述CPU将所述视频帧转换为RGB格式的图像;
将所述RGB格式的图像转换为位图图像。
在一个可选的实现方式中,所述调用CPU将所述水印添加至所述视频帧中,包括:
获取所述位图图像的特征参数;
判断所述位图图像的特征参数是否处于阈值范围内;
若是,则调用CPU将所述水印添加至所述位图图像中。
在一个可选的实现方式中,所述水印包括按照预设顺序排列的多张水印图像,所述调用CPU将所述水印添加至所述视频帧中,包括:
从首帧视频帧开始,按照预设顺序每次获取一张水印图像,并添加至对应的一帧视频帧中。
在一个可选的实现方式中,所述按照预设顺序每次获取一张水印图像,包括:
判断上一次获取的水印图像是否为最后一张水印图像;
若是,则重新获取首张水印图像。
在一个可选的实现方式中,所述调用CPU将所述水印添加至所述视频帧中,包括:
在所述视频帧是指定视频帧时,调用CPU将所述水印添加至所述指定视频帧中。
在一个可选的实现方式中,所述调用CPU将所述水印添加至所述视频帧中,包括:
接收用户输入的配置指令,所述配置指令携带坐标参数,根据所述坐标参数在视频帧上确定目标图像区域;
调用CPU将所述水印添加至所述目标图像区域。
在一个可选的实现方式中,所述调用CPU将所述水印添加至所述目标图像区域,包括:
调用CPU将所述水印的大小调整至与所述目标图像区域匹配;
将调整后的所述水印添加至所述目标图像区域。
在一个可选的实现方式中,所述获取待添加的水印,包括:
接收用户输入的水印选择指令,获取对应的待添加的水印。
根据本申请实施例的第四方面,提供了一种合成视频流的装置,所述装置应用于主播客户端,所述装置包括:
水印获取模块,用于当所述主播客户端在后台运行时,获取待添加的水印;
视频帧获取模块,用于获取待处理的视频帧;
水印添加模块,用于调用CPU将所述水印添加至所述视频帧中。
根据本申请实施例的第五方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
当主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中。
根据本申请实施例的第六方面,提供了一种计算机存储介质,所述存储介质中存储有程序指令,所述程序指令包括:
当主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例提供的视频直播方法及系统、合成视频流的方法及装置,当主播客户端在后台运行时,获取待添加的水印和待处理的视频帧,并调用 CPU将水印异步绘制至视频帧中,使得主播客户端在后台运行时,也能够在视频帧写入水印。进一步地,由于视频帧在主播客户端往外推流时就已经添加有水印,使得其他平台在盗用视频帧进行二次使用时,水印能够直接被显示和暴露出来,方便了视频著作权人进行对盗用行为进行取证,提高了视频直播过程中数据的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请根据一示例性实施例示出的一种视频直播系统的应用场景的示意图;
图2为本申请根据一示例性实施例示出的一种视频直播方法的流程图;
图3A为本申请根据一示例性实施例示出的一种合成视频流的方法的流程图;
图3B为本申请根据一示例性实施例示出的另一种合成视频流的方法的流程图;
图3C为本申请根据一示例性实施例示出的再一种合成视频流的方法的流程图;
图3D为本申请根据一示例性实施例示出的再一种合成视频流的方法的流程图;
图3E为本申请根据一示例性实施例示出的再一种合成视频流的方法的流程图;
图3F为本申请根据一示例性实施例示出的再一种合成视频流的方法的流程图;
图4为本申请根据一示例性实施例示出的再一种合成视频流的方法的流程图;
图5为本申请根据一示例性实施例示出的再一种合成视频流的装置的框图;
图6为本申请根据一示例性实施例示出的一种合成视频流的装置所在电子设备的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请提供一种视频直播方法、视频直播系统、合成视频流的方法和合成视频流的装置,以解决现有技术中主播客户端设备在后台运行时无法将水印写入视频流中问题。
本申请提供的视频直播方法、视频直播系统、合成视频流的方法和合成视频流的装置,可以应用于网络直播领域。
下面以具体的实施例对本申请的技术方案进行详细说明,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在介绍本申请提供的视频直播方法之前,首先介绍一下本申请提供的视频直播系统。图1为本申请根据一示例性实施例提供的视频直播系统的应用场景的示意图。参见图1,该应用场景包括主播客户端设备10、直播服务器20和观众客户端设备30。视频直播系统包括主播客户端设备10上安装的主播客户端、直播服务器20和观众客户端设备30上安装的观众客户端。
其中,主播客户端设备10是主播使用的设备,具有采集视频流和发送视频流的功能。主播客户端设备10通过其上安装的主播客户端进行视频直播。观众客户端设备30是观众使用的设备,具有拉取视频流和播放直播视频的功能。观众客户端设备30通过其上安装的观众客户端观看视频直播。直播服务器20用于提供网络直播的后台服务,分别与主播客户端设备10及观众客户端设备30 进行通信,接收主播客户端设备10发送的视频流,并将视频流发送至观众客户端设备30,从而观众客户端设备30接收并播放视频流。
需要说明的是,上述的图1只是一种示例性场景,实际实施中并不局限于此。主播客户端设备10可以是手机,可以是个人电脑、笔记本、也可以是其他便携式移动终端比如平板电脑等。观众客户端设备30的数量可以是一个或者是多个。
接下来对本申请实施例提供的视频直播方法进行示例说明。
图2是本申请根据一示例性实施例示出的一种视频直播方法的流程图,该方法应用于上述的视频直播系统。如图2所示,该方法可以包括以下步骤 210至步骤230:
在步骤210中,主播客户端在后台运行时,调用CPU将待添加的水印添加至待处理的视频帧中,并将处理后的视频帧发送至所述直播服务器。
在步骤220中,所述直播服务器接收所述处理后的视频帧并发送至所述观众客户端。
在步骤230中,所述观众客户端接收所述处理后的视频帧,并进行播放。
其中,主播客户端在调用CPU将待添加的水印添加至待处理的视频帧中得到处理后的视频帧后,主播客户端设备对处理后的视频帧进行编码并按照指定的协议发送至直播服务器。直播服务器接收到主播客户端发送的视频帧。直播服务器接收观众客户端设备发送的视频直播请求时,将接收到的视频帧发送至观众客户端设备。观众客户端设备接收直播服务器发送的视频帧后进行解码,并调用直播客户端进行播放。
本申请实施例提供的视频直播方法,由于主播客户端向直播服务器发送的视频帧为添加有水印的视频帧,即使其他平台盗窃视频帧进行使用,水印也能够直接显示出来,方便了视频著作权人进行对盗用行为进行取证,提高了视频直播过程中数据的安全性。
图3A是本申请根据一示例性实施例示出的一种合成视频流的方法的流程图,该方法应用于上述的主播客户端。如图3A所示,该方法可以包括以下步骤310至步骤330:
在步骤310中,当主播客户端在后台运行时,获取待添加的水印。
在步骤320中,获取待处理的视频帧。
在步骤330中,调用CPU将所述水印添加至所述视频帧中。
本申请实施例提供的合成视频流的方法,当主播客户端在后台运行时,获取待添加的水印和待处理的视频帧,并调用CPU将水印异步绘制至视频帧中,从而主播客户端向观众客户端发送的视频帧为添加有水印的视频帧,使得其他平台在盗用视频帧进行二次使用时,水印能够直接被显示和暴露出来,方便了视频著作权人进行对盗用行为进行取证,提高了视频直播过程中数据的安全性。并且,主播客户端设备将水印添加至视频帧中后发送至观众客户端设备,观众客户端无需再对视频帧进行添加水印的操作,一方面减轻观众客户端的运行压力,另一方面可避免不同的观众客户端对视频帧进行处理时不统一的情况。
在本实施例中,主播客户端是主播客户端设备上已下载好的客户端,当主播用户打开主播客户端时,可选择要进行直播的其他客户端,以对选择的客户端进行直播,例如对手游客户端进行视频直播。当主播客户端对手游客户端进行视频直播时,主播客户端处于后台运行状态,手游客户端处于前台运行状态,主播客户端对手游客户端显示的画面实时进行录制,以获取待处理的视频帧。
对于一些主播客户端设备,例如iOS系统的设备,当主播客户端处于后台运行状态时,主播客户端没有权限调用GPU对视频帧进行图像处理。本申请实施例提供的合成视频流的方法中,调用CPU对待处理的视频帧进行图像处理,将待添加的水印添加至待处理的视频帧中,可以解决不能调用GPU进行图像处理的问题。
在一个实施例中,在所述调用CPU将水印添加至视频帧中的步骤330 之前,该方法还可包括:调用CPU将视频帧转换为位图图像。
在将水印添加至视频帧中时,可以先生成空白的位图图像,将视频帧图像绘制到空白的位图图像中,然后再将水印绘制上去。
在直播的场景的,对视频流的时延要求比较高,即希望视频流的时延越低越好。但是,将视频帧绘制到位图图像的过程比较耗时,使得观众客户端接收视频流的时延增加,从而影响观众用户的体验。为此,可以采用另一种方式转换成位图。
如图3B所示,所述调用CPU将视频帧转换为位图图像,可包括如下步骤331和332。
在步骤331中,调用CPU将视频帧转换为RGB格式的图像。
在步骤332中,将RGB格式的图像转换为位图图像。
主播客户端采集的视频帧的格式可包括YUV420、YUV422、YUV444 等格式。在将视频帧转换为位图图像时,CPU首先将视频帧的格式转换为 RGB格式,以便于后续转换为位图图像。
本实施例中,主播客户端调用CPU将视频帧转换为RGB格式的图像图像,然后将RGB图像直接转换成位图图像,CPU再将水印添加至位图图像中。减少了将视频帧绘制到空白位图这一耗时的过程,使得CPU将视频帧转换为位图图像的过程耗时尽可能缩短,使得观众客户端接收视频流的时延增加较小,从而保证了观众用户的体验。
在一个实施例中,如图3C所示,所述调用CPU将水印添加至视频帧中的步骤330,可包括如下步骤333至步骤335。
在步骤333中,获取位图图像的特征参数。
在步骤334中,判断位图图像的特征参数是否处于阈值范围内。
在步骤335中,若是,则调用CPU将水印添加至位图图像中。
CPU在将视频帧转换为位图图像时,可能会发生错误,如生成乱码等。主播客户端可获取位图图像的特征参数,并根据位图图像的特征参数判断是否发生错误。具体地,若主播客户端判断出位图图像的特征参数处于阈值范围内时,则确定转换过程未发生错误,生成的位图图像正常,主播客户端可调用CPU将水印添加至位图图像中。若主播客户端判断出位图图像的特征参数未处于阈值范围内,则转换过程发生错误。对于转换发生错误的视频帧,主播客户端不再CPU调用进行添加水印处理,直接发送视频帧至直播服务器。
在一个实施例中,水印包括按照预设顺序排列的多张水印图像,即水印是动图。
在该实施例中,所述调用CPU将水印添加至视频帧中的步骤330,可通过如下过程实现:从首帧视频帧开始,按照预设顺序每次获取一张水印图像,并添加至对应的一帧视频帧中。如此,连续的多张视频帧中添加的水印为按照预设顺序排列的多张水印图像,观众客户端在播放直播视频时,呈现给观众用户的水印为动图或是一个动画,增加了直播视频流水印的多样性以及趣味性,可提升观众用户的体验。
在一个示例性实施例中,多张水印图像可以是不同的图片或文字,可添加在连续的多帧视频帧中的相同位置处,直播视频在播放时,呈现给观众用户的是在同一位置处不停变化的图片或文字。
进一步地,如图3D所示,所述按照预设顺序每次获取一张水印图像的步骤,可包括如下步骤336和步骤337。
在步骤336中,判断上一次获取的水印图像是否为最后一张水印图像。
在步骤337中,若是,则重新获取首张水印图像。
通过步骤336和步骤337可实现在连续的视频帧中重复添加相同的水印。
在一个实施例中,所述调用CPU将水印添加至视频帧中,可包括如下步骤:在视频帧是指定视频帧时,调用CPU将水印添加至指定视频帧中。
在一个示例性实施例中,指定视频帧可以是奇数帧或偶数帧,则CPU只需对一半的视频帧进行添加水印处理。
在另一个示例性实施例中,相邻的两个指定视频帧之间间隔指定数量的视频帧。例如,指定数量为三帧,指定视频帧为第一帧、第五帧、第九帧等。在其他实施例中,也可以是相邻的两组指定视频帧之间间隔指定数量的视频帧。例如,每组指定视频帧包括四帧视频帧,指定数量为四帧,则指定视频帧为第一帧至第四帧、第九帧至第十二帧等。其中,指定视频帧和指定数量可由主播用户通过主播客户端的操作界面设定。
上述步骤中,CPU只需对指定视频帧进行添加水印处理,可降低CPU 的数据处理量,并且可缩短观众客户端接收视频的时延,提升观众用户的体验。
在一个实施例中,所述待添加的水印可以包括文字和/或图片。待添加的水印用来为版权信息产品归属提供有力的证据,并能够监视被保护数据的传播,防止非法拷贝等。例如,水印可以是主播的照片、标志性文字、主播所在公司的标志,或者其他能够代表主播或主播所在公司的一些文字、图片或者文字和图片的结合。
在一个实施例中,主播客户端接收到用户输入的水印选择指令,获取对应的待添加的水印。其中,主播客户端设备上的主播客户端可以给主播用户提供操作界面,从而主播用户可以通过操作界面选择待添加的水印。
在一个示例性实施例中,若主播用户要添加的水印为文字,则主播用户可通过主播客户端设备中存储的水印模板集中选择文字,也可通过操作界面输入文字,并可设置文字的字体、文字的大小、文字的颜色。例如,主播要添加的水印为文字“柠檬直播”,则可在操作界面中输入文字“柠檬直播”,并可设置字体为“华文彩云”,设置大小为二号,设置颜色为白色。主播客户端检测到主播用户输入的指令,获取主播用户输入的文字并作为待添加的水印。在其他实施例中,主播用户可设置文字的颜色根据视频帧的颜色变化。主播客户端设备在将文字添加到视频帧中时,可根据视频帧的颜色确定文字的颜色。具体地,主播客户端可根据视频帧中添加文字的区域确定文字的颜色,将文字的颜色设置为与添加文字的区域的颜色相似度最小的颜色,以使文字的颜色与添加文字的区域的颜色差别比较大,从而文字水印更加容易辨识。
在一个示例性实施例中,若主播用户要添加的水印为图片,则主播用户可以从水印模板集中选择图片,也可以从主播客户端设备的相册中选择图片。例如主播用户可选择自己的照片,并可对选择的图片进行美颜、裁剪等处理。主播用户将处理过的照片作为最终选择的图片,主播客户端获取主播用户选择的图片并作为待添加的水印。
在一个示例性实施例中,若主播用户要添加的水印为图片和文字的组合,则主播用户可以选择图片及文字,并选择图片中添加文字的位置、文字的大小、颜色等。主播客户端根据主播用户选择的位置、文字的大小及颜色将文字添加至图片中,从而得到图片和文字组合形成的水印。
在一个实施例中,主播客户端可将主播用户输入的文字及从相册选择的图片作为水印模板存储到水印模板集中。主播用户下次要使用同样的水印时,直接从水印模板集中选择即可。
本申请实施例中,主播用户可自由选择和处理待添加的水印,操作比较灵活,增加了水印选择的多样性,可提升主播用户的使用体验。
在一个实施例中,如图3E所示,所述调用CPU将所述水印添加至所述视频帧中的步骤330,可包括如下步骤338和步骤339。
在步骤338中,接收用户输入的配置指令,配置指令携带坐标参数,根据坐标参数在视频帧上确定目标图像区域。
在步骤339中,调用CPU将水印添加至目标图像区域。
在一个示例性实施例中,配置指令携带的坐标参数可以是坐标值。例如,配置指令携带的坐标参数包括矩形的四个顶点的坐标值,主播客户端设备根据四个顶点的坐标在视频帧上确定出矩形的目标图像区域。再如,配置指令携带的坐标参数包括圆形的圆心的坐标和直径大小,主播客户端根据圆形的圆心的坐标和直径大小在视频帧上确定出圆形的目标图像区域。其中,配置指令携带的坐标参数可以是主播用户通过主播客户端的操作界面输入的坐标参数。当主播客户端设备的显示屏为触摸屏时,配置指令携带的坐标参数也可以是主播客户端根据主播用户在操作界面上点击的位置确定的坐标参数。或者主播客户端的操作界面显示有矩形或圆形的框,主播用户可在操作界面上将框拖动至一定的位置后,主播客户端根据框的位置获取坐标参数。
在一个示例性实施例中,配置指令携带的坐标参数可以包括待添加的水印边缘距待处理的视频帧边缘的距离值,比如坐标参数包括待添加的水印右侧边缘与视频帧的右侧边缘之间的距离值、待添加的水印左侧边缘与视频帧的左侧边缘之间的距离值、待添加的水印上侧边缘与视频帧的上侧边缘之间的距离值以及待添加的水印下侧边缘与视频帧的下侧边缘之间的距离值。主播客户端设备根据上述四个坐标参数在视频帧上可确定出目标图像区域。可选择地,配置指令携带的待添加的水印边缘距待处理的视频帧边缘的距离值可以由主播用户通过主播客户端的操作界面输入。当主播客户端设备的显示屏为触摸屏时,配置指令携带的待添加的水印边缘距待处理的视频帧边缘的距离值也可以根据主播用户在操作界面上点击的位置确定。
在一个示例性实施例中,主播客户端设备的显示屏为触摸屏,主播用户的手指在屏幕上滑动形成一个图案时,主播客户端设备可将该图案围合的区域作为目标图像区域。此时,配置指令携带的坐标参数为形成图案的多个点的坐标值。
上述仅是列举的例子,配置指令携带的坐标参数并不限于此。在其他实施例中,配置指令携带的坐标参数可以不同于上述例子。
需要说明的是,为了不影响视频直播过程的显示效果,待添加水印的目标图像区域优选设置在图像的边缘区域,比如右下角、右上角、左下角、左上角等,本公开实施例对此不进行具体限定。
本申请实施例中目标图像区域的确定方法不限于上述的方法,在其他实施例中,也可以由主播客户端根据视频帧中的内容确定目标图像区域的位置。具体地,主播客户端可识别视频帧中的目标对象,将不遮挡目标对象的区域确定为目标图像区域。其中,目标对象为视频直播过程的主要显示对象,例如可以是手游中的游戏人物。
在一个示例性实施例中,调用CPU将水印添加至目标图像区域时,可将文字或图像等内容实体显示,可也将是虚化显示或透明显示。
在一个实施例中,如图3F所示,所述调用CPU将所述水印添加至所述目标图像区域的步骤339,可包括以下步骤3391和3392。
在步骤3391中,调用CPU将所述水印的大小调整至与所述目标图像区域匹配。
在步骤3392中,将调整后的所述水印添加至所述目标图像区域。
在一个示例性实施例中,主播客户端设备获取的待添加的水印为矩形的图片,在视频帧上确定的目标图像区域也为矩形区域,则主播客户端设备可调用CPU将矩形的图片的大小调整至与矩形的目标图像区域相同。
在一个示例性实施例中,主播客户端获取的待添加的水印为圆形的图片,在视频帧上确定的目标图像区域也为圆形区域,则主播客户端可调用CPU将圆形的图片的大小调整至与圆形的目标图像区域相同。
在一个示例性实施例中,主播客户端获取的待添加的水印为文字,在视频帧上确定的目标图像区域为矩形区域,则主播客户端可调用CPU将文字的大小调整为与矩形的目标图像区域匹配。具体地,将文字的最左侧与目标图像区域的左侧边缘对齐,将文字的最右侧与目标图像区域的右侧边缘对齐,将文字的最上侧与目标图像区域的上侧边缘对齐,将文字的最下侧与目标图像区域的下侧边缘对齐。可选择地,目标图像区域中文字占据的区域之外的其他区域可虚化显示,或者以指定颜色进行填充后显示,本申请实施例对此不进行具体限定。
本申请实施例中,主播客户端获取到待处理的视频帧后,立即调用CPU 将水印添加至待处理的视频帧中,并且,CPU将水印添加至待处理的视频帧的过程用时很短,观众客户端接收到视频帧的时间延迟很短,不会影响观众客户端的用户的体验。
以下列举其中一种组合进行示例说明。
如图4所示,图4是本申请根据一示例性实施例示出的合成视频流的方法的流程图,该方法可以包括以下步骤:
在步骤410中,当主播客户端在后台运行时,获取待添加的水印。
在步骤420中,获取待处理的视频帧。
在步骤430中,将所述待处理的视频帧转换为位图图像。
在步骤440中,从首帧视频帧开始,按照预设顺序每次获取一张水印图像,并调用CPU将水印图像添加至对应的一帧视频帧中。
其中,图4与图3A所示实施例中相关技术相似,在此不一一赘述。
由上述实施例可见,本申请实施例提供的合成视频流的方法,当主播客户端在后台运行时,获取待添加的水印和待处理的视频帧,并调用CPU将水印异步绘制至视频帧中,从而主播客户端向观众客户端发送的视频帧为添加有水印的视频帧,可防止其他平台盗用视频帧进行二次使用,提高了视频直播过程中数据的安全性。
与前述合成视频流的方法的实施例相对应,本申请还提供了合成视频流的装置及其所应用的电子设备、以及计算机存储介质的实施例。
如图5所示,图5是本申请根据一示例性实施例示出的一种合成视频流的装置的框图,所述装置包括:
水印获取模块510,用于当所述主播客户端在后台运行时,获取待添加的水印;
视频帧获取模块520,用于获取待处理的视频帧;
水印添加模块530,用于调用CPU将所述水印添加至所述视频帧中。
在一个可选的实现方式中,所述装置还包括转换模块,所述转换模块用于在所述调用CPU将所述水印添加至所述视频帧中之前,调用所述CPU将所述视频帧转换为位图图像。
在一个可选的实现方式中,所述转换模块包括:
第一转换单元,用于调用所述CPU将所述视频帧转换为RGB格式的图像;
第二转换单元,用于调用所述CPU将所述RGB格式的图像转换为位图图像。
在一个可选的实现方式中,所述水印添加模块530包括:
参数获取单元,用于获取所述位图图像的特征参数;
第一判断单元,用于判断所述位图图像的特征参数是否处于阈值范围内;
第一水印添加单元,用于所述第一判断单元判断为是时,调用CPU将所述水印添加至所述位图图像中。
在一个可选的实现方式中,所述水印包括按照预设顺序排列的多张水印图像,所述水印添加模块530进一步用于:
从首帧视频帧开始,按照预设顺序每次获取一张水印图像,并添加至对应的一帧视频帧中。
在一个可选的实现方式中,所述水印添加模块530包括:
第二判断单元,用于判断上一次获取的水印图像是否为最后一张水印图像;
水印获取单元,用于当所述第二判断单元判断为是时,重新获取首张水印图像。
在一个可选的实现方式中,所述水印添加模块530进一步用于:
在所述视频帧是指定视频帧时,调用CPU将所述水印添加至所述指定视频帧中。
在一个可选的实现方式中,所述水印添加模块530包括:
配置指令接收单元,用于接收用户输入的配置指令,所述配置指令携带坐标参数,根据所述坐标参数在视频帧上确定目标图像区域;
第二水印添加单元,用于调用CPU将所述水印添加至所述目标图像区域。
在一个可选的实现方式中,所述第二水印添加单元包括:
水印调整子单元,用于调用CPU将所述水印的大小调整至与所述目标图像区域匹配;
水印添加子单元,用于将调整后的所述水印添加至所述目标图像区域。
在一个可选的实现方式中,所述水印获取模块510进一步用于:
接收用户输入的水印选择指令,获取对应的待添加的水印。
上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请实施例还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
当主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中。
相应的,本申请实施例还提供了一种计算机存储介质,所述存储介质中存储有程序指令,所述程序指令包括:
当主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请提供的合成视频流的装置可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,图6是本申请根据一示例性实施例示出的电子设备的合成视频流的装置632所在电子设备的一种硬件结构图,除了图6所示的处理器610、内存630、网络接口620、以及非易失性存储器640之外,实施例中装置632 所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (13)
1.一种视频直播方法,其特征在于,所述方法应用于直播系统,所述直播系统包括主播客户端、直播服务器和观众客户端,其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备,所述方法包括:
主播客户端在后台运行时,调用CPU将待添加的水印添加至待处理的视频帧中,并将处理后的视频帧发送至所述直播服务器;所述主播客户端调用CPU将待添加的水印添加至待处理的视频帧中之前,先调用所述CPU将所述视频帧转换为RGB格式的图像,再将所述RGB格式的图像转换为位图图像;
所述直播服务器接收所述处理后的视频帧并发送至所述观众客户端;
所述观众客户端接收所述处理后的视频帧,并进行播放。
2.一种视频直播系统,其特征在于,所述系统包括主播客户端、直播服务器和观众客户端;其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备;
所述主播客户端用于在后台运行时,调用CPU将待添加的水印添加至待处理的视频帧中,并将处理后的视频帧发送至所述直播服务器;所述主播客户端还用于在调用CPU将待添加的水印添加至待处理的视频帧中之前,先调用所述CPU将所述视频帧转换为RGB格式的图像,再将所述RGB格式的图像转换为位图图像;
所述直播服务器用于接收所述处理后的视频帧并发送至所述观众客户端;
所述观众客户端用于接收所述处理后的视频帧,并进行播放。
3.一种合成视频流的方法,其特征在于,所述方法应用于主播客户端,其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备,所述方法包括:
当所述主播客户端在后台运行时,获取待添加的水印;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中;
在所述调用CPU将所述水印添加至所述视频帧中之前,所述方法还包括
调用所述CPU将所述视频帧转换为RGB格式的图像;
将所述RGB格式的图像转换为位图图像。
4.根据权利要求3所述的合成视频流的方法,其特征在于,所述调用CPU将所述水印添加至所述视频帧中,包括:
获取所述位图图像的特征参数;
判断所述位图图像的特征参数是否处于阈值范围内;
若是,则调用CPU将所述水印添加至所述位图图像中。
5.根据权利要求3所述的合成视频流的方法,其特征在于,所述水印包括按照预设顺序排列的多张水印图像,所述调用CPU将所述水印添加至所述视频帧中,包括:
从首帧视频帧开始,按照预设顺序每次获取一张水印图像,并添加至对应的一帧视频帧中。
6.根据权利要求5所述的合成视频流的方法,其特征在于,所述按照预设顺序每次获取一张水印图像,包括:
判断上一次获取的水印图像是否为最后一张水印图像;
若是,则重新获取首张水印图像。
7.根据权利要求3所述的合成视频流的方法,其特征在于,所述调用CPU将所述水印添加至所述视频帧中,包括:
在所述视频帧是指定视频帧时,调用CPU将所述水印添加至所述指定视频帧中。
8.根据权利要求3所述的合成视频流的方法,其特征在于,所述调用CPU将所述水印添加至所述视频帧中,包括:
接收用户输入的配置指令,所述配置指令携带坐标参数,根据所述坐标参数在视频帧上确定目标图像区域;
调用CPU将所述水印添加至所述目标图像区域。
9.根据权利要求8所述的合成视频流的方法,其特征在于,所述调用CPU将所述水印添加至所述目标图像区域,包括:
调用CPU将所述水印的大小调整至与所述目标图像区域匹配;
将调整后的所述水印添加至所述目标图像区域。
10.根据权利要求3所述的合成视频流的方法,其特征在于,所述获取待添加的水印,包括:
接收用户输入的水印选择指令,获取对应的待添加的水印。
11.一种合成视频流的装置,其特征在于,所述装置应用于主播客户端设备,其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备,所述装置包括:
水印获取模块,用于当所述主播客户端在后台运行时,获取待添加的水印;
视频帧获取模块,用于获取待处理的视频帧;
水印添加模块,用于调用CPU将所述水印添加至所述视频帧中;
所述水印获取模块还用于:在调用CPU将待添加的水印添加至待处理的视频帧中之前,先调用所述CPU将所述视频帧转换为RGB格式的图像,再将所述RGB格式的图像转换为位图图像。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
当主播客户端在后台运行时,获取待添加的水印;其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中;
所述处理器还被配置为:在调用CPU将所述水印添加至所述视频帧中之前,先调用所述CPU将所述视频帧转换为RGB格式的图像,再将所述RGB格式的图像转换为位图图像。
13.一种计算机存储介质,其特征在于,所述存储介质中存储有程序指令,所述程序指令包括:
当主播客户端在后台运行时,获取待添加的水印;其中,所述主播客户端是主播客户端设备上已下载好的客户端,所述主播客户端设备包括iOS系统的设备;
获取待处理的视频帧;
调用CPU将所述水印添加至所述视频帧中;
还包括:
在调用CPU将所述水印添加至所述视频帧中之前,先调用所述CPU将所述视频帧转换为RGB格式的图像,再将所述RGB格式的图像转换为位图图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691566.1A CN108882055B (zh) | 2018-06-28 | 2018-06-28 | 视频直播方法及系统、合成视频流的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810691566.1A CN108882055B (zh) | 2018-06-28 | 2018-06-28 | 视频直播方法及系统、合成视频流的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108882055A CN108882055A (zh) | 2018-11-23 |
CN108882055B true CN108882055B (zh) | 2022-09-30 |
Family
ID=64296703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810691566.1A Active CN108882055B (zh) | 2018-06-28 | 2018-06-28 | 视频直播方法及系统、合成视频流的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108882055B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111247811A (zh) * | 2018-12-24 | 2020-06-05 | 深圳市大疆创新科技有限公司 | 一种数据处理方法、无人机、眼镜设备及存储介质 |
CN110049347B (zh) * | 2019-04-11 | 2021-10-22 | 广州虎牙信息科技有限公司 | 在直播界面配置图像的方法、系统、终端和装置 |
CN114390300B (zh) * | 2020-10-20 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种直播控制方法、装置、电子设备及计算机存储介质 |
CN113438549A (zh) * | 2021-06-22 | 2021-09-24 | 中国农业银行股份有限公司 | 视频添加水印的处理方法及装置 |
CN114257823B (zh) * | 2021-11-11 | 2024-02-23 | 广州方硅信息技术有限公司 | 自定义视频水印处理方法、装置、存储介质及计算机设备 |
CN114584798A (zh) * | 2022-03-02 | 2022-06-03 | 深圳禾苗通信科技有限公司 | 私人订制直播方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104867095A (zh) * | 2014-02-21 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及装置 |
CN106507130A (zh) * | 2016-11-24 | 2017-03-15 | 成都天脉拓道科技有限公司 | 在yuv帧上叠加水印的方法及水印叠加装置 |
CN106817630A (zh) * | 2015-11-27 | 2017-06-09 | 北京奇虎科技有限公司 | 服务器端用于识别摄像设备的方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711647B2 (en) * | 2004-06-10 | 2010-05-04 | Akamai Technologies, Inc. | Digital rights management in a distributed network |
CN101507257A (zh) * | 2006-08-22 | 2009-08-12 | 凸版印刷株式会社 | 印刷物、图像处理装置、印刷物真伪判定装置、图像处理方法、印刷物真伪判定方法、程序 |
CN102096891B (zh) * | 2009-12-11 | 2013-03-27 | 北大方正集团有限公司 | 嵌入、提取数字水印的方法和装置 |
US20130101115A1 (en) * | 2011-10-19 | 2013-04-25 | Playnsite, Llc | Method, apparatus, and system for processing and delivering media content |
CN103379101A (zh) * | 2012-04-20 | 2013-10-30 | 腾讯科技(深圳)有限公司 | 一种水印生成方法、客户端及服务器 |
CN105451035A (zh) * | 2015-11-13 | 2016-03-30 | 北京光慧鸿途科技股份有限公司 | 防止视频版权保护图标删、改的视频显示方法及系统 |
CN105844121A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种内容分发网络应用数字水印的方法及系统 |
CN106375792A (zh) * | 2016-10-13 | 2017-02-01 | 北京奇虎科技有限公司 | 一种业务对象的推送、显示方法、服务器、终端和系统 |
CN106740502A (zh) * | 2016-11-29 | 2017-05-31 | 深圳市赛亿科技开发有限公司 | 一种多功能行车记录仪 |
CN106791986A (zh) * | 2017-01-10 | 2017-05-31 | 环球智达科技(北京)有限公司 | 一种hls直播索引列表加密防盗链系统及方法 |
CN107317815A (zh) * | 2017-07-04 | 2017-11-03 | 上海鋆创信息技术有限公司 | 一种视频叠加的方法及装置、存储介质和终端 |
CN108012161B (zh) * | 2017-11-10 | 2021-10-01 | 广州华多网络科技有限公司 | 视频直播方法、系统和终端设备 |
CN108040286A (zh) * | 2017-11-28 | 2018-05-15 | 北京潘达互娱科技有限公司 | 视频预览方法、装置、电子设备和计算机可读存储介质 |
-
2018
- 2018-06-28 CN CN201810691566.1A patent/CN108882055B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104867095A (zh) * | 2014-02-21 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及装置 |
CN106817630A (zh) * | 2015-11-27 | 2017-06-09 | 北京奇虎科技有限公司 | 服务器端用于识别摄像设备的方法及装置 |
CN106507130A (zh) * | 2016-11-24 | 2017-03-15 | 成都天脉拓道科技有限公司 | 在yuv帧上叠加水印的方法及水印叠加装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108882055A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108882055B (zh) | 视频直播方法及系统、合成视频流的方法及装置 | |
US11303881B2 (en) | Method and client for playing back panoramic video | |
CN109327727B (zh) | 一种WebRTC中的直播流处理方法及推流客户端 | |
US20180192063A1 (en) | Method and System for Virtual Reality (VR) Video Transcode By Extracting Residual From Different Resolutions | |
KR101527672B1 (ko) | 비디오 적응 및 재타겟팅을 위한 비디오 캡션 재-오버레이 시스템 및 방법 | |
US9374449B2 (en) | Method and apparatus for generating and playing animated message | |
CN111614993B (zh) | 弹幕展示方法、装置、计算机设备及存储介质 | |
US20170186243A1 (en) | Video Image Processing Method and Electronic Device Based on the Virtual Reality | |
US20180176650A1 (en) | Information processing apparatus and information processing method | |
US10313763B2 (en) | Method and apparatus for requesting and receiving selected segment streams based on projection information | |
CN107040808B (zh) | 用于视频播放中弹幕图片的处理方法和装置 | |
US20220188357A1 (en) | Video generating method and device | |
CN112135161A (zh) | 虚拟礼物的动效展示方法及装置、存储介质及电子设备 | |
RU2733218C2 (ru) | Способ, аппарат и поток для форматирования иммерсивного видеоизображения для традиционных и иммерсивных устройств воспроизведения | |
CN112019907A (zh) | 直播画面分流方法、计算机设备及可读存储介质 | |
CN112055254B (zh) | 视频播放的方法、装置、终端及存储介质 | |
CN112601120B (zh) | 字幕显示方法及装置 | |
CN110933461B (zh) | 图像处理方法、装置、系统、网络设备、终端及存储介质 | |
KR101106910B1 (ko) | 큰 스틸 사진 처리 방법 및 디바이스와 컴퓨터 판독가능 저장 매체 | |
CN112019906A (zh) | 直播方法、计算机设备及可读存储介质 | |
CN112604279A (zh) | 一种特效显示方法及装置 | |
US20090214138A1 (en) | Image processing method, and processing methods for digital photo frame and interactive image process | |
JP6934052B2 (ja) | 表示制御装置、表示制御方法及びプログラム | |
CN116966546A (zh) | 图像处理方法、装置、介质、设备和程序产品 | |
CN111885417B (zh) | Vr视频播放方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |