CN108616760B - 一种基于浏览器的直播方法、服务器、主播端和用户端 - Google Patents

一种基于浏览器的直播方法、服务器、主播端和用户端 Download PDF

Info

Publication number
CN108616760B
CN108616760B CN201611126093.8A CN201611126093A CN108616760B CN 108616760 B CN108616760 B CN 108616760B CN 201611126093 A CN201611126093 A CN 201611126093A CN 108616760 B CN108616760 B CN 108616760B
Authority
CN
China
Prior art keywords
connection information
server
user side
live broadcast
request
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
Application number
CN201611126093.8A
Other languages
English (en)
Other versions
CN108616760A (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.)
Shaanxi Renhui Youpin Supply Chain Co.,Ltd.
Original Assignee
Wuhan Douyu 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201611126093.8A priority Critical patent/CN108616760B/zh
Publication of CN108616760A publication Critical patent/CN108616760A/zh
Application granted granted Critical
Publication of CN108616760B publication Critical patent/CN108616760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6402Address allocation for clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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/8355Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed
    • H04N21/83555Generation of protective data, e.g. certificates involving usage data, e.g. number of copies or viewings allowed using a structured language for describing usage rules of the content, e.g. REL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种基于浏览器的直播方法,该方法包括:获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;将所述第一连接信息发送至用户端;获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息。本发明提供基于浏览器的直播方法,解决了现有技术中直播方法中存在的实现复杂、并且占用大量服务器带宽的技术问题,实现了简单的直播方式,并提高了直播效率的技术效果。

Description

