CN111970473A - 实现双视频流同步显示的方法、装置、设备及存储介质 - Google Patents
实现双视频流同步显示的方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111970473A CN111970473A CN202010838868.4A CN202010838868A CN111970473A CN 111970473 A CN111970473 A CN 111970473A CN 202010838868 A CN202010838868 A CN 202010838868A CN 111970473 A CN111970473 A CN 111970473A
- Authority
- CN
- China
- Prior art keywords
- video stream
- stream
- receiving end
- media stream
- video
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/15—Conference systems
-
- 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
- H04N21/4316—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种实现双视频流同步显示的方法、装置、设备及存储介质,该方法包括:获取摄像头视频流和屏幕捕获视频流;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的方法,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
Description
技术领域
本发明实施例涉及多方视频通话技术,尤其涉及一种实现双视频流同步显示的方法、装置、设备及存储介质。
背景技术
在多人视频会议和网络直播中,经常需要主持人进行文档演示或共享本地桌面供其它参与人观看和演示,文档演示是以视频形式传送到接收端,而如果需要同时显示摄像头视频中的人像,这就涉及两个视频数据的传输和播放,需要进行画中画显示。传统的网络会议和视频直播中,在主播端一般需要安装客户端软件或手机app,通过客户端软件或手机对本地桌面进行录制屏幕画面,将多帧画面转换为视频流,再对摄像头视频捕获,将两个视频流合并转码后,推流发送给服务器,或者在服务器上对视频混流生成一个新的视频流,再传送给接收端进行播放,主要缺点首先是需要用户安装客户端或安装app,使用门槛较高,其次是需要在服务端混流,或经过服务器中转发送视频流量,需要占用服务器的带宽和服务器计算资源。
发明内容
本发明提供一种双视频流画中画同步显示的方法、装置、设备及存储介质,以实现提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
第一方面,本发明实施例提供了一种实现双视频流画中画同步显示的方法,包括:
获取摄像头视频流和屏幕捕获视频流;
将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
将所述媒体流通过预设通道传输到接收端;
控制所述接收端解析所述媒体流并进行显示。
可选的,所述获取摄像头视频流和屏幕捕获视频流之前还包括:
判断所述本地浏览器种类;
根据所述本地浏览器种类使用对应屏幕捕获视频流的捕获工具。
可选的,所述将所述媒体流通过预设通道传输到接收端之前还包括:
根据所述媒体流建立NAT内网穿透服务和信令服务。
可选的,所述将所述媒体流通过预设通道传输到接收端之后还包括:
通过SDP协议调整所述媒体流的传输质量。
可选的,所述控制所述接收端解析所述媒体流并进行显示包括:
控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流;
控制所述接收端根据所述摄像头视频流进行背景消除;
控制所述接收端将所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行显示。
可选的,所述控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流之后还包括:
控制所述接收端解析所述媒体流获取所述摄像头视频流对应的第一音频和所述屏幕捕获视频流对应的第二音频。
可选的,所述控制所述接收端根据所述摄像头视频流进行背景消除之后还包括:控制所述接收端对所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行渲染。
第二方面,本发明实施例还提供了一种实现双视频流同步显示的装置,该装置包括:
获取模块,用于获取摄像头视频流和屏幕捕获视频流;
整合模块,用于将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
发送模块,用于将所述媒体流通过预设通道传输到接收端;
显示模块,用于控制所述接收端解析所述媒体流并进行显示。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一所述的实现双视频流同步显示的方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括程序指令,该程序指令被处理器执行时实现如上述任一所述的实现双视频流同步显示的方法。
本发明实施例公开了一种实现双视频流同步显示的方法、装置、设备及存储介质,该方法包括:获取摄像头视频流和屏幕捕获视频流;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的方法,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
附图说明
图1为本发明实施例一提供的一种实现双视频流同步显示的方法的流程图;
图2为本发明实施例二提供的一种实现双视频流同步显示的方法的流程图;
图3是本发明实施例三提供的一种实现双视频流同步显示的装置的结构示意图;
图4为本发明实施例四提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
此外,术语“第一”、“第二”等可在本文中用于描述各种方向、动作、步骤或元件等,但这些方向、动作、步骤或元件不受这些术语限制。这些术语仅用于将第一个方向、动作、步骤或元件与另一个方向、动作、步骤或元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一音频为第二音频,且类似地,可将第二音频称为第一音频。第一音频和第二音频两者都是音频,但其不是同一音频。术语“第一”、“第二”等而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
实施例一
图1为本发明实施例一提供的一种实现双视频流同步显示的方法的流程图,本实施例可适用于多方视频通话的情况,该方法可以由计算机终端来执行,具体包括如下步骤:
步骤100、获取摄像头视频流和屏幕捕获视频流。
在本实施例中,多方视频通话过程中,共享屏幕的用户终端一般为发送端,而其他接收共享屏幕的用户终端为接收端,发送端和接收端可以是手机终端、计算机终端和平板电脑等等,在本实施例中,发送端和接收端均以电脑终端为例进行说明。在本实施例中,基于WebRTC的对等网络实现,每个客户端既是发送端也是接收端,因此发送端和接收端的身份可以互换,从而实现实时的双向视频数据传递。WebRTC(Web Real-Time Communication)是W3C组织制定的一套Javascript标准API规范,实现了基于浏览器捕获摄像头视频、麦克风音频,并对音视频进行编解码、降噪,回声消除,多轨道混流等,并可以创建点对点(p2p)连接,将媒体流通过数据通道传通给其它用户,其它用户接收到媒体流后,实时播放,从而实现视频通话、视频会议、视频聊天室、在线直播、远程教育等应用,WebRTC由浏览器的底层实现,并封装了一套标准接口供JavaScript程序调用,无需安装插件和Navtive App支持。在WebRTC规范中,增加了屏幕捕获的接口能力,通过WebRTC技术可以单独屏幕捕获和摄像头,捕获完成后分别会生成两个独立的摄像头视频流和屏幕捕获视频流。示例性的,使用navigator.mediaDevices.getUserMedia({audio:false,video:true});可以调起摄像头,并生成一个Promise对象,用户确认之后,Promise对象变为resolve状态,并在回调函数中接收到MediaStream对象。同时,采用getDisplayMedia调起屏幕捕获请求,此步需要用户二次确认,也会生成一个Promise对象。示例性的,通过以下程序执行:
avigator.mediaDevices.getDisplayMedia({video:true}).then(function(stream){
video1.srcObject=stream;
window.stream1=stream;
})
步骤110、将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中。
在本实施例中,屏幕捕获视频流中可能包含计算机终端端的音频,摄像头视频流中也可能包含独立的视频和音频两种轨道,因此需要将多个音视频轨道从中分离出来得到4个轨道(其中包括了两路视频和两路音频)。
然后创建一个新的MediaStream对象,将4个轨道的音视频轨道全部合并至新生成的MediaStream对象中,将两个视频流合二为一。示例性的,通过以下程序执行:
步骤120、将所述媒体流通过预设通道传输到接收端。
在本实施例中,预设通道为p2p(peer-to-peer,点对点传输)传输通道,点对点传输也就是存储转发传输,它是以点对点的连接方式,把各个计算机连接起来,这种点对点传输的网络结构形式通常为远程网络和大城市网络所采用,网络的拓扑结构有星形、环形、树形和网状形等。发送端和接收端同时创建RTCPeerConnection对等连接用于p2p传输,发送端和接收端都可以有多个,发送端和接收端是对等的,即每一个终端即是发送端,也是接收端,可以互换位置,从而实现多方视频通话。
步骤130、控制所述接收端解析所述媒体流并进行显示。
在本实施例中,接收端获取到的MediaStream媒体流对像中包含了两个视频和两个音频共4个轨道,通过getVideoTracks和getAudioTracks取出4个轨道,然后创建两个新的MediaStream对象,并使用addTrack添加轨道,组装完成后,在接收端还原了发送端的摄像头视频流和屏幕捕获视频流并组合画面进行显示,示例性的,可以由画中画的形式进行显示,视频直播画中画是指在一个视频画面中包含另一个视频,两个视频叠加在一个显示终端中显示,并同步播放。
本发明实施例公开了一种实现双视频流同步显示的方法,该方法包括:获取摄像头视频流和屏幕捕获视频流;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的方法,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
实施例二
图2为本发明实施例二提供的一种实现双视频流同步显示的方法的流程图,本实施例可适用于多方视频通话的情况,本实施例是在实施例一的基础上增加了其他步骤,该方法可以由计算机终端来执行,具体包括如下步骤:
步骤200、判断所述本地浏览器种类。
步骤210、根据所述本地浏览器种类使用对应屏幕捕获视频流的捕获工具。
在本实施例中,部分浏览器会自带视频流的捕获工具例如Firefox浏览器、Chrome浏览器等等,在本实施例中,以Firefox浏览器为例进行说明,Firefox浏览器的屏幕捕获并没有使用getDisplayMedia API,而是采用统一的getUserMedia API调用方式,与前者类似,屏幕捕获创建成功后,都会返回一个媒体流。示例性的,通过以下程序执行:
步骤220、获取摄像头视频流和屏幕捕获视频流。
步骤230、根据所述媒体流建立NAT内网穿透服务和信令服务。
在本实施例中,使用对等连接属于p2p传输,数据传送不经过服务器,而传送端和接收可能都没有独立的ip地址,无法直接实现p2p通讯,因此需要使用NAT穿透功能。搭建turnserver穿透服务,用于实现NAT内网穿透,webRTC对等网络创建时,设定turnserver的ip地址和端口号,客户端建立监听器,监听ice候选消息,并通过websocket连接将sdp消息发送给信令服务器,信令服务器再将sdp消息广播给聊天室内的其它接收端,从而实现各个接收端的通讯。示例性的,通过以下程序执行:
如果发送端或接收端没有独立的ip地址,无法直接进行p2p对等连接直接通讯,这就需要NAT内网穿透,WebRTC已内置了NAT内网穿透的实现方案,但需要搭建信令服务与NAT内网穿透服务两个服务。NAT内网穿透采用开源的turnserver服务,信令服务则采用Node.js搭建WebSocket服务,用于接收和广播ice候选消息。
步骤240、将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中。
步骤250、通过SDP协议调整所述媒体流的传输质量。
在本实施例中,SDP(Session Description Protocol,会话协议)协议主要用于两个会话实体之间的媒体协商。摄像头视频流和屏幕捕获视频流在通过画中画显示时,内层的人像视频是以小窗口形式展示,虽然在展示时进行了缩放,但传输的原始视频数据并未减少,同时传输两路视频对带宽占用较大,严重的会出现掉帧,由于用户可以交换显示,内层的视频可能是屏幕捕获视频,也可能是摄像头,窗口的大小和位置也可以改变,因此需要使用SDP协议动态设定两路视频的参数,SDP协议可以设定视频的编码格式、码率、视频的宽高尺寸等信息,设定编码格式为mpeg4,按比例降低人像视频的宽高尺寸,默认设定人像视频的宽度为屏幕视频的四分之一,高度按比例缩放不产生拉伸问题,缩放后,人像视频的传输大小大幅压缩。
步骤260、将所述媒体流通过预设通道传输到接收端。
步骤270、控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流。
在替代实施例中,步骤270之后还包括:
步骤275:控制所述接收端解析所述媒体流获取所述摄像头视频流对应的第一音频和所述屏幕捕获视频流对应的第二音频。
在替代实施中,接收端获取到的MediaStream媒体流对像中包含了两个视频和两个音频共4个轨道,通过getVideoTracks和getAudioTracks取出4个轨道,然后创建两个新的MediaStream对象,并使用addTrack添加轨道,组装完成后,在接收端还原了发送端的两个MediaStream对象。
步骤280、控制所述接收端根据所述摄像头视频流进行背景消除。
在替代实施例中,步骤280之后还包括:
步骤285:控制所述接收端对所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行渲染。
在替代实施中,video元素播放视频时,不支持对视频画面做二次处理,因此需要使用canvas画布来处理图像,使用计时器监听视频的播放,针对每一帧视频图像进行二次处理。
首先获取到视频的宽度和高度,按照原始视频的宽高比例缩放视频,将原始视频单帧数据复制到一个隐藏的canvas的图形上下文对象中,此处需要用到双canvas渲染,首先建立一个隐藏的canvas对象,调用drawImage()方法绘制当前的视频帧,然后调用getImageData()方法获取单帧的图像rgba数组,每4个字节表示一个像素点,为了便于后续处理,使用循环将rgba数组转换成行-列-像素结构的三维数组,
对rgba数组进行逐行扫描。需要经过两次扫描过程。第一次扫描为采样扫描,是为了找出绿幕的背景颜色,绿幕是单色的背景,其颜色值不固定,从左上角开始采样扫描,计算每个像素点的rgb值与前一个像素点的rgb值的差值,如果大于设定的阈值就停止扫描,并对已扫描过的像素点的rgb值取平均值,做为绿幕的背景颜色。
第二次扫描实现消除背景中与背景颜色相近的像素点,具体方法为纵向扫描方式为从上到下逐行扫描,横向扫描方式为从两端到中间扫描,即从每一行的最左和最右开始,先从右到右逐像素扫描,当像素值与绿幕背景色相近时,标记删除此像素(将颜色值的alpha透明度改为0),当像素值与绿幕背景色差值超过阈值时,停止左侧扫描,再从右侧开始从右向左扫描,当像素值与绿幕背景色相近时,标记删除此像素(将颜色值的alpha透明度改为0),当像素值与绿幕背景色差值超过阈值时,停止右侧扫描,进入下一行,重复此过程,直到扫描完所有像素。人像视频的每一帧经过绿幕消除算法处理后,绘制在新的canvas对象中,将此canvas对象叠加在屏幕捕获视频的video容器之上,从而实现画中画显示效果。
步骤290、控制所述接收端将所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行显示。
在本实施例中,接收端获取到屏幕捕获视频和人像视频后,需要进行叠加显示为画中画效果,为了提升显示效果,通过绿幕消除的算法对人像视频的背景区域进行消除,使人像的背景区域完全透明。
本发明实施例公开了一种实现双视频流同步显示的方法,该方法包括:判断所述本地浏览器种类;根据所述本地浏览器种类使用对应屏幕捕获视频流的捕获工具;获取摄像头视频流和屏幕捕获视频流;根据所述媒体流建立NAT内网穿透服务和信令服务;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;通过SDP协议调整所述媒体流的传输质量;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流;控制所述接收端根据所述摄像头视频流进行背景消除;控制所述接收端将所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行显示。本发明实施例公开的一种实现双视频流同步显示的方法,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
实施例三
本发明实施例所实现双视频流同步显示的装置可以实行本发明任意实施例所提供的实现双视频流同步显示的方法,具备执行方法相应的功能模块和有益效果。图3是本发明实施例中的一种实现双视频流同步显示的装置300的结构示意图。参照图3,本发明实施例提供的实现双视频流同步显示的装置300具体可以包括:
获取模块310,用于获取摄像头视频流和屏幕捕获视频流;
整合模块320,用于将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
发送模块330,用于将所述媒体流通过预设通道传输到接收端;
显示模块340,用于控制所述接收端解析所述媒体流并进行显示。
进一步的,所述获取摄像头视频流和屏幕捕获视频流之前还包括:
判断所述本地浏览器种类;
根据所述本地浏览器种类使用对应屏幕捕获视频流的捕获工具。
进一步的,所述将所述媒体流通过预设通道传输到接收端之前还包括:
根据所述媒体流建立NAT内网穿透服务和信令服务。
进一步的,所述将所述媒体流通过预设通道传输到接收端之后还包括:
通过SDP协议调整所述媒体流的传输质量。
进一步的,所述控制所述接收端解析所述媒体流并进行显示包括:
控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流;
控制所述接收端根据所述摄像头视频流进行背景消除;
控制所述接收端将所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行显示。
进一步的,所述控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流之后还包括:
控制所述接收端解析所述媒体流获取所述摄像头视频流对应的第一音频和所述屏幕捕获视频流对应的第二音频。
进一步的,所述控制所述接收端根据所述摄像头视频流进行背景消除之后还包括:控制所述接收端对所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行渲染。
本发明实施例公开了一种实现双视频流同步显示的装置,该装置包括:获取模块,用于获取摄像头视频流和屏幕捕获视频流;整合模块,用于将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;发送模块,用于将所述媒体流通过预设通道传输到接收端;显示模块,用于控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的方法,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
实施例四
图4为本发明实施例提供的一种计算机服务器的结构示意图,如图4所示,该计算机服务器包括存储器410、处理器420,计算机服务器中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;服务器中的存储器410、处理器420可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的实现双视频流同步显示的方法对应的程序指令/模块(例如,实现双视频流同步显示的装置300中获取模块310、整合模块320、发送模块330和显示模块340)处理器420通过运行存储在存储器410中的软件程序、指令以及模块,从而执行服务器/终端/服务器的各种功能应用以及数据处理,即实现上述的实现双视频流同步显示的方法。
其中,处理器420用于运行存储在存储器410中的计算机程序,实现如下步骤:
获取摄像头视频流和屏幕捕获视频流;
将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
将所述媒体流通过预设通道传输到接收端;
控制所述接收端解析所述媒体流并进行显示。
在其中一个实施例中,本发明实施例所提供的一种计算机服务器,其计算机程序不限于如上的方法操作,还可以执行本发明任意实施例所提供的实现双视频流同步显示的方法中的相关操作。
存储器410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至服务器/终端/服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例公开了一种实现双视频流同步显示的设备,用于执行以下方法:获取摄像头视频流和屏幕捕获视频流;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的设备,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种实现双视频流同步显示的方法,该方法包括:
获取摄像头视频流和屏幕捕获视频流;
将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
将所述媒体流通过预设通道传输到接收端;
控制所述接收端解析所述媒体流并进行显示。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的一种实现双视频流同步显示的方法中的相关操作。
本发明实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
存储介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或终端上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本发明实施例公开了一种实现双视频流同步显示的存储介质,用于执行以下方法:获取摄像头视频流和屏幕捕获视频流;将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;将所述媒体流通过预设通道传输到接收端;控制所述接收端解析所述媒体流并进行显示。本发明实施例公开的一种实现双视频流同步显示的存储介质,通过发送端设备基于WebRTC实现屏幕捕获与摄像头视频混流传输,并控制接收端分离轨道和视频叠加显示,解决了现有技术中混合两个视频需要服务器进行混流和中转的问题,实现了提升视频传输速度和质量,解放了服务器资源并且允许双向传输的效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种实现双视频流同步显示的方法,其特征在于,包括:
获取摄像头视频流和屏幕捕获视频流;
将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
将所述媒体流通过预设通道传输到接收端;
控制所述接收端解析所述媒体流并进行显示。
2.根据权利要求1中所述的一种实现双视频流同步显示的方法,其特征在于,所述获取摄像头视频流和屏幕捕获视频流之前还包括:
判断所述本地浏览器种类;
根据所述本地浏览器种类使用对应屏幕捕获视频流的捕获工具。
3.根据权利要求1中所述的一种实现双视频流同步显示的方法,其特征在于,所述将所述媒体流通过预设通道传输到接收端之前还包括:
根据所述媒体流建立NAT内网穿透服务和信令服务。
4.根据权利要求1中所述的一种实现双视频流同步显示的方法,其特征在于,所述将所述媒体流通过预设通道传输到接收端之后还包括:
通过SDP协议调整所述媒体流的传输质量。
5.根据权利要求1中所述的一种实现双视频流同步显示的方法,其特征在于,所述控制所述接收端解析所述媒体流并进行显示包括:
控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流;
控制所述接收端根据所述摄像头视频流进行背景消除;
控制所述接收端将所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行显示。
6.根据权利要求5中所述的一种实现双视频流同步显示的方法,其特征在于,所述控制所述接收端解析所述媒体流获得所述摄像头视频流和所述屏幕捕获视频流之后还包括:
控制所述接收端解析所述媒体流获取所述摄像头视频流对应的第一音频和所述屏幕捕获视频流对应的第二音频。
7.根据权利要求5中所述的一种实现双视频流同步显示的方法,其特征在于,所述控制所述接收端根据所述摄像头视频流进行背景消除之后还包括:控制所述接收端对所述背景消除后的所述摄像头视频流和所述屏幕捕获视频流进行渲染。
8.一种实现双视频流同步显示的装置,其特征在于,包括:
获取模块,用于获取摄像头视频流和屏幕捕获视频流;
整合模块,用于将所述摄像头视频流和所述屏幕捕获视频流整合到一个媒体流中;
发送模块,用于将所述媒体流通过预设通道传输到接收端;
显示模块,用于控制所述接收端解析所述媒体流并进行显示。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的实现双视频流同步显示的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括程序指令,其特征在于,该程序指令被处理器执行时实现如权利要求1-7中任一所述的实现双视频流同步显示的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838868.4A CN111970473A (zh) | 2020-08-19 | 2020-08-19 | 实现双视频流同步显示的方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010838868.4A CN111970473A (zh) | 2020-08-19 | 2020-08-19 | 实现双视频流同步显示的方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111970473A true CN111970473A (zh) | 2020-11-20 |
Family
ID=73387898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010838868.4A Pending CN111970473A (zh) | 2020-08-19 | 2020-08-19 | 实现双视频流同步显示的方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970473A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422882A (zh) * | 2020-12-02 | 2021-02-26 | 深圳市前海手绘科技文化有限公司 | 一种为视频会议系统提供视频源的方法与装置 |
CN112738056A (zh) * | 2020-12-24 | 2021-04-30 | 北京飞讯数码科技有限公司 | 编解码方法及系统 |
CN113347391A (zh) * | 2021-05-31 | 2021-09-03 | 北京字跳网络技术有限公司 | 一种数据传输方法、数据传输中断方法及装置 |
CN113766255A (zh) * | 2021-01-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 视频流合并方法、装置、电子设备及计算机介质 |
CN114553844A (zh) * | 2022-03-09 | 2022-05-27 | 润芯微科技(江苏)有限公司 | 一种视频时屏幕共享的方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100253850A1 (en) * | 2009-04-03 | 2010-10-07 | Ej4, Llc | Video presentation system |
US20130147900A1 (en) * | 2011-12-07 | 2013-06-13 | Reginald Weiser | Systems and methods for providing video conferencing services via an ethernet adapter |
CN105721217A (zh) * | 2016-03-01 | 2016-06-29 | 中山大学 | 基于Web的音频通信质量改进方法 |
WO2016150235A1 (zh) * | 2015-03-26 | 2016-09-29 | 中兴通讯股份有限公司 | 一种WebRTC P2P音视频通话的方法及装置 |
WO2017072534A2 (en) * | 2015-10-30 | 2017-05-04 | 2Mee Ltd | Communication system and method |
CN107085868A (zh) * | 2017-04-27 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 图像绘制方法及装置 |
CN108959605A (zh) * | 2018-07-13 | 2018-12-07 | 彩讯科技股份有限公司 | 用于网页的截图方法、装置、计算机设备和存储介质 |
CN109862301A (zh) * | 2019-02-25 | 2019-06-07 | 北京云中融信网络科技有限公司 | 屏幕视频共享方法、装置及电子设备 |
CN110476431A (zh) * | 2017-03-30 | 2019-11-19 | 微软技术许可有限责任公司 | 低时延移动设备视听流传输 |
-
2020
- 2020-08-19 CN CN202010838868.4A patent/CN111970473A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100253850A1 (en) * | 2009-04-03 | 2010-10-07 | Ej4, Llc | Video presentation system |
US20130147900A1 (en) * | 2011-12-07 | 2013-06-13 | Reginald Weiser | Systems and methods for providing video conferencing services via an ethernet adapter |
WO2016150235A1 (zh) * | 2015-03-26 | 2016-09-29 | 中兴通讯股份有限公司 | 一种WebRTC P2P音视频通话的方法及装置 |
WO2017072534A2 (en) * | 2015-10-30 | 2017-05-04 | 2Mee Ltd | Communication system and method |
CN105721217A (zh) * | 2016-03-01 | 2016-06-29 | 中山大学 | 基于Web的音频通信质量改进方法 |
CN110476431A (zh) * | 2017-03-30 | 2019-11-19 | 微软技术许可有限责任公司 | 低时延移动设备视听流传输 |
CN107085868A (zh) * | 2017-04-27 | 2017-08-22 | 腾讯科技(深圳)有限公司 | 图像绘制方法及装置 |
CN108959605A (zh) * | 2018-07-13 | 2018-12-07 | 彩讯科技股份有限公司 | 用于网页的截图方法、装置、计算机设备和存储介质 |
CN109862301A (zh) * | 2019-02-25 | 2019-06-07 | 北京云中融信网络科技有限公司 | 屏幕视频共享方法、装置及电子设备 |
Non-Patent Citations (3)
Title |
---|
"红领巾": "摆脱客户端?网页发起直播势在必行!", 《HTTPS://SEGMENTFAULT.COM/A/1190000019471730》 * |
崔健: "基于WebRTC的P2P视频会议系统设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)》 * |
李庆建: "基于WebRTC的远程教育系统的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112422882A (zh) * | 2020-12-02 | 2021-02-26 | 深圳市前海手绘科技文化有限公司 | 一种为视频会议系统提供视频源的方法与装置 |
WO2022116516A1 (zh) * | 2020-12-02 | 2022-06-09 | 深圳市前海手绘科技文化有限公司 | 一种为视频会议系统提供视频源的方法与装置 |
CN112738056A (zh) * | 2020-12-24 | 2021-04-30 | 北京飞讯数码科技有限公司 | 编解码方法及系统 |
CN112738056B (zh) * | 2020-12-24 | 2023-05-05 | 北京飞讯数码科技有限公司 | 编解码方法及系统 |
CN113766255A (zh) * | 2021-01-19 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 视频流合并方法、装置、电子设备及计算机介质 |
CN113347391A (zh) * | 2021-05-31 | 2021-09-03 | 北京字跳网络技术有限公司 | 一种数据传输方法、数据传输中断方法及装置 |
CN113347391B (zh) * | 2021-05-31 | 2022-12-06 | 北京字跳网络技术有限公司 | 一种数据传输方法、数据传输中断方法及装置 |
CN114553844A (zh) * | 2022-03-09 | 2022-05-27 | 润芯微科技(江苏)有限公司 | 一种视频时屏幕共享的方法 |
CN114553844B (zh) * | 2022-03-09 | 2022-09-06 | 润芯微科技(江苏)有限公司 | 一种视频时屏幕共享的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970473A (zh) | 实现双视频流同步显示的方法、装置、设备及存储介质 | |
EP3562163B1 (en) | Audio-video synthesis method and system | |
EP2863632B1 (en) | System and method for real-time adaptation of a conferencing system to current conditions of a conference session | |
US8144182B2 (en) | Real time video communications system | |
US8902244B2 (en) | System and method for providing enhanced graphics in a video environment | |
US9143725B2 (en) | System and method for providing enhanced graphics in a video environment | |
EP2569939B1 (en) | Systems and methods for scalable composition of media streams for real-time multimedia communication | |
US9124765B2 (en) | Method and apparatus for performing a video conference | |
EP2625856B1 (en) | Systems and methods for error resilient scheme for low latency h.264 video coding | |
US9035991B2 (en) | Collaboration system and method | |
US20130286156A1 (en) | Adaptive video communication channel | |
CN114600468B (zh) | 将复合视频流中的视频流与元数据组合的组合器系统、接收器设备、计算机实现的方法和计算机可读介质 | |
US9961303B2 (en) | Video conference virtual endpoints | |
CN113395477B (zh) | 基于视频会议的共享方法、装置、电子设备和计算机介质 | |
CN113194278A (zh) | 一种会议控制方法、装置及计算机可读存储介质 | |
KR101067952B1 (ko) | 트래픽이 절감된 화상통신 운영 시스템 및 방법 | |
CN111629219A (zh) | 一种多方互动并直播的控制系统及控制方法 | |
CN117156096A (zh) | 一种视频会议展示方法、系统、装置、设备及介质 | |
CN117097864A (zh) | 视频会议直播的数据交互方法、装置、设备和存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201120 |
|
RJ01 | Rejection of invention patent application after publication |