CN110049347A - 在直播界面配置图像的方法、系统、终端和装置 - Google Patents

在直播界面配置图像的方法、系统、终端和装置 Download PDF

Info

Publication number
CN110049347A
CN110049347A CN201910290299.1A CN201910290299A CN110049347A CN 110049347 A CN110049347 A CN 110049347A CN 201910290299 A CN201910290299 A CN 201910290299A CN 110049347 A CN110049347 A CN 110049347A
Authority
CN
China
Prior art keywords
video frame
data
set image
memory headroom
partly
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
CN201910290299.1A
Other languages
English (en)
Other versions
CN110049347B (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 Huya Information Technology Co Ltd
Original Assignee
Guangzhou Huya Information 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 Huya Information Technology Co Ltd filed Critical Guangzhou Huya Information Technology Co Ltd
Priority to CN201910290299.1A priority Critical patent/CN110049347B/zh
Publication of CN110049347A publication Critical patent/CN110049347A/zh
Application granted granted Critical
Publication of CN110049347B publication Critical patent/CN110049347B/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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了在直播界面配置图像的方法、系统、终端和装置,其中,该方法包括获取预设图像;获取预设视频帧;将预设图像对应内存空间中的数据拷贝重复使用以分别至预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧;将配置视频帧进行编码,得到直播数据。通过上述方式,本申请能够有效提升在直播视频中配置图片的效率。

Description

在直播界面配置图像的方法、系统、终端和装置
技术领域
本申请涉及直播技术领域,特别是涉及在直播界面配置图像的方法、系统、终端和装置。
背景技术
网络直播是可以同一时间通过网络系统在不同的交流平台观看视频,是一种新兴的网络社交方式,网络直播平台也成为了一种崭新的社交媒体。随着网络技术的日新月异,直播内容越来越多元化,网络直播以新颖的样式和相对便捷的服务带来了一种全新的视角体验和视野冲击,受到网友尤其是年轻网民的青睐,而另一方面受众对直播时延的要求越来越高。
发明内容
本申请主要解决的技术问题是提供在直播界面配置图像的方法、系统、终端和装置,能够提高在直播过程中配置图片的效率。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种在直播界面配置图像的方法,包括:
获取预设图像;
获取预设视频帧;
将预设图像对应内存空间中的数据重复使用以分别拷贝至预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧;
将配置视频帧进行编码,得到直播数据。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种视频直播系统,包括第一客户端、直播服务器和第二客户端;
第一客户端用于获取预设图像和预设视频帧,将预设图像对应内存空间中的数据重复使用以分别拷贝至预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧,将配置视频帧进行编码,得到直播数据,并将直播数据推流至直播服务器;
直播服务器用于接收直播数据并发送至第二客户端;
第二客户端用于接收直播数据,并进行播放。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种移动终端,包括处理器、通信电路和显示屏,处理器分别耦接通信电路和显示屏;
处理器用于获取预设图像;处理器用于获取预设视频帧;处理器用于将预设图像对应内存空间中的数据拷贝重复使用以分别至预设视频帧的至少部分视频帧对应的内存空间中,以将预设图像配置在预设视频帧中,得到配置视频帧;处理器用于将配置视频帧进行编码,得到直播数据;显示屏用于显示直播数据对应的直播界面。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种具有存储功能的装置,存储有程序数据,程序数据能够被执行以实现上述本申请在直播界面配置图像的方法。
与现有技术相比,本申请的有益效果是:通过在后台将预设图像对应内存空间中的数据拷贝至预设视频帧对应的内存空间中以将预设图像配置在预设视频帧中,也即是通过调用CPU将预设图像对应内存空间中的数据拷贝至预设视频帧对应的内存空间中以实现数据的替换,得到配置视频帧,再将配置视频帧进行编码得到直播数据,从而能够在直播数据对应的直播界面上显示预设图像,如此克服了部分依赖GPU渲染的图像渲染组件在程序推入后台后无法进行图片处理,使得一方面使用CPU进行预设图片配置,提升预设图像的配置效率,另一方面又尽量不增加直播的时延。
附图说明
图1是本申请视频直播系统实施例的结构示意图;
图2是本申请在直播界面配置图像的方法第一实施例的流程示意图;
图3是本申请在直播界面配置图像的方法第一实施例的过程示意图;
图4是本申请在直播界面配置图像的方法第二实施例的流程示意图;
图5是本申请在直播界面配置图像的方法第二实施例的流程示意图;
图6是本申请在直播界面配置图像的方法第二实施例的流程示意图;
图7是本申请在直播界面配置图像的方法第三实施例的流程示意图;
图8是本申请在直播界面配置图像的方法第三实施例的流程示意图;
图9是本申请在直播界面配置图像的方法第三实施例的过程示意图;
图10是本申请移动终端第一实施例的电路示意框图;
图11是本申请移动终端第二实施例的电路示意框图;
图12是本申请具有存储功能的装置实施例的结构示意框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过长期研究发现,在直播推流方案中,对于水印等图片的实现依赖于OpenGL ES引擎。在IOS平台,还可以采用Metal引擎进行渲染,性能更优于OpenGLES,这两种高性能、扩展性强的渲染引擎都是依赖GPU进行渲染,在Android平台中,在直播过程中渲染水印也都是依赖于GPU完成。无论是Android还是IOS系统等,App进入后台之后,一般都不被允许访问GPU渲染的命令,因而无法在后台调用GPU进行水印的渲染。为了解决上述技术问题,本申请提出如下实施例。
参阅图1,图1是本申请视频直播系统实施例的应用场景的示意图。如图1所示,该应用场景包括第一客户端11、直播服务器12和第二客户端13。第一客户端11和第二客户端12例如是智能手机、平板电脑、可穿戴设备以及其他智能终端等,可以是运行IOS系统也可以是运行Android系统等。第一客户端11上可以安装有相应的应用程序,比如直播APP、第二客户端13上也可以安装有相应的应用程序,例如直播APP,第二客户端13上安装的应用程序和第一客户端11上安装的应用程序可以相同,也可以不同。例如作为主播端的第一客户端11的直播APP与作为观众端的第二客户端13的直播APP,在功能上可以是有差异的。
第一客户端11例如是主播使用的设备,至少具有采集视频流和发送视频流的功能。第一客户端11通过其上安装的相应的应用程序进行视频直播。第二客户端13例如是观众使用的设备,至少具有拉取视频流和播放直播视频的功能。第二客户端13通过其上安装的相应的应用程序观看视频直播。直播服务器12例如用于提供网络直播的后台服务,分别与第一客户端11及第二客户端13进行通信,接收第一客户端11发送的视频流,并将视频流发送至第二客户端13,从而第二客户端13接收并播放视频流。
在本申请实施例中,图1只是一种示例性场景,对于直播系统的架构并不局限于此。第二客户端13的数量可以是一个或者是多个。本实施例中关于第一客户端11的更多功能可以参照本申请在直播界面配置图像的方法实施例中的描述。
参阅图2和图3,本申请在直播界面配置图像的方法第一实施例包括:
步骤S101:获取预设图像。
在本实施例中,预设图像可以是水印、图片或者文字。预设图像是图片时,可以是一张或多张图片,当然也可以是多张图像构成的动图。预设图像可以是直播设备接收到选择指令(比如语音指令或者触摸指令)后选定的,当然也可以由直播设备自动选定的,比如根据直播设备自行生成的或者预置的。具体地,例如预设图像是通过读取第一客户端的本机相册而获取的。
步骤S102:获取预设视频帧。
在本实施例中,预设视频帧可以是通过第一客户端的摄像头拍摄或录制的视频的部分或全部视频帧,当然预设视频帧可以是实时录制的,也可以是存储于第一客户端中的,还可以是存储于云端的。预设视频帧也可以是通过录屏方式录制所产生的视频帧。
在本实施例中,步骤S101与步骤S102可以调换顺序或者同时执行,也即,可以先获取预设视频帧,再获取预设图像,或者也可以同时获取预设图像和预设视频帧。
步骤S103:将预设图像对应内存空间中的数据重复使用以分别拷贝至预设视频帧的部分视频帧对应的内存空间中,得到配置视频帧。
在本实施例中,可以调用CPU将预设图像所对应的内存空间中的数据重复使用,从而能够将预设图像对应内存空间中的数据多次分别拷贝至至少部分视频帧对应的内存空间中以进行渲染,在至少部分视频帧的每一帧视频帧都拷贝有预设图像对应内存空间的数据。预设图像所对应的内存空间例如是用于存储预设图像的相关数据的,比如与像素大小、颜色等相关的数据。预设视频帧对应的内存空间例如是用于存储预设视频帧的相关数据,例如视频帧的像素大小、颜色等相关数据。在本实施例中,内存空间例如是随机存储内存的存储空间,对于智能手机、平板电脑等终端而言,即运行内存(RAM)。在第一客户端的运行过程执行本实施例的方法时,预设图像和预设视频帧在后台对应有相应的内存空间,以存储各自的数据。
在本实施例中,通过调用CPU将预设图像对应内存空间中的数据分别拷贝至预设视频帧的至少部分视频帧对应的内存空间中,以将预设图像的数据对应替换预设视频帧的部分原始数据或者直接成为至少部分视频帧的每一帧对应内存空间的数据,例如将预设图像配置在至少部分视频帧的每一帧对应的区域时,若该部分区域原本就显示有图案,那么预设图像对应内存空间的数据可以替换该部分区域对应内存空间的数据,从而在至少部分视频帧的每一帧的该区域显示预设图像。若该部分区域原本没有显示图案或者是透明的,那么预设图像对应内存空间的数据可以直接拷贝该部分区域对应内存空间中,从而在至少部分视频帧的每一帧的该区域直接显示预设图像。如此从而实现将预设图像配置在该至少部分视频帧中,也即在至少部分视频帧的每一帧对应的内存空间中存储有能够用于显示预设图像的数据,以使得在至少部分视频帧中能够显示预设图像。在至少部分视频帧配置完预设图像后,预设视频帧即形成为配置视频帧,也即配置视频帧包括了配置有预设图像的至少部分视频帧和未配置有预设图像的其他部分视频帧。
步骤S104:将配置视频帧进行编码,得到直播数据。
在本实施例中,将配置视频帧也即将配置有预设图像的配置至少部分视频帧以及未配置有预设图像的其他视频帧进行编码,例如可以采用H264进行编码,得到直播数据。直播数据所对应的直播界面上在某些帧上显示有预设图像。在本实施例中,第一客户端预先将预设图像配置在预设视频帧的至少部分视频帧中,得到配置视频帧,而后将配置视频帧进行编码形成直播数据,直播数据可以数据流的形式推流至服务器,从而观众在其观看设备上可以看到直播界面,所观看到的直播界面显示的是配置有预设图像的配置视频帧。
本实施例通过在后台将预设图像对应内存空间中的数据重复使用以分贝拷贝至预设视频帧的至少部分视频帧对应的内存空间中以将预设图像配置在预设视频帧中,也即是通过调用CPU重复将预设图像对应内存空间中的数据分别拷贝至预设视频帧的至少部分视频帧对应的内存空间中,以使得所述预设图像对应内存空间的数据成为至少部分视频帧的每一帧对应内存空间中的部分数据,,得到配置视频帧,再将配置视频帧进行编码得到直播数据,从而能够在直播数据对应的直播界面上的部分画面中显示有预设图像,如此实现在后台不通过GPU渲染的方式即可快速将预设图像配置在视频帧中,能够克服部分依赖GPU渲染的图像渲染组件在程序推入后台后无法进行图片处理的问题,使得一方面使用CPU进行预设图片配置,提升预设图像的配置效率,另一方面又尽量不增加直播的时延。
参阅图4,本申请在直播界面配置图像的方法第二实施例,是在本申请在直播界面配置图像的方法第一实施例的基础上对预设图像进行进一步阐述,因此本实施例与本申请在直播界面配置图像的方法第一实施例相同的步骤在此不再赘述。本实施例包括:
步骤S201:获取预设图像。
步骤S202:将预设图像进行格式转换得到第一位图数据。
在本实施例中,可以将获取的预设图像进行格式转换得到第一位图数据。预设图像的第一位图数据可以称为一个像素数组,数组中的每个像素就代表着预设图像中的一个点。
可选地,第一位图数据例如是YUV格式的位图数据。在使用Android系统的第一客户端上,可以用bitmap将png或jpg格式的图片直接转换为YUV格式。而对于使用IOS系统的第一客户端而言,由于IOS系统没有提供相应的接口,在将预设图像进行格式转换时需要经过两次转换。
例如,参阅图5,步骤S202还可以包括:
步骤S2021:将预设图像转换成ARGB格式的位图数据。
在一些实施例中,运行IOS系统的第一客户端由于IOS系统限制后台情况下不允许访问GPU,在进行格式转换时可以调用CPU先将图片加载出来,通过CoreGraphics的CGBitmapContext将图片转成ARGB格式的CVPixelBuffer的结构体。其中,ARGB是一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。CVPixelBufferRef是一种像素图片类型,由于CV开头,所以它是属于CoreVideo模块的,里面包有所有压缩的图片信息。
步骤S2022:调用预设函数将ARGB格式的位图数据转换成YUV格式的第一位图数据。
在本实施例中,YUV格式,例如是YUV444,YUV422,I420,YV12等格式。
在一些实施例中,例如为YUV I420格式,可以通过Libyuv库的ARGBToI420函数将ARGB格式转成YUV I420格式。其中,libyuv是Google开源的实现各种YUV与RGB之间相互转换、旋转、缩放的库。它是跨平台的,可在Windows、Linux、Mac、Android、IOS等操作系统,x86、x64、arm架构上进行编译运行,支持SSE、AVX、NEON等SIMD指令加速。如此可以避免运行类似于IOS系统的第一客户端无法将预设图像转换成相应的位图数据的问题。
对于ARBG格式的32位位图存储结构而言,RGB32的size=width×heigth×4Byte,如果是I420(即YUV标准格式4:2:0),则数据量size=width×heigth×1.5Byte。在本实施例中,将ARGB格式的位图数据转换成YUV格式的第一位图数据后,数据量将减少一半,有利于节省计算量,提高效率。
步骤S203:获取预设视频帧。
步骤S204:将预设图像对应内存空间中的第一位图数据重复使用以分别拷贝至至少部分视频帧对应的内存空间中,得到配置视频帧。
在本实施例中,可以将预设图像的第一位图数据进行重复使用,分别拷贝至预设视频帧对应的内存空间中,以分别替换至少部分视频帧的每一帧对应的内存空间所存储的部分原有数据,或者直接成为至少部分视频帧的每一帧对应的内存空间所存储的数据,将预设图像配置在预设视频帧中,从而可以在预设视频帧对应的显示界面上显示出预设图像。
可选地,在一些实施例中,第一位图数据例如为YUV格式的,具体可以通过将第一位图数据对应的YUV通道的字节数据分别拷贝至预设视频帧对应的内存空间中以将预设图像配置在预设视频帧中。在一些实施例中,预设图像中可能含有透明像素点,可以对预设图像的透明像素点进行处理。
参阅图6,在一些实施例中,步骤S204还可以包括:
步骤S2041:判断第一位图数据中的当前的像素点是否为透明像素点。
在本实施例中,第一位图数据中的像素点,可以是指第一位图数据的部分像素点也可以是指第一位图数据的全部像素点。例如可以通过遍历该部分像素点或者全部像素点,从而判断所遍历的每一个像素点是否为透明像素点。例如在拷贝过程中,是以一定的次序对像素点的数据进行拷贝,在拷贝过程中,判断当前的像素点是否为透明像素点。例如可以通过判断第一位图数据中的Y通道、U通道和V通道的字节数据来确定对应的像素点是否为透明像素点。例如,对于Y通道,可以判断其字节数据是否在0x10到0x5a之间,对于U和V通道,分别判断其字节数据是否等于0x80。若判断某像素点的Y通道的字节数据在0x10到0x5a之间,并且U通道和V通道的字节数据分别为0x80,则确定该像素点为透明像素点。若判断某像素点的Y通道字节数据不在0x10到0x5a之间,或者U通道或V通道的字节数据不是0x80,则确定该像素点不是透明像素点。
步骤S2042:若不是,则将该当前的像素点对应的YUV通道的字节数据对应拷贝至至少部分视频帧对应的内存空间中。
在本实施例中,当判断该当前的像素点不是透明像素点时,则将像素点对应的YUV通道的字节数据分别拷贝至对应的内存空间中。
步骤S2043:若是,则不将该当前的像素点对应的YUV通道的字节数据拷贝至预设视频帧对应的内存空间中。
在本实施例中,若判断第一位图数据的当前像素点为透明像素点,则不执行数据拷贝,保留至少部分视频帧对应的原来的像素点。
本实施例通过预先判断当前的像素点是否为透明像素点,可以在拷贝数据时排除这些透明像素点,能够加快预设图像配置到预设视频帧中的速度,节省渲染时间。
步骤S205:将配置视频帧进行编码,得到直播数据。
在上述实施例中,步骤S201至S205的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方案的前提下,某些步骤可以调换顺序。
参阅图7,本申请在直播界面配置图像的方法第三实施例,是在本申请在直播界面配置图像的方法第一实施例和第二实施例的基础上进一步阐述,因此本实施例与本申请在直播界面配置图像的方法第一实施例或第二实施例相同的步骤在此不再赘述。本实施例包括:
步骤S301:获取预设图像。
步骤S302:将预设图像进行格式转换得到YUV格式的第一位图数据。
在本实施例中,YUV格式例如为YUV I420格式,从而预设图像的数据量将减少一半,有利于节省计算量,提高效率。
步骤S303:通过预设SDK工具包获取预设视频帧,并返回预设视频帧的YUV格式的第二位图数据。
一般来说,第一客户端直接采集到的视频数据是RGB24的格式,RGB24一帧的大小size=width×heigth×3Byte,RGB32的size=width×heigth×4Byte,如果是I420(即YUV标准格式4:2:0),则数据量size=width×heigth×1.5Byte。在本实施例中,将ARGB格式的位图数据转换成YUV格式的第一位图数据后,数据量将减少一半,有利于节省计算量,提高效率。
对于录屏方式而言,在IOS操作系统中,预设SDK工具包比如是基于Airplay的录屏SDK,能把运行IOS操作系统的直播设备上的屏幕内容(包括系统UI)直接投影到其它设备,因此也称为AirPlay镜像。通过预设SDK工具包进行录制后,视频数据流会以回调的形式返回给直播程序处理。SDK支持两种形式的视频数据:一种是AirPlay镜像传递的原始H264流,另外一种是YUV数据,也即可以通过预设SDK工具包返回YUV格式的CVPixelBuffer结构体,从而得到直播视频帧的位图数据。在Andriod操作系统中,例如通过MediaProjection接口进行录屏的SDK可以获取到直播视频帧并返回到直播视频帧的位图数据。
当然对于摄像头拍摄的方式而言,同样可以通过预设SDK工具包获取到摄像头所拍摄的预设视频帧并可以返回预设视频帧的第二位图数据。本实施例通过预设SDK工具包可以便利地获取到预设视频帧并返回预设视频帧的第二位图数据,可以不需要通过额外的函数或者格式转换,提高了视频处理和渲染的效率。
步骤S304:将至少部分帧对应的第二位图数据依次加入待渲染队列。
在本实施例中,待渲染队列是指需要进行预设图像配置的预设视频帧的至少部分帧的第二位图数据所组成的队列次序。由于在直播时,预设视频帧是逐帧产生的,而且是随着直播时间的推移是不断产生的,但是由于渲染所需的时间可能存在稍慢于直播视频帧产生的时间的情况。因此本实施例在预设视频帧在逐帧产生时将至少部分视频帧时加入到待渲染队列,以等待渲染。
在一些实施例中,可以将预设视频帧的全部视频帧的第二位图数据依次加入待渲染队列,从而可以在预设视频帧的全部视频帧中配置预设图像。将预设图像配置在预设视频帧的每一帧中,可以对预设视频帧的每一帧进行标识,能够有效增强视频的标识度和安全性。
在一些实施例中,也可以仅选取预设视频帧中的一部分视频帧的第二位图数据加入待渲染队列,后续仅对这部分视频帧进行预设图像配置。或者,在一些实施例中也可以选取间隔数量的部分视频帧的第二位图数据加入待渲染队列,例如每间隔100帧。
步骤S305:从待渲染队列中依次取出至少部分帧的第二位图数据,并将第一位图数据对应的YUV通道的字节数据重复使用以分别拷贝至至少部分帧的第二位图数据对应的内存空间中,以对成为至少部分帧的第二位图数据对应的YUV通道的字节数据,从而将预设图像配置在至少部分帧中,最终得到配置视频帧。
在本实施例中,可以从待渲染队列中依次取出至少部分帧的第二位图数据以进行预设图像按照取出的顺序依次配置。例如,取出待渲染队列中第一帧的第二位图数据,将预设图像的第一位图数据对应的YUV通道的字节数据拷贝至该第一帧的第二位图数据对应的内存空间中,替换该第一帧对应的字节数据,从而将预设图像配置在该第一帧中。随后,依次取出待渲染队列中其他视频帧的第二位图数据并执行循环操作,依次在待渲染队列中的至少部分帧中配置预设图像,所得到配置视频帧是包含配置有预设图像的至少部分视频帧和其他未配置预设图像的视频帧,从而在编码后形成完成的视频流进行推流至直播服务器。
在本实施例中,例如可以使用C语言的memcpy函数,将预设图像的YUV三个颜色通道的字节数据分别进行拷贝至该至少部分视频帧的每一帧的第二位图数据对应的内存空间中,以对应替换或者成为该每一帧的第二位图数据对应的YUV通道的字节数据。
本实施例通过待渲染队列实现与预设图像的第一位图数据的重复使用,不涉及创建新对象,不需要用到GPU渲染组件进行渲染,而是通过CPU和内存进行操作实现渲染,因此无需请求Andriod或者IOS等操作系统的相应的接口权限,渲染耗时较少从而可以快捷地实现将预设图像配置在预设视频帧中,提高了渲染和处理的效率,提升了直播体验。
可选地,步骤S305还包括:
步骤S3051:获取第一位图数据的起始内存地址和至少部分视频帧的第一内存地址。
在本实施例中,第一位图数据的起始内存地址,是指预设图像的第一个像素点的数据所在的内存地址。对于预设图像的视图而言,第一个像素点例如是从左往右的方向第一行第一列所对应的像素点。在一个应用场景中,例如是主播在直播APP的某接口访问第一客户端的相册选择某图像(例如水印图像),在后台运行中,CPU可以查询到该预设图像所在的内存空间,找到内存空间中首个像素点的数据所在的内存地址即为起始内存地址。
可选地,对于YUV I420格式的第一位图数据,起始内存地址也可以是指所分别获取的Y通道、U通道、V通道字节数据对应的起始内存地址。例如先获取预设图像的Y通道的起始内存地址,从而获取Y通道每行数据所占用的字节,接着获取U通道的起始内存地址和V通道的起始内存地址,根据Y通道与U通道和V通道之间的关系可以知道U通道和V通道所占用字节,从而可以调用函数,例如LibyuvI420Copy函数,分别将YUV三通道的对应的字节数据拷贝到预设视频帧中对应的YUV通道的内存空间中,可实现在视频帧上配置预设图像。
在本实施例中,至少部分视频帧的第一内存地址,是指需要配置预设图像的至少部分帧的每一帧的第二位图数据中的某一像素点的字节数据所在的内存地址。也即至少部分视频帧的每一帧具有其第一内存地址。在一些实施例中,需要在至少部分帧中配置预设图像,预设图像配置在每一帧相同的位置时,可以先确定待渲染队列中的视频帧以某一像素点为基准,例如以该像素点的所在位置为基准坐标,在待渲染队列中均具有相同的基准坐标,然后分别获取这些需要配置预设图像的视频帧的第二位图数据在该基准坐标对应的像素点的字节数据所在的内存地址作为对应视频帧的第一内存地址,也即相当于确定预设视频帧中配置预设图像的起始位置。
步骤S3052:将第一位图数据对应的YUV通道的字节数据从第一位图数据的起始内存地址开始依次拷贝至至少部分视频帧的以第一内存地址为开始的内存空间中。
在本实施例中,也即拷贝第一位图数据的至少部分像素点所包含的YUV通道的字节数据至至少部分视频帧的内存空间中。将第一位图数据中从第一个像素点对应的起始内存地址开始的内存空间中所存储的各像素点的YUV通道的字节数据依次拷贝至至少部分视频帧以第一内存地址为开始的内存空间对应的YUV通道中,也即从第一个像素点开始,依次将各像素点的字节数据拷贝至至少部分视频帧的内存空间中,对于某一个像素而言,可以依次将Y通道、U通道、V通道的字节数据分别拷贝至该至少部分视频帧的每一帧以第一内存地址为开始的内存空间对应的Y通道、U通道、V通道中。在本实施例中,可以结合上述第一实施例和第二实施例,若判断某一像素点是透明像素点,则不执行拷贝。若某一像素点不是透明像素点,则执行拷贝动作。
可选地,在一些实施例中,步骤S3051还可以包括在至少部分视频帧上配置相同的第一预设坐标,以第一预设坐标对应内存空间的内存地址作为第一内存地址。
也即至少部分视频帧的每一帧的第一预设坐标的位置都是相同的,如此可以在每一帧的相同位置配置预设图像,使得配置视频帧显示预设图像的更统一和美观。
参阅图8,在一个具体的实施例中,以预设视频帧的至少部分视频的左上角顶点为起始坐标,例如为(0,0)。第一预设坐标,例如是预设视频帧中的某一像素点的坐标,例如为(X1,Y1),获取需要配置预设图像的每一帧的(X1,Y1)坐标处对应的像素点的字节数据所在的内存地址即为每一帧对应的第一内存地址。在将第一位图数据对应的YUV通道的字节数据拷贝至第二位图数据对应的内存空间中时,可以以每一帧对应的第一预设坐标处对应的像素点的字节数据所在的内存地址作为第一内存地址。
可选地,在一些实施例中,还可以进一步确定预设图像的配置区域。例如,可以获取预设图像的宽度和高度,从第一预设坐标开始分别沿行和列方向遍历至少部分视频帧中每一帧对应内存空间的数据,得到第二预设坐标,也即至少部分视频帧的每一帧都具有第二预设坐标。其中沿行方向遍历至少部分视频帧中每一帧对应内存空间的数据的次数等于预设图像的宽度,沿列方向遍历至少部分视频帧中每一帧对应内存空间的数据的次数等于预设图像的高度。
在本实施例中,对于YUV420格式而言,Y是W×H,U和V是W/2×(H/2),也即预设图像的宽度W等于Y通道的每行字节数,预设图像的宽度H等于Y通道的每列字节数,U和V通道是Y通道的二分之一宽,二分之一长。如果W=4,H=2,则内存则是:yyyyyyyyuuvv,需要占用的内存:W×H×3/2。
从每一帧视频帧的第一预设坐标开始沿行方向遍历数据的次数,例如是遍历像素点数据的次数等于预设图像的宽度,也即该视频帧沿行方向遍历像素点数据的次数等于预设图像Y通道在行方向上的字节数。从该视频帧的第一预设坐标开始沿列方向遍历数据的次数等于预设图像的高度,也即该视频帧沿列方向遍历像素点数据的次数等于预设图像Y通道在列方向上的字节数。如此预设视频帧沿行方向和列方向分别遍历相应的次数得到第二预设坐标,通过第一预设坐标和第二预设坐标可以在每一帧视频帧上定义一个与预设图像的宽度和高度一致的区域,例如是配置区域,并确定该配置区域的内存空间。从而可以将第一位图数据对应的YUV通道的字节数据拷贝至该配置区域的内存空间中。
参阅图9,在一个具体的实施例中,例如(X1,Y1)为第一预设坐标,预设图像的宽度为W,高度为H。通过上述步骤遍历数据得到第二预设坐标(X1+W,Y1+H),则以第一预设坐标(X1,Y1)、第二预设坐标(X1+W,Y1+H)以及衍生的坐标(X1+W,Y1)、(X1,Y1+H)这四点所限定的区域即为用于配置预设图像的配置区域。在配置预设图像时,将第一位图数据拷贝至以第一预设坐标(X1,Y1)为起点的该配置区域的像素点的字节数据所在的内存空间中。例如是沿行方向拷贝时,将预设图像第一行像素的数据拷贝至(X1,Y1)至(X1+W,Y1)区域像素对应的内存空间中,在拷贝第二行数据时可以重新确定起点为(X1,Y1+1),将数据依次拷贝至对应的内存空间中,不断循环此操作直至完成最后一行,即起点为(X1,Y1+H),终点为(X1+W,Y1+H)的数据拷贝,以将的每一帧视频帧的配置区域内的像素替换成预设图像的像素,从而将预设图像配置在预设视频帧中。
在一些实施例中,预设图像为一张时,在第一次确定预设图像的配置区域后可以保存相应的设置,在为下一帧进行配置时可以直接采用保存的设置,避免多次重复操作增加计算量,有效提高预设图像配置的效率。在另一些实施例中,若预设图像为多个,则可以在每一帧配置预设图像时重新获取预设图像的宽度和高度进行配置。或者,也可以预先配置预设视频帧中每一帧对应的预设图像,在进行预设图像配置时若检测到需要更换预设图像,则重新获取对应的预设图像的高度和宽度重新进行配置。
步骤S306:将配置视频帧进行编码,得到直播数据。
在上述实施例中,步骤S301至S306的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方案的前提下,某些步骤可以调换顺序。
本实施例通过预设SDK工具包获取预设视频帧,并返回预设视频帧的YUV格式的第二位图数据能够实现快速获取预设视频帧和第二位图数据,加快处理速度,而且通过待渲染队列实现预设图像的数据的重复使用,不涉及创建新对象,不需要用到GPU渲染组件进行渲染,而是通过CPU和内存进行操作实现渲染,因此无需请求Andriod或者IOS等操作系统的相应的接口权限,渲染耗时较少从而可以快捷地实现了预设图像和直播视频帧配置在背景图中,提高了渲染和处理的效率,再者通过以遍历预设视频帧数据的方式确定配置区域,也能够加快渲染速度,实现预设图像的快速配置。
本申请在直播界面配置图像的方法第一至第三实施例,可以相互结合。例如本申请在直播界面配置图像的方法第二实施例和第三实施例可以结合起来成为本申请的一个或者多个实施例。
在上述实施例中,预设图像可以为私有成员变量,是对特定类进行公开,而不对外或者其他类公开。尤其预设图像作为水印时,例如主播使用的水印,是其个性化的体现,而且也是用于其直播的标识,因此作为私有成员变量能够在一定程度上保证预设图像的安全,避免被外部对象盗用或者修改等。第一引用对象也即该特定类允许的函数,比如CVpixelbuffer函数,能够通过调用该允许的函数去获取预设图像,而不被其他函数获取,保证了预设图像的安全性。比如第一引用对象为CVpixelbuffer函数,通过CVpixelbufferRetain获取该预设图像,通过CVpixelbufferRelease释放该预设图像从而能够通过memcpy函数执行数据的拷贝处理。
参阅图10,本申请移动终端第一实施例,包括处理器21、通信电路22和显示屏23,处理器21分别耦接通信电路22和显示屏23。
处理器21用于获取预设图像。处理器21用于获取预设视频帧。处理器21用于将预设图像对应内存空间中的数据重复使用以分别拷贝至预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧。处理器21用于将配置视频帧进行编码,得到直播数据。显示屏23用于显示直播数据对应的直播界面。
在本实施例中,处理器21还可以称为CPU(Central Processing Unit,中央处理单元)。处理器21可能是一种集成电路芯片,具有信号的处理能力。处理器21还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中关于移动终端更多执行过程等可以参照上述本申请在直播界面配置图片的方法第一实施例~第三实施例。在本实施例中,移动终端比如是笔记本电脑、智能手机、平板、智能穿戴设备等。
参阅图11,本申请移动终端第二实施例,包括第一获取模块31、第二获取模块32、配置模块33以及编码模块34。其中第一获取模块31、第二获取模块32、配置模块33以及编码模块34相互连接。
其中,第一获取模块31用于获取预设图像。第二获取模块32用于获取预设视频帧。配置模块33用于将预设图像对应内存空间中的数据重复使用以分别拷贝至预设视频帧对应的内存空间中,以将预设图像配置在预设视频帧中,得到配置视频帧。编码模块34用于将配置视频帧进行编码,得到直播数据。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施方式方案的目的。
另外,在实施例各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本实施例中关于各模块更多功能或者更多的模块等可以参照上述本申请在直播界面配置图片的方法第一实施例~第三实施例。
参阅图12,本申请具有存储功能的装置实施例中的装置40,存储有程序数据,程序数据能够被执行以实现上述本申请在直播界面配置图片的方法第一实施例~第三实施例所涉及的步骤。具体参照本申请在直播界面配置图片的方法第一实施例~第三实施例,在此不再赘述。
本申请在直播界面配置图片的方法第一实施例~第三实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储装置中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的装置40包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的电脑等其他装置。
以下,本申请的发明人为验证本申请各实施例所实现的技术效果,进行了以下测试:
为了保证直播视频良好的观赏性,在预设视频帧中渲染预设图像时,要保证不会影响视频中每一帧的清晰度以及色彩饱和度,且图像处理的时间要小于10ms,以确保视频的流畅。
以IOS系统为例,可以采用CoreImage或者OpenCV这两个框架实现将图像渲染至视频帧中。但这两种方式的图片渲染效率很低,在一些高帧率的视频直播中,渲染图像速率慢会导致视频卡顿,影响直播效果。
下表所示为采用本实施例的方案与采用CoreImage以及采用OpenCV分别将预设图像渲染至预设视频帧中的测试数据,其中,预设图像的像素大小为30*100,预设视频帧的像素大小为1334*750。
如上表所示,采用CoreImage或者OpenCV将预设图像渲染至预设视频帧的时间均较长,尤其在复杂的游戏画面中,这两种方案的渲染时间都不小于20ms,导致取法正常直播或者直播界面很卡顿。而采用本实施例的方案将预设图像渲染至预设视频帧中的渲染时间最短,即便在复杂的游戏画面中,渲染时间也不超过5ms,也即渲染效率最高,且预设视频帧的显示结果表明采用本实施例的方案进行图像渲染不会影响预设视频帧的显示,保证了直播的流畅度。因此,本申请上述实施例所描述的技术方案能够有效提升渲染速度,降低直播的延迟。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (14)

1.一种在直播界面配置图像的方法,其特征在于,包括:
获取预设图像;
获取预设视频帧;
将所述预设图像对应内存空间中的数据重复使用以分别拷贝至所述预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧;
将所述配置视频帧进行编码,得到直播数据。
2.根据权利要求1所述的方法,其特征在于:所述获取预设图像之后包括:
将所述预设图像进行格式转换得到第一位图数据;
所述将所述预设图像对应内存空间中的数据重复使用以分别拷贝至所述预设视频帧的至少部分视频帧对应的内存空间中包括:
将所述预设图像对应内存空间中的第一位图数据重复使用以分别拷贝至所述至少部分视频帧对应的内存空间中。
3.根据权利要求2所述的方法,其特征在于:所述将所述预设图像进行格式转换得到第一位图数据包括:
将所述预设图像转换成ARGB格式的位图数据;
调用预设函数将所述ARGB格式的位图数据转换成YUV格式的所述第一位图数据。
4.根据权利要求3所述的方法,其特征在于:将所述预设图像对应内存空间中的第一位图数据重复使用以分别拷贝至所述至少部分视频帧对应的内存空间中包括:
将所述第一位图数据对应的YUV通道的字节数据对应拷贝至所述至少部分视频帧对应的内存空间中。
5.根据权利要求4所述的方法,其特征在于:将所述第一位图数据对应的YUV通道的字节数据对应拷贝至所述至少部分视频帧对应的内存空间中包括:
判断所述第一位图数据的当前的像素点是否为透明像素点;
若不是,则将所述当前的像素点对应的YUV通道的字节数据拷贝至所述预设视频帧对应的内存空间中;
若是,则不将所述当前的像素点对应的YUV通道的字节数据拷贝至所述预设视频帧对应的内存空间中。
6.根据权利要求5所述的方法,其特征在于:获取预设视频帧包括:
通过预设SDK工具包获取所述预设视频帧,并返回所述预设视频帧的YUV格式的第二位图数据;
将所述至少部分帧对应的第二位图数据依次加入待渲染队列。
7.根据权利要求6所述的方法,其特征在于:将所述第一位图数据对应的YUV通道的字节数据对应拷贝至所述至少部分视频帧对应的内存空间中包括:
从所述待渲染队列中依次取出所述至少部分帧的第二位图数据,并将所述第一位图数据对应的YUV通道的字节数据重复使用以分别拷贝至所述至少部分帧的第二位图数据对应的内存空间中,以成为所述至少部分帧的第二位图数据对应的YUV通道中的字节数据。
8.根据权利要求7所述的方法,其特征在于:将所述第一位图数据对应的YUV通道的字节数据对应拷贝至所述至少部分帧的第二位图数据对应的内存空间中包括:
获取所述第一位图数据的起始内存地址和所述至少部分视频帧的第一内存地址;
将所述第一位图数据对应的YUV通道的字节数据从所述第一位图数据的起始内存地址开始依次拷贝至所述至少部分视频帧的以所述第一内存地址为开始的内存空间中。
9.根据权利要求8所述的方法,其特征在于:获取所述至少部分视频帧的第一内存地址包括:
在所述至少部分视频帧上配置相同的第一预设坐标;
以所述第一预设坐标对应内存空间的内存地址分别作为所述至少部分视频帧的第一内存地址。
10.根据权利要求9所述的方法,其特征在于,所述以所述第一预设坐标对应内存空间的起始内存地址分别作为所述至少部分视频帧的第一内存地址之后包括:
获取所述预设图像的宽度和高度;
从所述第一预设坐标开始分别沿行和列方向遍历所述至少部分视频帧中每一帧对应内存空间的数据,得到第二预设坐标,其中沿行方向遍历所述至少部分视频帧中每一帧对应内存空间的数据的次数等于所述预设图像的宽度,沿列方向遍历所述至少部分视频帧中每一帧对应内存空间的数据的次数等于所述预设图像的高度;
将所述第一位图数据对应的YUV通道的字节数据对应拷贝至所述第一预设坐标和所述第二预设坐标所定义的区域的内存空间中。
11.根据权利要求1所述的方法,其特征在于,所述预设图像为私有成员变量,所述私有成员变量能够被第一引用对象引用,通过调用所述第一引用对象获取预设图像。
12.一种视频直播系统,其特征在于,所述系统包括第一客户端、直播服务器和第二客户端;
所述第一客户端用于获取预设图像和预设视频帧,将所述预设图像对应内存空间中的数据重复使用以分别拷贝至所述预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧,将所述配置视频帧进行编码,得到直播数据,并将直播数据推流至所述直播服务器;
所述直播服务器用于接收所述直播数据并发送至所述第二客户端;
所述第二客户端用于接收所述直播数据,并进行播放。
13.一种移动终端,其特征在于,包括处理器、通信电路和显示屏,所述处理器分别耦接所述通信电路和所述显示屏;
所述处理器用于获取预设图像;
所述处理器用于获取预设视频帧;
所述处理器用于将所述预设图像对应内存空间中的数据重复使用以分别拷贝至所述预设视频帧的至少部分视频帧对应的内存空间中,得到配置视频帧;
所述处理器用于将所述配置视频帧进行编码,得到直播数据;
所述显示屏用于显示所述直播数据对应的直播界面。
14.一种具有存储功能的装置,其特征在于,存储有程序数据,所述程序数据能够被执行以实现如权利要求1~11任一项所述的方法。
CN201910290299.1A 2019-04-11 2019-04-11 在直播界面配置图像的方法、系统、终端和装置 Active CN110049347B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910290299.1A CN110049347B (zh) 2019-04-11 2019-04-11 在直播界面配置图像的方法、系统、终端和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910290299.1A CN110049347B (zh) 2019-04-11 2019-04-11 在直播界面配置图像的方法、系统、终端和装置

Publications (2)

Publication Number Publication Date
CN110049347A true CN110049347A (zh) 2019-07-23
CN110049347B CN110049347B (zh) 2021-10-22

Family

ID=67276884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910290299.1A Active CN110049347B (zh) 2019-04-11 2019-04-11 在直播界面配置图像的方法、系统、终端和装置

Country Status (1)

Country Link
CN (1) CN110049347B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405298A (zh) * 2020-02-17 2020-07-10 重庆邮电大学 一种基于KCP协议的Android端到端直播方法
CN113038141A (zh) * 2021-03-26 2021-06-25 青岛海信移动通信技术股份有限公司 视频帧处理方法及电子设备
CN115278288A (zh) * 2022-09-23 2022-11-01 腾讯科技(深圳)有限公司 一种显示处理方法、装置、计算机设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793342A (zh) * 2012-11-02 2014-05-14 中兴通讯股份有限公司 一种多通道直接内存存取dma控制器
CN105491396A (zh) * 2015-10-10 2016-04-13 腾讯科技(北京)有限公司 一种多媒体信息处理方法及服务器
CN105848009A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
CN106507130A (zh) * 2016-11-24 2017-03-15 成都天脉拓道科技有限公司 在yuv帧上叠加水印的方法及水印叠加装置
US20180084292A1 (en) * 2016-09-18 2018-03-22 Shanghai Hode Information Technology Co.,Ltd. Web-based live broadcast
CN108882055A (zh) * 2018-06-28 2018-11-23 广州虎牙信息科技有限公司 视频直播方法及系统、合成视频流的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103793342A (zh) * 2012-11-02 2014-05-14 中兴通讯股份有限公司 一种多通道直接内存存取dma控制器
CN105491396A (zh) * 2015-10-10 2016-04-13 腾讯科技(北京)有限公司 一种多媒体信息处理方法及服务器
CN105848009A (zh) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 一种视频直播方法及装置
US20180084292A1 (en) * 2016-09-18 2018-03-22 Shanghai Hode Information Technology Co.,Ltd. Web-based live broadcast
CN106507130A (zh) * 2016-11-24 2017-03-15 成都天脉拓道科技有限公司 在yuv帧上叠加水印的方法及水印叠加装置
CN108882055A (zh) * 2018-06-28 2018-11-23 广州虎牙信息科技有限公司 视频直播方法及系统、合成视频流的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111405298A (zh) * 2020-02-17 2020-07-10 重庆邮电大学 一种基于KCP协议的Android端到端直播方法
CN113038141A (zh) * 2021-03-26 2021-06-25 青岛海信移动通信技术股份有限公司 视频帧处理方法及电子设备
CN113038141B (zh) * 2021-03-26 2023-07-28 青岛海信移动通信技术有限公司 视频帧处理方法及电子设备
CN115278288A (zh) * 2022-09-23 2022-11-01 腾讯科技(深圳)有限公司 一种显示处理方法、装置、计算机设备及可读存储介质

Also Published As

Publication number Publication date
CN110049347B (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN1857006B (zh) 通过镶嵌预先计算的样本来模拟胶片颗粒的方法
US7982743B2 (en) Method and apparatus for reading film grain patterns in a raster order in film grain simulation
CN110226316A (zh) 用于对虚拟现实视频执行转换及流传输的系统及方法
CN107040794A (zh) 视频播放方法、服务器、虚拟现实设备以及全景虚拟现实播放系统
CN110049347A (zh) 在直播界面配置图像的方法、系统、终端和装置
CN109168014A (zh) 一种直播方法、装置、设备及存储介质
CN113206971B (zh) 一种图像处理方法及显示设备
CN108235055A (zh) Ar场景中透明视频实现方法及设备
CN105657494A (zh) 一种虚拟影院及其实现方法
CN114615513B (zh) 视频数据生成方法、装置、电子设备及存储介质
US11924442B2 (en) Generating and displaying a video stream by omitting or replacing an occluded part
WO2023193521A1 (zh) 一种视频修复的方法、相关装置、设备以及存储介质
CN108307163B (zh) 图像数据处理方法及装置、计算机装置及可读存储介质
CN110290290A (zh) 云vr演播室的实现方法、装置、计算机设备及存储介质
TW202240380A (zh) 使用著色圖集在分割渲染中進行錯誤隱藏
CN103312981A (zh) 一种多照片合成拍照方法及拍照装置
US10997795B2 (en) Method and apparatus for processing three dimensional object image using point cloud data
CN106507079B (zh) 一种色彩还原方法和装置
CN110913118B (zh) 视频处理方法、装置及存储介质
CN112019906A (zh) 直播方法、计算机设备及可读存储介质
WO2021052040A1 (zh) 视频图像的增强方法、装置、设备、芯片及存储介质
CN113395527A (zh) 一种基于vr技术的远程直播虚拟背景云合成系统
CN118138832B (zh) 一种基于gpu硬图层的网络视频流显示方法
CN109600623A (zh) Vr直播视频的控制方法和系统
JP2005169062A (ja) 画像データを用いてオブジェクトおよびオブジェクトタイプを変更する方法(関連出願の相互参照)本願においては、2003年12月8日付け台湾特許出願第92134510号の優先権の特典を主張する。

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