一种基于浏览器的直播方法、服务器、主播端和用户端
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于浏览器的直播方法、服务器、主播端和用户端。
背景技术
随着互联网行业的发展,网络直播由于其方便快捷和互动性强等特点逐渐成为一种广泛流行的娱乐方式。
现有的直播方法中,通常的流程是在主播端采集视频并对音视频进行编码、压缩等处理后,将采集的音视频推送到服务器,然后由服务器进行截屏、录制音视频和实时转码等操作,再将音视频分发给用户端,用户端再通过解码等操作观看或收听。
然而,由于现有的直播方式中,采集的直播流需要先在主播端进行处理,然后通过服务器的进一步处理,才能发送给用户端,这种方式实现较为复杂,并且还需要通过服务器的截屏、录制和实时转码等操作,这样势必会占用大量的服务器带宽。
发明内容
本发明提供一种基于浏览器的直播方法及系统,用以解决现有技术中直播方法中存在的实现复杂、并且占用大量服务器带宽的技术问题。
第一方面,本发明实施例提供了一种基于浏览器的直播方法,包括:获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;将所述第一连接信息发送至用户端;获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;将所述第二连接信息发送至所述主播端,以使所述主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
可选的,在获取主播端发送的第一连接信息之前,还包括:获取所述用户端的请求观看直播信息;将所述请求观看直播信息发送至所述主播端。
基于同样的发明构思,本发明实施例还提供了另一种基于浏览器的直播方法,包括:获取直播流;发送第一连接信息至服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;基于所述点对点直播连接,将所述直播流传输至所述用户端。
可选的,在发送第一连接信息至所述服务器之前,还包括:接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端。
可选的,所述第一本地会话描述符包括:所述直播流传输的支持格式和类型。
基于同样的发明构思,本发明实施例还提供了又一种基于浏览器的直播方法,包括:接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;接收所述主播端基于所述点对点直播连接发送的直播流。
基于同样的发明构思,本发明实施例还提供了一种服务器,包括:第一获取模块,用于获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;第一发送模块,用于将所述第一连接信息发送至用户端;第二获取模块,用于获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;第二发送模块,用于将所述第二连接信息发送至所述主播端,以使所述在主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
基于同样的发明构思,本发明实施例还提供了一种基于浏览器的主播端,包括:第三获取模块,用于获取直播流;第三发送模块,用于发送第一连接信息至服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;第一接收模块,用于接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和第二网络地址信息;第一处理模块,用于将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;传输模块,用于基于所述点对点直播连接,将所述直播流传输至所述用户端。
可选的,所述主播端还包括:第二接收模块,用于接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端。
基于同样的发明构思,本发明实施例还提供了一种基于浏览器的用户端,包括:第三接收模块,用于接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;第二处理模块,用于基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;第四发送模块,用于将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端;第三处理模块,用于将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;第四接收模块,用于接收所述主播端基于所述点对点直播连接发送的直播流。
1、在本发明实施例的技术方案中,服务器将主播端的第一连接信息发送至用户端,而第一连接信息中包含了第一本地会话描述符和主播端的第一网络地址信息,则用户端接收到了第一本地会话描述符和主播端的第一网络地址信息,然后用户端基于收到的第一连接信息设置第二连接信息,又通过服务器将第二连接信息发送至所述主播端,第二连接信息包含了第一本地会话描述符和用户端的第二网络地址信息,主播端接收到上述信息后,所述在主播端与所述用户端之间就建立了基于浏览器的点对点直播连接。由于在上述过程中,服务器只需要传递通信双方(主播端和用户端)之间的连接信息,而这些连接信息所占用的带宽较少,所以相对于与现有技术中需要服务器对直播流进行截屏、录制和实时转码等操作而言,本发明中在很大程序上减少了服务器在直播方法中所占用的带宽。
2、在本发明实施例的技术方案中,主播端通过服务器将第一连接信息发送至用户端,并且接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,其中,第一连接信息和第二连接信息中分别包含了建立基于浏览器的点对点直播连接的必要信息,然后主播端将所述第二连接信息设置为主播端的远程连接信息,这样所述主播端与所述用户端之间就建立了点对点直播连接,从而主播端可以直接将直播流传输至用户端,所以相对于与现有技术而言,本发明中服务器只需要传递通信双方(主播端和用户端)之间的连接信息,而这些连接信息所占用的带宽较少,因此减少了服务器在直播方法中所占用的带宽,进一步地,用户端与主播端之间通过传递第一连接信息和第二连接信息后,可以进行点对点的直播,减少了直播方法实现的复杂性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于浏览器的直播方法的流程图;
图2为本发明实施例中另一种基于浏览器的直播方法的流程图;
图3为本发明实施例中又一种基于浏览器的直播方法的流程图;
图4为本发明实施例中基于浏览器的直播方法的具体逻辑流程图;
图5为本发明实施例中服务器的逻辑结构示意图;
图6为本发明实施例中主播端的逻辑结构示意图。
图7为本发明实施例中用户端的逻辑结构示意图。
具体实施方式
本发明实施例通过提供一种基于浏览器的直播方法、服务器、主播端和用户端,解决了现有技术中直播方法中存在的实现复杂、并且占用大量服务器带宽的技术问题,实现了简单的直播方式,并提高了直播效率的技术效果。
本发明实施例中的技术方案,总体思路如下:主播端首先获取直播流,然后发送第一连接信息至服务器,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;并通过服务器将所述第一连接信息发送至用户端,主播端然后接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;然后主播端将所述第二连接信息设置为主播端的远程连接信息,这样所述主播端与所述用户端之间就建立了基于浏览器的点对点直播连接;最后基于所述点对点直播连接,主播端可以直接将所述直播流传输至所述用户端。
上述方法中,由于服务器仅仅传递的是用户端和主播端之间的连接信息,解决了传统直播方法中占用大量服务器带宽的问题,并且用户端和主播端通过服务器传递连接信息后,双方可以建立点对点直播连接,这样主播端可以直接将直播流传输至所述用户端,在减少服务器带宽的同时,进一步避免了直播方法的复杂性,实现了简单的直播方式,并提高了直播的效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种基于浏览器的直播方法,应用于服务器,请参考图1,所述方法包括:
S101:获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;
S102:将所述第一连接信息发送至用户端;
S103:获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;
S104:将所述第二连接信息发送至所述主播端,以使所述主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
需要说明的是WebSocket是HTML5一种新的协议,它可以实现主播端、用户端浏览器与服务器之间的全双工通信(full-duplex),在本发明实施例提供的一种基于浏览器的直播方法中,服务器分别与主播端和用户端建立基于WebSocket的双向通信连接,这样服务器可以接收来自主播端或用户端的连接信息,也可以转发或发送上述连接信息。
下面,结合1详细介绍本发明实施例提供的一种基于浏览器的直播方法的具体实现步骤:
首先,执行步骤S101,服务器首先获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息。
在本发明实施例中,为了使主播端与用户端建立点对点直播连接,需要服务器传递第一连接信息和第二连接信息,主播端的第一连接信息主要第一本地会话描述符和主播端的第一网络地址信息,其中第一本地会话描述的作用是约定通信双方的媒体支持格式和类型,从而协调通信,而第一网络地址信息,是在为了在建立点对点直播连接,让对方知道建立连接的对方的网络地址,所述第一网络地址信息包括公网的IP地址,通讯端口等信息,当然,在具体的实施过程中,本领域技术人员可以根据通信双方的实际需求,而具体设置第一连接信息的具体内容,对此,本发明不做其他具体限制。
接着,执行步骤S102,服务器将所述第一连接信息发送至用户端,服务器在接收到主播端发送的第一连接信息后,会将接收到的第一连接信息发送给用户端,在该步骤中,服务器实现了将主播端的第一连接信息发送给用户端。
然后,执行步骤S103,服务器获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息。
在本发明实施例中,用户端接收到服务器发送的第一连接信息后,会根据第一连接信息而设置用户端的第二连接信息,以此与主播端建立相应的连接,同理,第二连接信息包括用户端的第二会话描述符和第二网络地址信息,上述信息与第一连接信息类似,在此不再赘述,在该步骤中,服务器接收到了用户端发送的第二连接信息。
最后执行步骤S104,服务器将所述第二连接信息发送至所述主播端,以使所述主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
由上述描述可知,服务器仅仅传递的是通信双方(主播端和用户端)之间的第一连接信息和第二连接信息,而上述第一连接信息和第二连接信息所占用的带宽较少,所以相对于与现有技术中,需要服务器对直播流进行截屏、录制和实时转码等操作而言,本发明中在很大程序上减少了服务器在直播方法中所占用的带宽。
可选的,本发明实施例一提供的一种基于浏览器的直播方法,还包括:获取所述用户端的请求观看直播信息;将所述请求观看直播信息发送至所述主播端。
在本发明实施例中,服务器在发送主播端的第一连接信息之前,可以根据用户端的请求观看直播信息,确定第一连接信息的发送对象,通过服务器会将用户端的请求观看直播信息发送给主播端。当然了,服务器还会接收主播端的创建直播信息,并对创建直播信息进行相关处理,一般而言,创建直播信息包括需要创建的第一房间号和创始人进程ID。
在具体的实现中,可以通过主播端浏览器的JavaScript调用WebSocket对象的send方法发送一个create的请求将第一房间号传递给服务器,服务器按照模式匹配的方式从请求中的room字段中获取到第一房间号,然后以第一房间号为索引通过调用Erlang标准库提供的ets:match_object函数通过查表的方式查找数据库中是否存在相同的房间号,如果第一房间号存在,说明主播已经开始直播,房间已经存在了。这个阶段,服务器会拒绝创建房间的请求,并返回房间存在的错误信息。如果主播端所请求创建的房间不存在,那么服务器就会初始化房间信息为一个Erlang的记录并存入会话数据库,描述该房间信息的Erlang记录为
-record(session,{room::integer(),
server::pid(),
audiences::[pid()]}).其中room为房间的数字编号,sever为发起人进程的ID,audiences为观众的进程ID列表。在这个阶段,主播端浏览器就与服务器建立了双向连接,并且房间的创始人进程ID和房间号存入了数据库。
具体来说,与主播端相类似的,服务器还会获取用户端的请求观看直播信息,所述进入直播室请求包括第二房间号,此时,服务器会在数据库中查询是否存在与所述第二房间号相匹配的第三记录;如果存在相应的记录,则表明该第二房间号已经创建,即已经开始直播了,则接受所述进入直播室请求;如果不存在相应的记录,则表明第二房间号还未被创建,直播还未开始,则拒绝所述创建直播室请求。可选地,所述进入直播室请求还包括用户名,用以验证用户是否存在。
在具体的实施过程中,可以通过服务器端浏览器中运行的JavaScript代码获取用户端的请求观看直播信息,然后通过调用RTCPeerConnection对象的构造函数创建一个RTCPeerConnection对象。此时,用户端浏览器的JavaScript通过WebSocket与服务器建立连接,可以将用户请求的房间号连同用户名一起作为一个enter的请求传递给服务器,服务器会通过请求的room字段查找数据库中的session记录(在Erlang记录中包含了房间的创始人和观众信息),如果记录不存在,那么说明了用户请求观看的房间还未进入直播状态,此时服务器端可以向对应的用户端进程传递一个“当前房间不存在”的错误信息,并拒绝该观看直播请求。由于处于直播中的房间在数据库中的记录是存在且唯一的,因此服务器一旦在数据库中查找到了请求房间的记录,服务器则会接受进入直播室请求,并会继续处理其他用户进入直播室请求,服务器会通过模式匹配的方式,匹配client这一字段从enter请求的client字段中解析出观众的用户名,由于当前房间已经加入的观众的信息会被存储在session记录的audiences字段,因此服务器端代码可以通过遍历的方式来通过观众端传递的用户名来遍历来audiences字段,一旦这一字段中无法找到对应的用户名,那么服务器就可以知道当前请求加入直播间的观众不在直播间的观众列表中了,因此当前的用户是新加入房间的,在通过房间和用户名的检测之后,服务器端会传递一个STATUS_ROOM_ENTERED的消息给发起人并将此观众的进程ID存在房间的audiences列表。这个阶段,用户的用户名和对应的进程ID也被加入到了房间的数据库中,而且更为重要的是,主播端浏览器JavaScript代码通过服务器端返回的EVENT_CLIENT_ENTER消息就可以知到新用户观看直播的请求。
基于同一发明构思,从主播端的角度,本发明提供了另一实施例,详见实施例二。
实施例二
本实施例提供了一种基于浏览器的直播方法,如图2所示,所述方法包括:
S201:获取直播流;
S202:发送第一连接信息至服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
S203:接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
S204:将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;
S205:基于所述点对点直播连接,将所述直播流传输至所述用户端。
需要说明的是WebRTC(Web Real-Time Communication),即“源自网页即时通信”,是一个支持浏览器进行实时语音、视频对话的开源协议。WebRTC支持目前的主流浏览器,并且基于SRTP和UDP,即便在网络信号一般的情况下也具备较好的稳定性。本发明实施例中提供的一种基于浏览器的直播方法,WebRTC可以支持用户端端浏览器、主播端浏览器进行直播。
下面,结合图2详细介绍本发明实施例提供的基于浏览器的直播方法的具体实现步骤:
首先,执行步骤S201,主播端获取直播流。
在本发明实施例中,主播端作为直播的发起者,首先会获取直播流,当然了,在获取直播流之后,主播端会向服务器发送创建直播信息,这与实施例一种的实现过程类似,在此不再赘述。
在具体的实施过程中,可以通过主播端浏览器的JavaScript调用HTML5的Navigator.getUserMedia()API请求访问本地音视频设备。在获得了访问用户的音视频设备的权限之后,主播端浏览器的JavaScript代码会将流媒体显示在直播的HTML页面,被video标签上并且将流媒体保存在mediaStream的JavaScript变量上,以便后续使用。此时主播端已经获取了本机音视频设备采集的视频和音频。
接着,执行步骤S202,发送第一连接信息至所述服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息。
在本发明实施例中,发送的第一连接信息包括第一本地会话描述符和第一网络地址信息,第一本地会话符和第一网络地址信息的内容在实施一中已作出相关说明,下面对具体的实现过程进行说明。
在具体的实施过程中,可以通过主播端浏览器设置RTCPeerConnection对象来设置第一本地描述符,主播端浏览器的JavaScript代码首先创建一个RTCPeerConnection对象,然后为创建的RTCPeerConnection对象加入流媒体和相关的事件绑定,然后通过RTCPeerConnection的createOffer方法创建第一会话描述符(Session Description),当所述第一会话描述符创建完成后,主播端浏览器的JavaScript代码调用RTCPeerConnection的setLocalDescription()成员函数将此会话描述符设置成该RTCPeerConnection对象的本地描述符。关于第一网络地址信息,一般是通过获取ICE候选而得到的,ICE候选是指InteractiveConnectivity Establishment(交互式连通建立方式)信息,其中ICE候选中,包含了主播端的网络地址信息,例如公网的IP地址,通讯端口等信息,通过ICE候选,通信的双方可以通过网络地址信息建立通信通道,使得媒体流在通信双方顺利传输。而主播端浏览器在创建RTCPeerConnection的时候,通过参数指定了相应的STUN/TURN服务器,因此,通过RTCPeerConnection的onicecandidate回调,从而获取到STUN/TURN服务器返回的ICE候选,
接着,执行步骤S203,接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息。
在本发明实施例中,用户端基于第一连接信息设置的第二连接信息,是作为与第一连接信息相对应的信息。其设置过程与第一连接信息相类似,在此不再赘述。
接着,执行步骤S204,将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接。
在具体的实施过程中,可以通过主播端创建的RTCPeerConnection对象的addIceCandidate方法将用户端的第二连接信息加入到此RTCPeerConnection中,从而将第二连接信息设置成主播端的第一远程连接信息。
最后,执行步骤S205,基于所述点对点直播连接,将所述直播流传输至所述用户端。
在本发明实施例中,由于主播端在接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,并将第二连接信息设置为主播端的第一远程连接信息之后,主播端与用户端建立了基于浏览器的点对点的直播连接,即点与点之间的通讯通道已经建立,主播端与用户端之间也可以通过各自的浏览器直接进行数据交换。
在具体的实施过程中,用户端的onaddstream会在主播端的流媒体就绪时被调用,通过这个回调的EVENT对象获取到了流之后,将流加入用户端的video HTML标签,此时观众端就可以观看到主播端的音视频信息了,同时也可以通过DataChannel,进行交互文字等信息,进行实时交流。而在这个阶段,主播端和用户端通信就不需要通过服务器了,而是通过点对点的方式进行直接直播通信。
由于通过上述步骤,用户端与主播端之间就建立了点对点直播连接,从而用户端与主播端之间就可以进行点对点的直接通信,相对于与现有技术而言,本发明中服务器只需要接收和发送用户端与主播端之间的连接信息,而这些信息占用带宽量很少,因此大大减少了服务器在直播方法中所占用的带宽,进一步地,用户端与主播端之间可以进行点对点的直接通信,主播端可以直接将直播流传输至用户端,因而避免了直播方法实现的复杂性。
可选的,在发送第一连接信息至所述服务器之前,还包括:接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端。
可选的,所述第一本地会话描述符,包括:所述直播流传输的支持格式和类型。当然,在具体的实施过程中,本领域技术人员可以根据通信双方的实际需求,而具体设置第一连接信息的具体内容,对此,本发明不做其他具体限制。
基于同一发明构思,从用户端的角度,本发明提供了另一实施例,详见实施例三。
实施例三
本实施例提供了一种基于浏览器的直播方法,如图3所示,所述方法包括:
S301:接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
S302:基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
S303:将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端;
S304:将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;
S305:接收所述主播端基于所述点对点直播连接发送的直播流。
由于用户端的数据处理过程与实施例二中主播端的数据处理过程相类似,因此,在此不再赘述。
在介绍了本实施例提供的方法的详细流程后,为了便于理解本实施例提供的方法的交互过程,下面,将结合图4来介绍本发明提供方法的一交互实例:
S401:主播端获取直播流;
S402:主播端将第一连接信息发送至所述服务器;
S403:服务器发送所述第一连接信息至用户端;
S404:用户端基于所述第一连接信息设置第二连接信息,所述第二连接信息包括第二本地会话描述符和第二网络地址信息;
S405:用户端将所述第一连接信息设置为第二远程连接信息;
S406:用户端将所述第二连接信息发送至服务器;
S407:服务器将所述第二连接信息发送至主播端;
S408:主播端将所述第二连接信息设置为第一远程连接信息;
S409:主播端将所述直播流发送至所述用户端;
S410:用户端接收所述主播端发送的直播流。
基于同一发明构思,本发明提供了一种服务器,详见实施例四。
实施例四
本实施例提供了一种服务器,如图5所示,所述服务器包括:
第一获取模块,用于获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;
第一发送模块,用于将所述第一连接信息发送至用户端;
第二获取模块,用于获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;
第二发送模块,用于将所述第二连接信息发送至所述主播端,以使所述在主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
可选的,所述服务器还包括:
第三获取模块,用于获取所述用户端的请求观看直播信息;
第三发送模块,用于将所述请求观看直播信息发送至所述主播端。
基于同一发明构思,本发明提供了一种主播端,详见实施例五。
实施例五
本实施例提供了一种基于浏览器的主播端,如图6所示,所述主播端包括:
第四获取模块,用于获取直播流;
第四发送模块,用于发送第一连接信息至所述服务器,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
第一接收模块,用于接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和第二网络地址信息;
第一处理模块,用于将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;
传输模块,用于基于所述点对点直播连接,将所述直播流传输至所述用户端。
可选的,所述主播端,还包括:
第二接收模块,用于接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端。
可选的,所述第一本地会话描述符,包括:所述直播流传输的支持格式和类型。
基于同一发明构思,本发明提供了一种基于浏览器的用户端,详见实施例六。
实施例六
本实施例提供了一种基于浏览器的用户端,如图7所示,所述用户端包括:
第三接收模块,用于接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
第二处理模块,用于基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
第四发送模块,用于将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端;
第三处理模块,用于将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;
第四接收模块,用于接收所述主播端基于所述点对点直播连接发送的直播流。
前述图1-图7实施例中的基于浏览器的直播方法的各种变化方式和具体实例同样适用于本实施例的服务器、主播端和用户端,通过前述对基于浏览器的直播方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器、主播端和用户端的实施方法,所以为了说明书的简洁,在此不再详述。
本发明实施例中提供的技术方案,至少具有如下技术效果或优点:
1、在本发明实施例的技术方案中,服务器将主播端的第一连接信息发送至用户端,而第一连接信息中包含了第一本地会话描述符和主播端的第一网络地址信息,则用户端接收到了第一本地会话描述符和主播端的第一网络地址信息,然后用户端基于收到的第一连接信息设置第二连接信息,又通过服务器将第二连接信息发送至所述主播端,第二连接信息包含了第一本地会话描述符和用户端的第二网络地址信息,主播端接收到上述信息后,所述在主播端与所述用户端之间就建立了基于浏览器的点对点直播连接。由于在上述过程中,服务器只需要传递通信双方(主播端和用户端)之间的连接信息,而这些连接信息所占用的带宽较少,所以相对于与现有技术中需要服务器对直播流进行截屏、录制和实时转码等操作而言,本发明中在很大程序上减少了服务器在直播方法中所占用的带宽。
2、在本发明实施例的技术方案中,主播端通过服务器将第一连接信息发送至用户端,并且接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,其中,第一连接信息和第二连接信息中分别包含了建立基于浏览器的点对点直播连接的必要信息,然后主播端将所述第二连接信息设置为主播端的远程连接信息,这样所述主播端与所述用户端之间就建立了点对点直播连接,从而主播端可以直接将直播流传输至用户端,所以相对于与现有技术而言,本发明中服务器只需要传递通信双方(主播端和用户端)之间的连接信息,而这些连接信息所占用的带宽较少,因此减少了服务器在直播方法中所占用的带宽,进一步地,用户端与主播端之间通过传递第一连接信息和第二连接信息后,可以进行点对点的直播,减少了直播方法实现的复杂性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (7)

1.一种基于浏览器的直播方法,其特征在于,应用于服务器,所述方法包括:
获取用户端的请求观看直播信息;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;
通过所述enter的请求的room字段查找数据库中的session记录;其中,如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求;
将所述请求观看直播信息发送至主播端;
获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;
将所述第一连接信息发送至用户端;
获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;
将所述第二连接信息发送至所述主播端,以使所述主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
2.一种基于浏览器的直播方法,其特征在于,应用于主播端,所述方法包括:
获取直播流;
接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;服务器通过所述enter的请求的room字段查找数据库中的session记录;其中,如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求;服务器将所述请求观看直播信息发送至所述主播端;
发送第一连接信息至服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;
基于所述点对点直播连接,将所述直播流传输至所述用户端。
3.如权利要求2所述的方法,其特征在于,所述第一本地会话描述符包括:所述直播流传输的支持格式和类型。
4.一种基于浏览器的直播方法,其特征在于,应用于用户端,所述方法包括:
向服务器发送请求观看直播信息,以使服务器通过一个enter的请求的room字段查找数据库中的session记录;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求,服务器将所述请求观看直播信息发送至主播端;
接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端;
将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;
接收所述主播端基于所述点对点直播连接发送的直播流。
5.一种服务器,其特征在于,包括:
第一获取模块,用于获取用户端的请求观看直播信息;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;通过所述enter的请求的room字段查找数据库中的session记录;其中,如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求;将所述请求观看直播信息发送至主播端;之后还用于获取主播端发送的第一连接信息,所述第一连接信息包括第一本地会话描述符和主播端的第一网络地址信息;
第一发送模块,用于将所述第一连接信息发送至用户端;
第二获取模块,用于获取所述用户端发送的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二会话描述符和用户端的第二网络地址信息;
第二发送模块,用于将所述第二连接信息发送至所述主播端,以使在主播端基于所述第二连接信息与所述用户端建立基于浏览器的点对点直播连接。
6.一种基于浏览器的主播端,其特征在于,包括:
第三获取模块,用于获取直播流;还用于接收服务器发送的来自用户端的请求观看直播信息,以确定与主播端建立连接的用户端;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;服务器通过所述enter的请求的room字段查找数据库中的session记录;其中,如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求;服务器将所述请求观看直播信息发送至所述主播端;
第三发送模块,用于发送第一连接信息至服务器,以使所述服务器将所述第一连接信息发送至用户端,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;
第一接收模块,用于接收所述服务器发送的来自所述用户端的基于所述第一连接信息设置的第二连接信息,所述第二连接信息包括第二本地会话描述符和第二网络地址信息;
第一处理模块,用于将所述第二连接信息设置为主播端的第一远程连接信息,以使所述主播端基于所述第一远程连接信息与所述用户端建立基于浏览器的点对点直播连接;
传输模块,用于基于所述点对点直播连接,将所述直播流传输至所述用户端。
7.一种基于浏览器的用户端,其特征在于,包括:
第三接收模块,用于接收服务器发送的来自主播端的第一连接信息,所述第一连接信息包括第一本地会话描述符和第一网络地址信息;还用于在接收服务器发送的来自主播端的第一连接信息之前,向服务器发送请求观看直播信息,以使服务器通过一个enter的请求的room字段查找数据库中的session记录;其中,所述用户端的浏览器的JavaScript通过WebSocket与服务器建立连接;所述用户端将所述请求观看直播信息对应的房间号连同用户名作为一个enter的请求传递给服务器;如果存在所述room字段对应的session记录,则接受所述用户端进入直播室请求,服务器将所述请求观看直播信息发送至所述主播端;
第二处理模块,用于基于所述第一连接信息设置用户端的第二连接信息,所述第二连接信息包括第二本地会话描述符和用户端的第二网络地址信息;
第四发送模块,用于将所述第二连接信息发送至所述服务器,以使所述服务器将所述第二连接信息发送至所述主播端;
第三处理模块,用于将所述第一连接信息设置为用户端的第二远程连接信息,以使所述用户端基于所述第二远程连接信息与所述主播端建立基于浏览器的点对点直播连接;
第四接收模块,用于接收所述主播端基于所述点对点直播连接发送的直播流。
CN201611126093.8A 2016-12-09 2016-12-09 一种基于浏览器的直播方法、服务器、主播端和用户端 Active CN108616760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611126093.8A CN108616760B (zh) 2016-12-09 2016-12-09 一种基于浏览器的直播方法、服务器、主播端和用户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611126093.8A CN108616760B (zh) 2016-12-09 2016-12-09 一种基于浏览器的直播方法、服务器、主播端和用户端

Publications (2)

Publication Number Publication Date
CN108616760A CN108616760A (zh) 2018-10-02
CN108616760B true CN108616760B (zh) 2021-03-16

Family

ID=63643399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611126093.8A Active CN108616760B (zh) 2016-12-09 2016-12-09 一种基于浏览器的直播方法、服务器、主播端和用户端

Country Status (1)

Country Link
CN (1) CN108616760B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679599A (zh) * 2022-03-24 2022-06-28 上海哔哩哔哩科技有限公司 直播观看方法及装置
CN114827650A (zh) * 2022-04-22 2022-07-29 上海哔哩哔哩科技有限公司 流媒体内容传输、直播及拉取方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001270A1 (fr) * 2010-06-30 2012-01-05 France Telecom Procede et systeme de gestion de sessions de communication
CN104168517A (zh) * 2014-08-04 2014-11-26 广州华多网络科技有限公司 进入直播频道的方法及系统
CN104244108A (zh) * 2014-09-24 2014-12-24 上海网达软件股份有限公司 一种直播方法及系统
CN104253814A (zh) * 2014-09-12 2014-12-31 清华大学 一种流媒体处理方法、服务器及浏览器
CN105407384A (zh) * 2014-09-15 2016-03-16 上海天脉聚源文化传媒有限公司 一种利用二维码标识媒体播放内容的方法、装置及系统
CN106209949A (zh) * 2015-05-07 2016-12-07 北京大学 基于WebRTC的交互式直播方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9552338B2 (en) * 2013-03-11 2017-01-24 Futurewei Technologies, Inc. Mechanisms to compose, execute, save, and retrieve hyperlink pipelines in web browsers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012001270A1 (fr) * 2010-06-30 2012-01-05 France Telecom Procede et systeme de gestion de sessions de communication
CN104168517A (zh) * 2014-08-04 2014-11-26 广州华多网络科技有限公司 进入直播频道的方法及系统
CN104253814A (zh) * 2014-09-12 2014-12-31 清华大学 一种流媒体处理方法、服务器及浏览器
CN105407384A (zh) * 2014-09-15 2016-03-16 上海天脉聚源文化传媒有限公司 一种利用二维码标识媒体播放内容的方法、装置及系统
CN104244108A (zh) * 2014-09-24 2014-12-24 上海网达软件股份有限公司 一种直播方法及系统
CN106209949A (zh) * 2015-05-07 2016-12-07 北京大学 基于WebRTC的交互式直播方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Html5的移动终端实时视频通信系统的研究与实践;王亮;《中国优秀硕士学位论文全文数据库(电子期刊)》;20150430;摘要,第37页最后一段-第39页最后一段,第46页第1段 *

Also Published As

Publication number Publication date
CN108616760A (zh) 2018-10-02

Similar Documents

Publication Publication Date Title
US9467650B2 (en) Method and apparatus for transmitting media stream in video conference
US20150365453A1 (en) Media projection method and device, control terminal and cloud server
EP2827596A1 (en) Transmitting and receiving method of multimedia video data and corresponding device
CN110290140B (zh) 多媒体数据处理方法及装置、存储介质、电子设备
US20150319205A1 (en) Method for Transferring Media Stream and User Equipment
CN112738140A (zh) 一种基于WebRTC的视频流传输方法、装置、存储介质和设备
CN103167327A (zh) 信息互动方法、装置及系统
CN104185040A (zh) 应用同步方法、应用服务器及终端
WO2015180446A1 (zh) 一种多设备联动服务中的连接通道维护系统及方法
CN112153457A (zh) 无线投屏连接方法、装置、计算机存储介质及电子设备
CN103716681A (zh) 一种码流切换方法及电子设备
CN108616760B (zh) 一种基于浏览器的直播方法、服务器、主播端和用户端
CN108235111B (zh) 信息共享方法及智能机顶盒
CN110113298B (zh) 数据传输方法、装置、信令服务器和计算机可读介质
WO2019007027A1 (zh) 视频播出方法、系统、电子设备及可读取存储介质
CN116708391A (zh) 信令协商方法、信息传输方法及内容分发系统
CN106303754A (zh) 一种音频数据播放方法及装置
CN108632681B (zh) 播放媒体流的方法、服务器及终端
CN115379279A (zh) 多屏联动的交互方法及装置、系统、存储介质、电子设备
CN111212253B (zh) 视频会议中的监控处理方法、装置、电子设备及存储介质
CN111131777B (zh) 一种视联网监控的查看方法和装置
CN116546262A (zh) 一种数据处理方法、装置、设备及存储介质
US20170085623A1 (en) Content downloading and network provisioning
CN113014961A (zh) 视频推送及传输方法、视角同步方法及装置、存储介质
CN111212052A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240409

Address after: 710000, Room 502, 5th Floor, Building F, Silk Road Center, China Merchants Bureau, International Port Area, Xi'an City, Shaanxi Province

Patentee after: Shaanxi Renhui Youpin Supply Chain Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China