CN107277612A - 用于在web浏览器上播放媒体流的方法和设备 - Google Patents

用于在web浏览器上播放媒体流的方法和设备 Download PDF

Info

Publication number
CN107277612A
CN107277612A CN201710112610.4A CN201710112610A CN107277612A CN 107277612 A CN107277612 A CN 107277612A CN 201710112610 A CN201710112610 A CN 201710112610A CN 107277612 A CN107277612 A CN 107277612A
Authority
CN
China
Prior art keywords
media
media stream
websocket
video
services unit
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
CN201710112610.4A
Other languages
English (en)
Other versions
CN107277612B (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.)
Hanhua Vision Co ltd
Original Assignee
Samsung Techwin 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
Priority claimed from KR1020160069468A external-priority patent/KR101821124B1/ko
Application filed by Samsung Techwin Co Ltd filed Critical Samsung Techwin Co Ltd
Publication of CN107277612A publication Critical patent/CN107277612A/zh
Application granted granted Critical
Publication of CN107277612B publication Critical patent/CN107277612B/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/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/44012Processing 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 rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
    • 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
    • H04N21/6437Real-time Transport Protocol [RTP]
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种用于在web浏览器上播放媒体流的方法和设备。提供一种用于接收从媒体服务单元发送的媒体流并在web浏览器上播放所述媒体流的媒体流播放设备。所述媒体流播放设备包括:传输模块,被配置为在传输层级与媒体服务单元建立通信连接;websocket模块,被配置为基于通信连接经由握手过程与媒体服务单元建立websocket连接,并在保持websocket连接的同时将websocket包发送到媒体服务单元或者从媒体服务单元接收websocket包;流传输模块,被配置为接收由websocket包携带的实时传输协议包;媒体解码器,被配置为对从实时传输协议包获得的媒体流进行解码以重构视频;以及输出装置,被配置为通过将重构的视频嵌入web浏览器中来将重构的视频显示在屏幕上。

Description

用于在web浏览器上播放媒体流的方法和设备
本申请要求于2016年4月5日提交到韩国知识产权局的第10-2016-0041426号韩国专利申请以及于2016年6月3日提交到韩国知识产权局的第10-2016-0069468号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部合并于此。
技术领域
与示例性实施例一致的设备和方法涉及一种用于在web浏览器上播放媒体流的方法和设备,更具体地讲,涉及一种用于在没有插件的情况下直接在web浏览器中对由相机捕获的视频和音频进行流传输的技术。
背景技术
可通过经由互联网连接到各种类型的视频资源的多个用户装置来访问媒体内容。为此,在用户装置中安装web浏览器以通过使用超文本传输协议(HTTP)来与服务器应用进行通信。然而,因为由于通过HTTP请求和响应消息的重复的信息交换而发生开销,所以使用半双工方案的web浏览器不适于对媒体进行流传输。
根据图1所示的传统的HTTP连接方法,在web浏览器15将连接请求消息(长期请求)发送到web服务器25之后,请求被web服务器25切换到请求挂起状态并且在web浏览器15与web服务器25之间建立连接。在这种状态下,web浏览器15将用于执行特定动作的命令(客户端动作)发送到web服务器25,web服务器25响应于客户端动作将响应消息发送到web浏览器15。例如,如果命令(客户端动作)是对于特定的视频进行流传输的请求,则响应消息将是视频包数据。当web服务器25将完成命令(长期请求完成)发送到web浏览器15时,此连接可断开。此后,如果web浏览器15意于另外请求流传输,则可重复上面的处理。
即,在使用传统的HTTP连接方法的web服务器与web浏览器之间的通信方案中,每一个特定的事件均需要web服务器与web浏览器之间的连接,并且在特定的事件结束时该连接终止。因此,所述方案适合处理非连续事件(诸如连接到网页),但是不适合需要web服务器与web浏览器之间的连续连接的应用(诸如,视频流传输和音频流传输)。
因此,在web浏览器中安装各种类型的插件(例如,ActiveX、Netscape插件应用编程接口(NPAPI)、Pepper插件应用编程接口(PPAPI))以实现执行web浏览器与web服务器之间的网络连接的功能、对接收的视频进行解码的功能以及输出解码的视频的功能。具体地,网络相机通常具有能够接收并输出视频和音频的称为“web查看器”的特征。在用户没有安装软件(诸如,中央监控系统(CMS)或者视频管理系统(VMS))的情况下通过输入相机的网络地址而在远程位置处连接到网络相机时,该称为“web查看器”的特征允许自动安装插件,以使用户能够通过插件接收视频和音频。为了提供该特征,网络相机装备有能够提供web服务的web服务器。因此,在传统的web服务方法中,当装备有web浏览器的用户终端通过特定的统一资源定位符(URL)连接到web服务器时,插件被自动安装并且可通过插件实现发送和接收视频和音频的功能。
然而,这种在web浏览器中安装插件的方法往往很少使用,因为它引起很多问题(诸如,安全漏洞、web浏览器的有限功能和过多的资源消耗)。另外,作为用于发送视频流的标准的其他示例,HTML5支持通过视频标签接收存储在远程源中的视频文件的功能,Web实时通信(WebRTC)、openWebRTC、HTTP动态自适应流传输(MPEG-DASH)等提供用于实时发送和接收视频的标准。
因此,由于近期排除插件技术的趋势,接收、播放和显示视频的功能可以根据由诸如HTML5、WebRTC、openWebRTC和MPEG-DASH的标准支持的方案来实现。然而,为了使用已经被广泛用作发送和接收视频的标准的实时传输协议(RTP)和实时流传输协议(RTSP)在web浏览器上处理视频,需要使用插件并且不可能在没有插件的web浏览器上根据RTP/RTSP来处理视频。然而,在由诸如网络相机或存储装置的系统资源限制的嵌入式系统中,实际上难以另外安装除RTP/RTSP之外的重协议(heavy protocol)。
因此,在诸如网络相机、NVR/DVR、编码器/解码器和视频管理软件的技术领域中,需要设计一种能够在没有单独的插件的情况下使用RTP/RTSP通信方案在web浏览器上对媒体(视频和音频)进行流传输的技术。
发明内容
示例性实施例至少解决上面的问题和/或缺点以及上面未描述的其他缺点。此外,示例性实施例不需要克服上面描述的缺点,并且示例性实施例可以不克服上面描述的任何问题。
一个或多个示例性实施例提供一种用于在web浏览器上对视频和音频进行流传输的技术,其能够在没有安装插件的情况下仅使用最小系统规格实现无延迟的流传输。
根据示例性实施例的一方面,提供一种用于接收从媒体服务单元发送的媒体流并在web浏览器上播放媒体流的媒体流播放设备,包括:传输模块,被配置为在传输层级与媒体服务单元建立通信连接;websocket模块,被配置为基于通信连接经由握手过程与媒体服务单元建立websocket连接,并在保持websocket连接的同时将websocket包发送到媒体服务单元或者从媒体服务单元接收websocket包;流传输模块,被配置为接收由websocket包携带的实时传输协议(RTP)包;媒体解码器,被配置为对从RTP包获得的媒体流进行解码以重构视频;输出装置,被配置为通过将重构的视频嵌入web浏览器中来将重构的视频显示在屏幕上。
根据另一示例性实施例的一方面,提供一种将由相机捕获的视频实时发送到媒体流播放设备的媒体服务单元,所述媒体服务单元包括:捕获装置,被配置为从视频拾取区域捕获视频;媒体编码器,被配置为对捕获的视频进行编码;媒体服务器,被配置为将编码的视频转换成RTP包;web服务器,被配置为在传输层级与媒体流播放设备建立通信连接,并且根据websocket协议将媒体流发送到媒体流播放设备。
根据另一示例性实施例的一方面,提供一种用于接收从媒体服务单元发送的媒体流并在web显示器上显示所述媒体流的方法,所述方法包括:在传输层级与媒体服务单元建立通信连接;基于通信连接经由握手过程与媒体服务单元建立websocket连接,并在保持websocket连接的同时将websocket包发送到媒体服务单元或者从媒体服务单元接收websocket包;接收由websocket包携带的RTP包;对从RTP包获得的媒体流进行解码以重构视频;通过将重构的视频嵌入web浏览器中来将重构的视频显示在屏幕上。
附图说明
通过下面的结合附图对示例性实施例的详细描述,上述和/或其他方面和特征将变得更加清楚,其中:
图1示出使用传统的HTTP连接方法的web服务器与web浏览器之间的通信方案;
图2示出根据示例性实施例的整体系统;
图3示出定义用于装置之间的通信的分级架构的开放系统互连(OSI)7层模型和传输控制协议/互联网协议(TCP/IP)4层模型;
图4是示出根据示例性实施例的媒体流播放设备的配置的框图;
图5是示出通过webcocket连接发送和接收数据的示例的序列图;
图6示出在媒体流播放设备与媒体服务单元之间发送和接收的websocket包的详细结构图;
图7是RTP协议的详细结构图;
图8是示出图4的流传输模块的详细配置的框图;
图9示出用于经由网络接口与媒体服务单元进行通信的通信包的结构;
图10是示出与图3的媒体流播放设备进行通信的媒体服务单元的配置的框图;
图11示出实现媒体流播放设备或者媒体服务单元的计算装置;
图12是示出媒体流播放设备中的流传输模块与媒体服务单元之间的RTSP设置过程的序列图;
图13是示出在图12的设置过程之后流传输模块从媒体服务单元接收RTP数据的处理的序列图;
图14是示出当不再需要流传输模块与媒体服务单元之间的连接时的断开过程的序列图。
具体实施方式
在下文中,将参照附图详细描述各种示例性实施例。提供描述中定义的事物(诸如,详细的结构和元件)以帮助全面理解示例性实施例。因此,显然,可以在没有那些具体定义的事物的情况下执行示例性实施例。贯穿说明书,相同的参考标号表示相同的元件。
图2示出根据示例性实施例的整个系统。
参照图2,根据示例性实施例的系统10包括能使各种客户端用户装置106至114与媒体服务单元202、204和206之间通信的网络50。网络50可包括直接或间接物理通信连接、移动连接网络、互联网、内联网、局域网(LAN)、广域网(WAN)、存储区域网络(SAN)以及用于连接两个或更多个其他系统的其他形式。媒体服务单元202、媒体服务单元204和媒体服务单元206中的每一个媒体服务单元包括适于向一个或多个客户端用户装置提供计算服务的计算或处理装置以及媒体流播放设备。例如,媒体服务单元202、媒体服务单元204和媒体服务单元206可包括可创建或存储媒体流并将媒体流发送到客户端用户装置的装置(诸如,网络相机、网络视频录像机(NVR)和数字视频录像机(DVR))。客户端用户装置106至114中的每一个客户端用户装置包括适于经由网络50与媒体服务单元202、媒体服务单元204和媒体服务单元206或其他计算用户装置交互的计算或处理装置。例如,客户端用户装置106至114可包括台式计算机106、移动电话或智能电话108、个人数字助理(PDA)110、膝上型计算机112和平板计算机114。然而,系统10中还可包括另外的客户端用户装置。媒体服务单元202、媒体服务单元204和媒体服务单元206或者客户端用户装置106至114可包括:例如,用于处理命令的至少一个控制器、用于存储命令和数据的至少一个存储器以及能够经由网络50进行通信的至少一个网络接口。
这里,一些客户端用户装置108至114与网络50间接通信。例如,客户端用户装置108和客户端用户装置110基于小区网络与至少一个基站116进行通信。此外,客户端用户装置112和客户端用户装置114经由至少一个无线接入点118(诸如IEEE802.11无线路由器)执行通信。上面的描述是示例性的并且每一个客户端用户装置可经由适当的中间客户端用户装置或网络直接或间接地与网络50进行通信。网络50实现高效的媒体流传输。一个或多个媒体服务单元202、204和206可支持通过websocket的媒体流传输。一个或多个客户端用户装置106至114可检测媒体服务单元202、204和206何时支持通过websocket的媒体流传输。当媒体服务单元202、204和206支持通过websocket的媒体流传输时,一个或多个客户端用户装置106至114可在媒体服务单元202、204和206中建立websocket连接,并且发送指示选择的媒体目标和流中的位置的初始请求。客户端用户装置106至114中的每一个客户端用户装置顺序地接收从媒体服务单元202、204和206提供的媒体流的段。
对于如图2中所示的客户端用户装置106至114与媒体服务单元202、204和206之间的通信,需要提供每一个网络接口和用于与其他网络接口交换数据的附加模块。图3示出定义用于装置之间的通信的分级架构的开放系统互联(OSI)7层模型和传输控制协议/互联网协议(TCP/IP)4层模型。
TCP/IP模型是比用于解释网络中的连接处理的经典的OSI模型(7层)更简化的模型,并且将连接处理分类为四个层。所述四个层是网络接口层61、互联网层62、传输层63和应用层64。TCP/IP模型的每一个层根据相似的功能和作用与OSI模型相关联。例如,网络接口层61对应于OSI模块的物理层41和数据链路层42。互联网层62对应于OSI模型的网络层43,传输层63对应于OSI模型的传输层44。此外,应用层64对应于包括OSI模型的会话层45、表示层46和应用层47的组。TCP/IP模型在请求评议(Request for Comments,RFC)1122文档中具体地定义。
在TCP/IP模型中,网络接口层61与物理连接介质连接以实现长期演进(LTE)、802.11(WLAN)、802.3(以太网)或者任意其他适当的协议。互联网层62为用户装置提供连接LAN或WAN中的互联网层的服务。互联网层62可实现IPv4、IPv6或任意其他适当的协议。
传输层63用于建立用户装置之间的端对端连接。可以提及TCP和UDP(用户数据报协议)作为传输协议的典型示例。此外,应用层64通常实现诸如HTTP、RTP和FTP(文件传输协议)的通信协议。HTTP用于可靠地发布诸如VOD的内容,RTP用于实时内容流传输,FTP用于异步传输大容量存储数据。如在此使用的,术语“实时”是指在最小化媒体服务单元与媒体流播放设备之间的时间差的同时播放媒体流播放设备中的媒体。
图4是示出根据示例性实施例的媒体流播放设备100的配置的框图。可通过图2中的客户端用户装置中的任意一个来实现媒体流播放设备100,媒体流播放设备100接收从媒体服务单元发送的媒体流,并且在web浏览器上播放媒体流。媒体流播放设备100可被配置为包括网络接口120、传输模块130、websocket模块135、流传输模块140、媒体解码器150、视频渲染器160、web浏览器170和输出装置180。web浏览器170可以是具有与嵌入在媒体流播放设备100中的开放系统(OS)(未示出)相似的级别的应用。此外,流传输模块140、媒体解码器150和视频渲染器160是例如由JavaScript实现并由web浏览器170和操作系统托管的Java应用。此外,网路接口120、传输模块130和websocket模块135属于用于网络通信的通信模块,并且根据装置实现对应于操作系统(OS)内核。
参照图4,网络接口120与物理连接介质进行接口连接,以在媒体流播放设备100与媒体服务单元200之间进行数据传输和接收。网路接口120对应于图3的TCP/IP模块中的网络接口层61。网络接口120中使用的物理连接介质可包括无线介质(诸如,长期演进(LTE)、802.11(WLAN)和902.15.3(WPAN))和有线介质(诸如,802.3(以太网))。
传输模块130执行用于发在媒体流播放设备100与媒体服务单元200之间送和接收数据的传输控制,并且对应于图3的TCP/IP模型中的传输层63。传输模块130在媒体流播放设备100与媒体服务单元200之间建立传输层级的通信连接,以顺序地发送数据包并恢复传输错误以进行稳定的数据传输和接收。传输模块130支持TCP或UDP协议以确保在媒体流播放设备100与媒体服务单元200之间的传输层级的websocket连接。TCP是用于在面向连接的模式下可靠地发布内容的协议,UDP是用于连续地发布具有低开销的内容的协议。例如,作为websocket协议,TCP可被用于稳定地传输,而UDP可被用于低开销传输。
websocket模块135基于传输层级的连接经由与媒体服务单元200的握手过程来建立websocket连接,并且在连续维持建立的websocket连接的同时,将websocket包发送到媒体服务单元200或者从媒体服务单元200接收websocket包。Websocket模块135可在传输模块130中实现,并且可在与传输模块130分开的比传输模块130更高的级别来实现。
websocket是通过改进传统的半双工HTTP通信经过TCP连接提供双向全双工通信信道的协议。websocket协议已经由互联网工程任务组(IETF)标准组织标准化为RFC6455。然而,标准化的websocket协议已经旨在作为通用协议,而缺乏用户期望的扩展功能。为了支持新的功能,允许在web浏览器中通过JavaScript等来扩展协议。
因为websocket连接位于比两个装置之间的现有输出层(TCP或UDP)连接更高的级,为了使用websocket连接,应该首先在两个装置之间建立TCP传输连接。当经由例如三次握手过程在媒体流播放设备100与媒体服务单元200之间建立websocket连接时,通过发送websocket包来执行websocket通信。
图5示出通过websocket连接发送和接收数据的示例。根据作为HTML5标准的websocket协议来执行websocket连接。具体地,因为websocket连接持续支持双向通信,所以在网络相机的web服务器与用户终端装置的web浏览器之间没有断开连接的情况下连续发送和接收数据是可能的。
参照图5,媒体流播放设备100将TCP/IP连接请求消息发送到媒体服务单元200。当媒体服务单元200接收连接请求并将TCP响应消息(SYN-ACK)发送到媒体流播放设备100时,TCP/IP连接被建立。可通过一对本地TCP套接字和远程TCP套接字来形成TCP传输连接,并且每一个TCP套接字可至少通过诸如端口号和IP地址的标识符来定义。可选地,可在媒体流播放设备100与媒体服务单元200之间建立基于UDP/IP的连接。
此后,当经由握手过程在媒体流播放设备100与媒体服务单元200之间建立websocket连接时,可以连续执行它们之间的数据传输和接收。即,媒体流播放设备100以传输websocket包(socket.send)的形式将媒体流传输请求发送到媒体服务单元200,媒体服务单元200以响应websocket包(socket.onMessage)的形式将媒体流发送到媒体流播放设备100。该处理可在媒体流播放设备100与媒体服务单元200之间连续地执行,直到媒体流传输停止或者完成为止。
图6示出在媒体流播放设备100与媒体服务单元200之间发送和接收的websocket包的详细结构。websocket包的开始部分可包括关于websocket包中包含的数据配置的元数据信息,websocket包的结束部分可包括实际净荷数据(应用级数据)。websocket包中的净荷数据的位置根据净荷数据的大小和是否使用掩码密钥(masking key)而变化。websocket包是websocket通信中将成帧的通信数据的基本单元。默认地,websocket协议可使用固定的端口80,但不局限于此。例如,端口443可被用于将websocket连接通过传输级安全(TLS)进行通道传输。
在图3的TCP/IP模型中,websocket协议位于应用层64与传输层63之间。即,websocket协议位于属于传输层63的TCP或UDP与属于应用层64的RTP/RTSP之间。默认地,图4的传输模块具有这样的结构:在其中,websocket协议被堆叠在诸如TCP或者UDP的常规传输层协议上。
websocket通信至少向更高级的应用提供全双工通信,并通过在保持更低级的TCP或者UDP传输的连接的同时减少开支来改进web浏览器与web服务器之间的通信。与在客户端装置与服务器装置之间选择地执行发送和接收的使用HTTP的半双工通信不同,websocket通信是全双工通信并且同时执行发送和接收。此外,当通过websocket执行通信时,每单位消息发送较少的报头信息以减少传输期间的开销。此外,在不必交换用于从第一装置轮询第二装置的HTTP请求和响应消息的情况下,保持第一装置与第二装置之间的更低TCP层连接是可能的。
再次参照图4,当在传输模块130中建立TCP/IP(或者UDP/IP)和websocket连接时,可在媒体流播放设备100与媒体服务单元200之间连续发送和接收websocket包。传输模块130接收从媒体服务单元200发送的以websocket包的形式封包的媒体流并且将其发送到流传输模块140,或者将从流传输模块140发送的命令以websocket包的形式封包并且将其发送到媒体服务单元200。
流传输模块140响应于web浏览器170的请求而请求媒体服务单元200经由实时传输协议发送媒体流。流传输模块140在从媒体服务单元200接收包括媒体流的实时传输协议包的同时,根据实时传输协议控制媒体流的重放。
流传输模块140可使用例如实时传输协议(RTP)和实时流传输协议(RTSP)。RTP是诸如作为用于实时发送或者存储视频的标准的MJPEG、MPEG-4、H.264和H.265的协议。
图7示出RTP协议的详细数据结构。RTP协议被划分为报头和净荷。报头包括:指示RTP数据包的传输顺序的序列号、用于媒体的表示时间的同步的时间戳、指示用于数据流的同步源的同步源标识符(SSRC标识符)等。因为基于RTP的媒体流的包的大小是有限的,所以可在被划分为预定大小(例如,1.5kB)(分包(packetization))时发送媒体流。划分和发送的包在被流传输模块140接收之后被组合成单个视频帧(组包(depacketization))。此外,可类似地划分和发送一个音频帧,但是因为音频帧的数据量小于视频帧的数据量,所以可每个包发送一个音频帧。
RTSP是用于为了实时接收或存储视频而设置媒体服务单元200(例如,网络相机)与媒体流播放设备100之间的网络端口并且控制与重放相关联的命令(例如,播放、暂停、拆除、设置、选项、描述等)的协议。其中,“播放”是用于开始媒体流的命令,“暂停”是用于暂时停止开始的媒体流的命令,“拆除”是用于拆除或者销毁具体的媒体会话的命令。另外,“设置”是用于设置媒体会话参数的命令,“选项”是用于获得选项方法功能并允许以后的其他版本的命令,“描述”是用于获得使用指定的配置文件的媒体参数的命令。
如上所述,RTP协议是用于通过对媒体流进行分包的实际传输的协议,而RTSP协议是用于开始/结束传输或者控制已被发送的媒体流的重放的协议。
如图8所示,流传输模块140可被配置为包括:流传输会话模块142、流传输客户端144、客户端管理器146和组包模块148。因为构成流传输模块140的组件142、组件144、组件146和组件148中的每一个组件由HTML5标准支持的JavaScript编程,所以不需要用于在web浏览器170上实现流传输模块140的功能的单独的插件。
流传输会话模块142与媒体服务单元200形成会话,以经由实时传输协议可靠地接收正被发送的媒体流。因此,传输模块130可作为用于接收发送的媒体流或者发送从媒体流播放设备100发送的重放控制命令的端口。
流传输客户端144响应于客户端管理器146的请求而创建用于控制流传输的新的客户端模块,或者结束创建的客户端模块。此外,流传输客户端144接收从web浏览器170请求的与媒体服务单元200的连接命令或者从web浏览器170接收媒体流的重放命令,对命令进行分包,允许传输模块130将分包的命令发送到媒体服务单元200,并且经由传输模块130接收从媒体服务单元200发送的响应(媒体流)。当流传输客户端144从传输模块130中的websocket模块135接收并处理RTP包时,接收的RTP包被发送到组包模块148用于缓存,以创建数据帧(例如,视频帧或者音频帧)。
客户端管理器146响应于web浏览器170的请求在流传输客户端144中创建客户端模块,或者移除或销毁创建的客户端模块。即,客户端管理器146用于针对流传输客户端144的操作而创建并终止客户端模块。
如果媒体流作为划分的包从流传输客户端144被发送,则组包模块148将划分的包顺序地存储在缓冲器(未示出)中并将划分的包组合成一个完整的帧(组包)。如果在没有被划分成包的情况下发送媒体流,则该处理可被省略。因为形成视频流的视频帧由于其大小而很难以单个包的形式发送,所以通常被划分并发送。然而,因为音频帧具有相对小的大小,所以可以以单个包的形式来发送音频帧。
由流传输模块140创建的视频帧和音频帧被提供给媒体解码器150。媒体解码器150至少包括用于对根据视频编码标准(诸如,MJPEG、MPEG-4、H.264和H.265)编码的媒体流(特别地,视频帧)进行解码的视频解码器。媒体解码器150还可包括用于对根据音频编码标准(诸如,MP3(MPEG层-3)、G.711、G726、AC3(音频编解码器编码3)、DTS(数字影院系统)、FLAC(自由无损音频编解码器)和AAC(高级音频编码))编码的媒体流(特别地,音频帧)进行解码的音频解码器。媒体解码器150可包括FFmpeg功能,并且通过HTML5标准支持的JavaScript进行编程。因此,对于媒体解码器150的功能,不需要单独的插件。FFmpeg是一种用于提供能够转换视频和音频并设置各种选项的灵活性的完整的跨平台解决方案。例如,FFmpeg对关于输入视频帧的诸如比特率、帧率、显示视频的分辨率、纵横比和剪辑执行各种转换和处理。因为FFmpeg是视频/音频解码器的示例,所以可使用也能够通过JavaScript实现的另一视频/音频解码器。
如上所述,媒体解码器150默认具有用于对从媒体流播放设备100发送的编码的视频和音频进行解码的功能。媒体解码器150还可包括用于对媒体流播放设备100与媒体服务单元200之间的双向音频通信的媒体流播放设备100捕获的音频进行编码的音频编码器(未示出)。因此,由媒体流播放设备100编码的音频可被发送到媒体服务单元200并作为由媒体服务单元200中的捕获装置270将要监视的区域的警报输出到外部。
在媒体解码器150中处理并重构的视频数据被输入到视频渲染器160,以被转换成能够在显示器上显示的视频信号,并且视频信号被输入到web浏览器170。视频渲染器160可以是将视频的2D或3D表示定义为标准的应用程序接口(API),并且包括诸如作为每个操作系统(OS)的独立功能的透明度、抗锯齿、纹理映射和像素操纵的视频处理功能。作为视频渲染器160,Direct Draw、D2D、D3D、OpenGL、GDI+等是公知的,但是这些需要单独的插件来实现。因此,优选地使用没有单独插件的在HTML5中支持的Web图像库(WebGL)。WebGL是能够通过JavaScript编程语言实现的基于web的图形库,并且提供WebGL使得交互式3D图形可被用于具有兼容性的web浏览器中。
因此,由视频渲染器160处理的视频信号被嵌入在web浏览器170中,并且嵌入的视频被发送到输出装置180并在屏幕上输出为用户能够视觉识别的视频。web浏览器170可通过公知的Internet Explorer、Chrome、Firfox、Safari、、Edge Browser等来实现,并且可以是不支持插件的浏览器。输出装置180包括能够表示视频的显示装置(诸如,LCD、LED和OLED)。
同时,作为能够在web浏览器170中显示的音频信号,从视频解码器150输出的音频信号通过例如HTML5标准的IO API被提供给web浏览器170。因此,与视频同步嵌入web浏览器170中的音频最终通过输出装置180输出,使得用户可以通过听来识别。输出装置180可包括音频输出装置(诸如,音频接收器、放大器和扬声器)。
图9示出用于经由网络接口120与媒体服务单元200进行通信的通信包的结构。当RTP报头94被添加到与媒体流95对应的RTP净荷时,它变为RTP包。RTP包与websocket净荷相同,并且websocket报头93被添加到websocket净荷以产生websocket包。Websocket包与TCP净荷相同,并且TCP报头92被添加到TCP净荷以产生TCP包。最终,TCP包与IP净荷相同,并且IP报头91被添加到IP净荷以最终产生通信包,即,IP包。因此,在媒体流播放设备100和媒体服务单元200中执行完成IP包的处理和删除每一个报头的处理。
当经由网络接口120接收到IP包时,在传输模块130中处理IP报头91和TCP报头92,并且将TCP净荷或websocket包发送到websocket模块135。websocket模块135将通过处理websocket报头93生成的RTP包从websocket包发送到流传输模块140。流传输模块140通过处理RTP包中的RTP报头94来恢复媒体流。如在此使用的,已经示出了作为用于发送websocket包的较低的协议的TCP,但是可以使用UDP或HTTP通道代替TCP。此外,已经描述了RTP包变为websocket净荷,但是RTSP包可变为websocket净荷。
在图4示出的媒体流播放设备100中,因为经由基于HTML5的websocket协议来执行媒体流播放设备100与媒体服务单元200之间的通信,所以可通过HTML5中支持的JavaScript代码来实现负责RTP/RTSP传输和接收控制的流传输模块140、负责解码视频/音频的媒体解码器150以及负责解码的视频的显示处理的视频渲染器160。因此,可在没有如传统情况那样单独安装插件(诸如,NPAPI或Active X)的情况下,在web浏览器中实现媒体的实时流传输和播放。
根据示例性实施例,当通过JavaScript实现用于RTSP控制的websocket程序时,例如,可以表示以下伪代码。
图10是示出与图3的媒体流播放设备100进行通信的媒体服务单元200的配置的框图。媒体服务单元200可包括网络接口220、web服务器230、媒体服务器240和媒体存储器250。媒体服务单元200还可包括媒体编码器260和捕获装置270。
捕获装置270将输入的视频和音频转换为电信号(模拟或数字信号)以生成视频信号和音频信号,并将生成的视频信号和音频信号发送到媒体编码器260。用作与媒体解码器150对应的元件的媒体编码器260至少包括用于根据视频编码标准(诸如,MJPEG、MPEG-4、H.264和H.265)对输入的视频信号进行编码的视频编码器。媒体编码器260还可包括用于根据音频编码标准(诸如,MP3、G.711、G.726、AC3、DTS、FLAC和AAC)对输入的音频信号进行编码的音频编码器。
通过该处理,在媒体编码器260中生成的编码的媒体或媒体流被存储在媒体存储器250中。媒体存储器250可存储易失性媒体和非易失性媒体二者以及各种物理类型的媒体(诸如,磁性存储介质、光学存储介质、硬盘驱动(HDD)、固态驱动(SSD)和闪存)。媒体存储器250可存储由媒体编码器260生成的用于长期存储的媒体流,或者临时存储用于支持媒体服务器240的流传输的媒体流。
媒体服务器240将从媒体存储器250提供的媒体流转换为可通过网络发送的媒体流的形式。媒体服务器240支持RTP/RTSP协议。例如,基于从媒体流播放设备100发送的RTSP包,媒体服务器240生成RTP包并控制RTP包向媒体流播放设备100的传输。RTP包可被配置为如图6中所示。
web服务器230托管由媒体流播放设备100获取的web内容。在这种情况下,可由web服务器230提供任何种类的数据和服务。因此,媒体流播放设备100的web浏览器170可访问至少部分地由web服务器230提供的服务或内容。web服务器230可通过使用websocket协议来处理媒体流播放设备100的连接和请求。
web服务器230基于websocket将媒体流(由媒体服务器240生成的RTP包)发送到媒体流播放设备100。为此,web服务器230支持作为基于HTML5的双向通信技术标准的websocket协议以及作为用于根据websocket协议发送websocket包(如图7所示)的较低协议的TCP/IP(或UDP/IP)。Web服务器230默认可以是任何类型,但是考虑到很难具有高规格的诸如网络相机的环境,优选使用需要较少资源并且具有小容量的类型(诸如,Lighttpd)。
同时,代理套接字235可被另外设置在媒体服务器240与web服务器230之间。当在web服务器230与媒体流播放设备100的web浏览器170之间建立websocket连接时,web服务器230将websocket连接发送到代理套接字235。在这种情况下,代理套接字235不管它的连接方法,通过预定的套接字来中继媒体服务器240与web服务器230之间的数据传输和接收。因此,通过使用代理套接字235,媒体服务器240可不管连接是由UDP、TCP、WS/TCP(基于TCP的websocket)或者WS/UDP(基于UDP的Websocket)还是连接端口的类型建立的,通过固定的套接字模块发送和接收数据。
默认情况下,因为websocket基于TCP连接的HTTP,所以代理套接字235可基于TCP套接字。为此,代理套接字235具有将由媒体服务单元200发送的通信数据编码成将要发送到媒体流播放设备100的websocket包,并且以媒体服务单元200期望的数据格式对从媒体流播放设备100接收的websocket包进行解码的功能。
网络接口220对应于媒体流播放设备100的网络接口120,并且与用于向/从媒体流播放装置100发送/接收数据的物理连接介质连接。网络接口220对应于图3的TCP/IP模型中的网络接口层61。在网络接口220中使用的物理连接介质包括无线介质(诸如,长期演进(LTE)、802.11(WLAN)和802.15.3(WPAN))和有线介质(诸如,802.3(以太网))。
上面参考图4、图8和图10描述的每个组件可被实现为软件组件(诸如,在存储器的预定区域中执行的任务、类、子例程、进程、对象、执行线程或程序)或者硬件组件(诸如,现场可编程门阵列(FPGA)或专用集成电路(ASIC))。另外,组件可以由软件组件和硬件组件的组合构成。组件可驻留在计算机可读存储介质上或者可分布在多个计算机上。
媒体流播放设备100或媒体服务单元200可在图11中描述的计算装置300中实现。计算装置300可具有任何合适的物理形式,包括但不限于一个或多个集成电路(IC)、印刷电路板(PCB)、移动手持装置(诸如,智能电话和平板计算机)、膝上型或笔记本计算机、分布式计算机系统、计算网格或者服务器。计算装置300可具有处理器301、内存303和存储器308。总线340可连接到显示器332、至少一个输入装置333和至少一个输出装置334。
组件可直接连接到总线340或者经由至少一个接口和适配器连接到总线340。总线340连接各种各样的子系统。总线340可具有存储器总线,存储器控制器,外围总线,局域总线以及它们的组合。
处理器或CPU 301可选地包含用于指令、数据或计算机地址的临时本地存储的高速缓存存储器单元302。处理器301执行可由计算机读取的存储介质中的指令(或软件模块)。计算机可读存储介质可存储实现特定示例性实施例的一些软件模块(例如,图4的130、135、140、150、160和170以及图10的230、235、240、260),并且处理器301可执行存储的软件模块。
内存303可包括,但不限于,随机存取存储器304、只读存储器305以及它们的任意组合。内存303还可包括具有启动计算装置300所需的基本例程的基本输入/输出系统(BIOS)。
存储器308可被用于存储操作系统(OS)309、EXEC 310(可执行文件)、数据311、API应用312(应用程序)等。存储器308可包括硬盘驱动、光盘驱动、固态存储器装置或者上述的任意组合。
计算装置300可包括输入装置333。在一个示例中,计算装置300的用户可经由输入装置333将命令和/或其他信息输入到计算装置300中。输入装置333的示例包括,但不限于,字母-数字输入装置(例如,键盘)、点击装置(例如,鼠标或触摸板)、触摸板、操纵杆、游戏手柄、音频输入装置(例如,麦克风、语音响应系统等)、光学扫描器、视频或静止相机(例如,相机)以及它们的任意组合。输入装置333可经由各种输入接口323中的任意接口与总线340进行接口连接,其中,输入接口323包括但不限于串行、并行、游戏端口、USB或者上述的任意组合。
当计算装置300连接到网络330时,计算装置300可与其他装置(例如,移动装置和企业系统)通信。可通过网络接口320发送去往计算装置300的通信和来自计算装置300的通信。例如,网络接口320可以以一个或多个包(例如,IP包)的形式从网络330接收传入的通信(诸如,来自其他装置的请求或响应),计算装置300可将传入的通信存储在内存303中以备处理。计算装置300可以以一个或多个包的形式将传出的通信(诸如,对其他装置的请求或响应)存储在内存303中,并且可将传出的通信发送到网络330。
网络接口320的示例可包括,但不限于,网络接口卡、调制解调器以及它们的任意组合。网络330或网段330的示例可包括,但不限于,广域网(WAN)、局域网(LAN)、电话网络、两个计算装置之间的直接连接以及它们的任意组合。网络(诸如,网络330)可采用有线通信模式和/或无线通信模式。
由处理器301执行的软件模块的结果可通过显示器332显示。显示器332的示例可包括,但不限于,液晶显示器(LCD)、有机液晶显示器(OLED)、阴极射线管(CRT)、等离子体显示器以及它们的任意组合。显示器332经由视频接口322链接到总线340,并且图形控制器321可控制显示器332与总线340之间的数据的传输。
计算装置300还可包括一个或多个其他外围输出装置334,其他外围输出装置334包括,但不限于,音频扬声器、打印机以及它们的任意组合。这样的外围输出装置可经由输出接口324连接到总线340。输出接口324的示例可包括,但不限于,串行端口、并行连接、USB端口以及它们的任意组合。
图12至图14是根据示例性实施例的由流传输模块140和websocket模块135实现媒体服务单元200、RTSP控制和RTP传送的序列图。流传输客户端144可生成RTSP客户端实例和RTSP配置文件信息,并管理认证信息。websocket模块135可执行与websocket相关的功能,并且可用于通过流传输客户端144传送RTSP命令并接收其响应。流传输客户端144中的连接序列按顺序包括:1)传送模块的初始化,2)RTSP响应和RTP响应回调的注册,3)描述命令的传送(描述涉及终端装置的功能、属性和规范的信息),以及4)RTP会话和设置命令的初始化。实线指示的箭头表示特定命令,虚线指示的箭头表示对特定命令的响应和确认。
图12示出流传输模块140与媒体服务单元200之间的RTSP设置过程。当web浏览器170请求客户端管理器创建RTSP客户端(操作S1:创建RtspClient)时,客户端管理器146使流传输客户端144创建新的RTSP客户端(操作S2:新的RtspClient)。在创建新的RTSP客户端之后,web浏览器170为流传输模块140设置RTSP URL并执行认证(操作S5:设置RtspURL,认证)。因此,web浏览器170处于可以向/从媒体服务单元200发送/接收数据的默认状态。
当web浏览器170请求流传输客户端144连接到媒体服务单元200(操作S7:连接)时,流传输客户端144请求websocket模块135发送新的传输(操作S9:新的传输),并设置回调(操作S11:设置回调)。此外,当流传输客户端144将RTSP命令发送到websocket模块135(操作S13:发送RtspCommand)时,websocket模块135将描述命令发送到媒体服务单元200(操作S14:描述命令)。然后,当流传输客户端144将后续RTSP命令发送到websocket模块135(操作S18:发送RtspCommand)时,websocket模块135将设置命令发送到媒体服务单元200(操作S19:设置命令)。因此,当websocket模块135从媒体服务单元200接收到设置响应(操作S21:设置响应)时,websocket模块135将RTSP响应发送到流传输客户端144(操作S22:RtspResponse)。
然后,流传输客户端144将RTSP会话的创建命令发送到流传输会话模块142(操作S24:创建RtspSession),并设置回调(操作S26:设置回调)。当向web浏览器170通知回调连接完成(操作S28:OnConnectedCallback)时,完成流传输模块140与媒体服务单元200之间的RTSP设置过程,从而通过websocket在它们之间发送和接收RTP数据。
图13示出在图12的设置过程之后,流传输模块140从媒体服务单元200接收RTP数据的处理。当web浏览器170将媒体访问命令发送到流传输客户端144(操作S30:OpenMedia)时,流传输客户端144将RTSP命令发送到websocket模块135(操作S32:SendRtspCommand)。然后,websocket模块135将媒体播放命令发送到媒体服务单元200(操作S33:播放命令)。此后,当流传输客户端144从websocket模块135接收RTSP响应(操作S35:RtspRespond)时,流传输客户端144通知web浏览器170可以打开媒体(操作S37:OnOpenMedia)。
同时,媒体服务单元200根据操作S33的播放命令执行RTP数据到websocket模块135的传输(操作S39:RTP数据→OnReceive)。在这种情况下,websocket模块135将RTP数据发送到流传输会话模块142(操作S40:SendRtpData),并且流传输会话模块142将包含在RTP数据中的媒体流(媒体帧)发送到web浏览器170(操作S41:OnFrameRecv)。在图13的处理中,即使在特定RTP数据的流传输期间,流传输客户端144可将RTSP命令发送到媒体服务单元200,从而执行RTP数据的控制(播放,暂停等)。
如果完成如图13所示的RTP数据的流传输,并且不再需要流传输模块140与媒体服务单元200之间的连接,则可如图14所示执行断开连接过程。当web浏览器170将RTSP关闭命令发送到流传输客户端144(操作S44:CloseRtsp)时,流传输客户端144将RTSP命令发送到websocket模块135(操作S46:SendRtspCommand)。因此,websocket模块135将拆除命令发送到媒体服务单元200(操作S47:SendTeardown),并且从媒体服务单元200接收Ack(操作S48)。
当websocket模块135将Rtsp响应消息发送到流传输客户端144(操作S49:RtspResponse)时,流传输客户端144将关闭媒体流传输的命令发送到web浏览器170(操作S50:Onclose)。然后,当web浏览器170将去除已经创建的Rtsp客户端的命令发送到客户端管理器146(操作S53:RemoveRtspClient)时,客户端管理器146将销毁Rtsp客户端的命令发送到流传输客户端144(操作S54:销毁),并终止流传输模块140与媒体服务单元200之间的连接。
根据示例性实施例,由如图4、图8、图10和图11所示的块表示的组件、元件、模块或单元中的至少一个可被实现为执行上述各个功能的各种数量的硬件、软件和/或固件结构。例如,这些组件、元件、模块或单元中的至少一个可以使用可通过控制一个或多个微处理器或其他控制设备执行各个功能的直接电路结构(诸如,存储器、处理设备、逻辑单元、查找表等)。此外,可通过包含用于执行指定的逻辑功能的一个或多个可执行指令的模块、程序或一部分代码来具体地实现这些组件、元件、模块或单元中的至少一个。此外,这些组件、元件、模块或单元中的至少一个还可包括诸如执行各个功能的诸如中央处理单元(CPU)、微处理器等的处理器。
根据示例性实施例,可在web浏览器170中没有安装插件的情况下,从媒体服务单元200(诸如,网络相机)实时地对媒体进行流传输。然而,实现使用在没有安装插件的情况下对媒体进行流传输的方法和根据用户的选择通过安装插件经由专用web查看器对媒体进行流传输的方法二者的混合方法是可能的。根据上述示例性实施例,当用户从媒体流播放设备100访问媒体服务单元200时,媒体服务单元200可通过web服务器230确认用户环境信息(例如,web浏览器的版本、用户装置的分辨率等),并检查是否能够在用户环境中安装插件。如果能够在用户环境中安装插件,则web服务器230可向web浏览器170提供网页来检查是否安装插件并接收用户的选择。当用户选择插件安装时,用户可从web服务器230下载web查看器来安装在web浏览器170上,并且如传统方法那样使用安装的web查看器。另一方面,如果用户不希望安装插件,则在根据示例性实施例的媒体流播放方法控制没有插件的媒体流传输时播放视频/音频是可能的。
虽然为了说明的目的已经描述了示例性实施例,但是本领域的技术人员将理解,在不脱离如权利要求公开的本发明构思的范围和精神的情况下,可以进行各种修改、添加和替换。

Claims (15)

1.一种用于接收从媒体服务单元发送的媒体流并在web浏览器上播放媒体流的媒体流播放设备,包括:
传输模块,被配置为在传输层级与媒体服务单元建立通信连接;
websocket模块,被配置为基于通信连接经由握手过程与媒体服务单元建立websocket连接,并在保持websocket连接的同时将websocket包发送到媒体服务单元或者从媒体服务单元接收websocket包;
流传输模块,被配置为接收由websocket包携带的实时传输协议包;
媒体解码器,被配置为对从实时传输协议包获得的媒体流进行解码以重构视频;
输出装置,被配置为通过将重构的视频嵌入web浏览器中来将重构的视频显示在屏幕上。
2.根据权利要求1所述的媒体流播放设备,其中,流传输模块还被配置为将用于控制实时传输协议包的传输的实时流传输协议包发送到媒体服务单元或者从媒体服务单元接收用于控制实时传输协议包的传输的实时流传输协议包。
3.根据权利要求1所述的媒体流播放设备,其中,web浏览器支持HTML5标准。
4.根据权利要求1所述的媒体流播放设备,还包括:视频渲染器,被配置为在重构的视频从媒体解码器发送到输出装置之前,根据输出装置的输出对重构的视频执行视频处理。
5.根据权利要求4所述的媒体流播放设备,其中,流传输模块、媒体解码器和视频渲染器被配置为:在web浏览器中没有安装插件程序的情况下,通过JaveScript来实现。
6.根据权利要求5所述的媒体流播放设备,其中,媒体解码器还被配置为包括通过JaveScript实现的视频解码器和音频解码器,视频渲染器被配置为通过JaveScript实现并且支持HTML5标准。
7.根据权利要求6所述的媒体流播放设备,其中,媒体解码器还被配置为包括:音频编码器,用于对所述媒体流播放设备捕获的音频进行编码,以在所述媒体流播放设备与媒体服务单元之间进行双向音频通信。
8.根据权利要求1所述的媒体流播放设备,其中,websocket包包括:websocket报头、webdocket报头之后的实时传输协议报头和实时传输协议报头之后的媒体流。
9.根据权利要求1所述的媒体流播放设备,其中,媒体服务单元被配置为包括实时捕获视频并向所述媒体流播放设备提供捕获的视频的网络相机。
10.根据权利要求1所述的媒体流播放设备,其中,流传输模块被配置为包括:
流传输会话模块,被配置为与媒体服务单元形成通信会话,以可靠地接收按实时传输协议发送的媒体流;
流传输客户端,被配置为接收实时传输协议包并将用于控制实时传输协议包的传输的实时流传输协议包发送到媒体服务单元或者从媒体服务单元接收用于控制实时传输协议包的传输的实时流传输协议包;
客户端管理器,被配置为响应于web浏览器的请求而创建或去除流传输客户端中的客户端模块;
组包(depacketization)模块,被配置为将媒体流包存储在缓冲器中并组装媒体流包以生成至少一个视频帧。
11.一种将由相机捕获的视频实时发送到媒体流播放设备的媒体服务单元,所述媒体服务单元包括:
捕获装置,被配置为从视频拾取区域捕获视频;
媒体编码器,被配置为对捕获的视频进行编码;
媒体服务器,被配置为将编码的视频转换成实时传输协议包;
web服务器,被配置为在传输层级与媒体流播放设备建立通信连接,并且根据websocket协议将媒体流发送到媒体流播放设备。
12.根据权利要求11所述的媒体服务单元,其中,web服务器被配置为支持HTML5标准。
13.根据权利要求11所述的媒体服务单元,还包括:代理套接字(proxy socket),被配置为将由媒体服务单元发送的通信数据编码成将被发送到媒体流播放设备的websocket包,并且按由媒体服务单元所支持的数据格式对从媒体流播放设备接收的websocket包进行解码。
14.根据权利要求13所述的媒体服务单元,其中,代理套接字还被配置为通过预定的套接字在媒体服务器与web服务器之间中继数据传输和接收。
15.根据权利要求11所述的媒体服务单元,其中,由媒体编码器编码的视频被长期存储或者临时存储以支持经由媒体服务器的流传输。
CN201710112610.4A 2016-04-05 2017-02-28 用于在web浏览器上播放媒体流的方法和设备 Active CN107277612B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20160041426 2016-04-05
KR10-2016-0041426 2016-04-05
KR10-2016-0069468 2016-06-03
KR1020160069468A KR101821124B1 (ko) 2016-04-05 2016-06-03 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치

Publications (2)

Publication Number Publication Date
CN107277612A true CN107277612A (zh) 2017-10-20
CN107277612B CN107277612B (zh) 2021-10-01

Family

ID=57796163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710112610.4A Active CN107277612B (zh) 2016-04-05 2017-02-28 用于在web浏览器上播放媒体流的方法和设备

Country Status (3)

Country Link
US (1) US10412130B2 (zh)
EP (1) EP3229476B1 (zh)
CN (1) CN107277612B (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN108769616A (zh) * 2018-06-21 2018-11-06 泰华智慧产业集团股份有限公司 一种基于rtsp协议的实时视频无插件预览方法及系统
CN108966006A (zh) * 2018-07-24 2018-12-07 上海小蚁科技有限公司 视频的播放方法、浏览器设备及可读存储介质
CN109729362A (zh) * 2019-01-10 2019-05-07 高新兴科技集团股份有限公司 视频解码播放方法、装置、计算机存储介质及电子设备
CN109818952A (zh) * 2019-01-15 2019-05-28 美都科技(天津)有限公司 一种基于websocket实现的语音、视频分节点即时互动、精准统计的架构和方法
CN109842519A (zh) * 2018-12-25 2019-06-04 视联动力信息技术股份有限公司 一种预览视频流的方法和装置
CN109889493A (zh) * 2019-01-04 2019-06-14 上海七印信息科技有限公司 一种基于WebSocket协议的页面快速访问方法
CN110113298A (zh) * 2019-03-19 2019-08-09 视联动力信息技术股份有限公司 数据传输方法、装置、信令服务器和计算机可读介质
CN110300320A (zh) * 2018-03-22 2019-10-01 杭州海康威视数字技术股份有限公司 一种视频播放方法、装置、电子设备及存储介质
WO2019242559A1 (zh) * 2018-06-20 2019-12-26 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN110661752A (zh) * 2018-06-29 2020-01-07 广州弘度信息科技有限公司 一种无插件实时视频播放系统及方法
CN111294770A (zh) * 2018-12-06 2020-06-16 中兴通讯股份有限公司 一种车载语音控制方法、装置、设备及计算机可读介质
CN111556134A (zh) * 2020-04-26 2020-08-18 上海契胜科技有限公司 一种视频编码本地优化方法
CN111787399A (zh) * 2020-07-23 2020-10-16 成都云盯科技有限公司 一种视频播放方法、装置和系统
CN112073809A (zh) * 2020-08-09 2020-12-11 富盛科技股份有限公司 一种支持浏览器播放任意编码格式视频的方法
CN112153042A (zh) * 2020-09-21 2020-12-29 苏州浪潮智能科技有限公司 Web端音频在线播放防止下载的方法、系统、设备及介质
CN112383574A (zh) * 2021-01-18 2021-02-19 北京翼辉信息技术有限公司 基于web的可交互式流媒体双通道传输方法、系统及存储介质
CN112616070A (zh) * 2018-05-31 2021-04-06 西安万像电子科技有限公司 一种传输链路的管理方法及装置
CN112770188A (zh) * 2019-11-01 2021-05-07 杭州海康威视系统技术有限公司 一种视频播放方法及装置
CN112804592A (zh) * 2021-01-11 2021-05-14 福建天泉教育科技有限公司 一种基于浏览器的rtsp直播视频转发方法及终端
CN112822557A (zh) * 2019-11-15 2021-05-18 中移物联网有限公司 信息处理方法、装置、电子设备及计算机可读存储介质
CN113067997A (zh) * 2020-01-02 2021-07-02 北京沃东天骏信息技术有限公司 一种实时视频通话的方法和装置
CN113556292A (zh) * 2021-06-18 2021-10-26 珠海惠威科技有限公司 Ip网络的音频播放方法及系统
CN113691531A (zh) * 2021-08-24 2021-11-23 深圳市思迪信息技术股份有限公司 基于WebSocket协议的数据传输方法及系统、设备及存储介质
CN113810767A (zh) * 2021-09-13 2021-12-17 南京国电南自电网自动化有限公司 一种基于websocket的视频实时监视方法及系统
CN113824925A (zh) * 2021-08-11 2021-12-21 南京国电南自电网自动化有限公司 一种web无插件视频监控系统和方法
CN113949821A (zh) * 2021-09-15 2022-01-18 长视科技股份有限公司 视频播放方法、装置、计算机设备和存储介质
CN114286166A (zh) * 2021-09-29 2022-04-05 海信视像科技股份有限公司 显示设备、信号接收装置及媒资播放方法
CN114339146A (zh) * 2021-12-23 2022-04-12 上海清鹤科技股份有限公司 音视频监控方法、装置、电子设备及计算机可读存储介质
CN114390340A (zh) * 2021-12-30 2022-04-22 北京鸿合爱学教育科技有限公司 视频播放方法、装置和电子设备
CN115589399A (zh) * 2022-10-11 2023-01-10 北京太格时代自动化系统设备有限公司 变电所辅助监控视频远程播放方法和装置
CN117097705A (zh) * 2023-10-21 2023-11-21 北京蔚领时代科技有限公司 一种基于WebTransport的音视频传输方法和系统

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112017019464A2 (zh) * 2015-03-12 2018-07-03 Huawei Technologies Co., Ltd. A real-time transport protocol (RTP) packet transmission method and apparatus
CN107370775B (zh) * 2016-05-11 2020-04-28 阿里巴巴集团控股有限公司 一种启动应用的方法和系统
US20180189980A1 (en) * 2017-01-03 2018-07-05 Black Sails Technology Inc. Method and System for Providing Virtual Reality (VR) Video Transcoding and Broadcasting
US10979785B2 (en) * 2017-01-20 2021-04-13 Hanwha Techwin Co., Ltd. Media playback apparatus and method for synchronously reproducing video and audio on a web browser
US20180234506A1 (en) * 2017-02-14 2018-08-16 Gu Zhang System and methods for establishing virtual connections between applications in different ip networks
US10931959B2 (en) * 2018-05-09 2021-02-23 Forcepoint Llc Systems and methods for real-time video transcoding of streaming image data
FR3083950B1 (fr) * 2018-07-12 2021-04-30 Ubicast Procede de visualisation d’elements graphiques issus d’un flux video composite encode
CN109067861A (zh) * 2018-07-23 2018-12-21 日海智能科技股份有限公司 基于物联网的通信方法、装置、设备和介质
CN111479164A (zh) * 2019-01-23 2020-07-31 上海哔哩哔哩科技有限公司 硬件解码动态分辨率无缝切换方法、装置及存储介质
US11113270B2 (en) 2019-01-24 2021-09-07 EMC IP Holding Company LLC Storing a non-ordered associative array of pairs using an append-only storage medium
US10880583B2 (en) * 2019-04-26 2020-12-29 Advanced New Technologies Co., Ltd. Method, apparatus, terminal, and readable storage medium for offline caching
CN110557670B (zh) * 2019-09-17 2021-12-21 广州方硅信息技术有限公司 在网页页面中播放视频的方法、装置、终端和存储介质
US11604759B2 (en) 2020-05-01 2023-03-14 EMC IP Holding Company LLC Retention management for data streams
US11599546B2 (en) * 2020-05-01 2023-03-07 EMC IP Holding Company LLC Stream browser for data streams
US11599420B2 (en) 2020-07-30 2023-03-07 EMC IP Holding Company LLC Ordered event stream event retention
US11513871B2 (en) 2020-09-30 2022-11-29 EMC IP Holding Company LLC Employing triggered retention in an ordered event stream storage system
US11755555B2 (en) 2020-10-06 2023-09-12 EMC IP Holding Company LLC Storing an ordered associative array of pairs using an append-only storage medium
US11743366B1 (en) * 2020-10-13 2023-08-29 Marvell Asia Pte Ltd Communication of sensor data in a motor vehicle communication network
US11599293B2 (en) 2020-10-14 2023-03-07 EMC IP Holding Company LLC Consistent data stream replication and reconstruction in a streaming data storage platform
CN112261377B (zh) * 2020-10-23 2023-07-04 青岛以萨数据技术有限公司 web版监控视频播放方法、电子设备及存储介质
CN112383592B (zh) * 2020-10-28 2022-11-08 安擎(天津)计算机有限公司 一种适用于流媒体数据传输的分发服务器
CN114629880B (zh) * 2020-12-10 2024-05-10 西安诺瓦星云科技股份有限公司 流媒体视频源管理方法、装置和插卡式视频拼接处理设备
CN112822439A (zh) * 2020-12-28 2021-05-18 江苏梨柳科技有限公司 一种拼接屏实时接入监控视频信号的方法
CN112866199B (zh) * 2020-12-31 2021-11-05 北京优锘科技有限公司 一种支持GB/T28181协议的设备在Chrome浏览器中查看的方法
CN112804542B (zh) * 2020-12-31 2023-05-23 武汉兴图新科电子股份有限公司 应用于云视频融合平台的浏览器点播视音频的方法及终端
US11816065B2 (en) 2021-01-11 2023-11-14 EMC IP Holding Company LLC Event level retention management for data streams
US11539770B1 (en) * 2021-03-15 2022-12-27 Xilinx, Inc. Host-to-kernel streaming support for disparate platforms
US11740828B2 (en) 2021-04-06 2023-08-29 EMC IP Holding Company LLC Data expiration for stream storages
US11954537B2 (en) 2021-04-22 2024-04-09 EMC IP Holding Company LLC Information-unit based scaling of an ordered event stream
CN113206888B (zh) * 2021-05-10 2022-12-13 创新奇智(上海)科技有限公司 基于rtsp的实时视频流传输方法及装置
US11681460B2 (en) 2021-06-03 2023-06-20 EMC IP Holding Company LLC Scaling of an ordered event stream based on a writer group characteristic
US20220406210A1 (en) * 2021-06-21 2022-12-22 Roots For Education Llc Automatic generation of lectures derived from generic, educational or scientific contents, fitting specified parameters
US11735282B2 (en) 2021-07-22 2023-08-22 EMC IP Holding Company LLC Test data verification for an ordered event stream storage system
CN113905032B (zh) * 2021-10-11 2024-04-12 杭州易知微科技有限公司 数据源管理方法、装置和计算机设备
US11971850B2 (en) 2021-10-15 2024-04-30 EMC IP Holding Company LLC Demoted data retention via a tiered ordered event stream data storage system
CN114286189B (zh) * 2021-12-16 2023-12-05 康佳集团股份有限公司 超高清多路直播显示处理方法、系统、智能终端及介质
CN114268612A (zh) * 2021-12-22 2022-04-01 中电福富信息科技有限公司 一种基于WebSocket的网页实时语音通信方法
CN114268773A (zh) * 2022-03-03 2022-04-01 杭州闪马智擎科技有限公司 一种视频播放方法、系统、存储介质及电子装置
CN115022676B (zh) * 2022-04-01 2024-02-13 重庆创通联达智能技术有限公司 视频流的推送方法、装置、电子设备及可读介质
CN115174539B (zh) * 2022-06-28 2023-06-02 上海网达软件股份有限公司 一种安防视频流传输方法、系统、设备及存储介质
CN115174545A (zh) * 2022-06-29 2022-10-11 广州鲁邦通物联网科技股份有限公司 一种基于国标GB28181的推流web播放方法和系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164655A1 (en) * 2007-12-20 2009-06-25 Mattias Pettersson Real-Time Network Transport Protocol Interface Method and Apparatus
CN102970522A (zh) * 2012-12-12 2013-03-13 四川省电力公司信息通信公司 一种利用客户端访问浏览前端摄像机回传视频图像的方法
CN103297445A (zh) * 2012-02-22 2013-09-11 中国移动通信集团公司 一种基于IP多媒体网络的Web终端通信方法和系统
CN103404132A (zh) * 2013-03-08 2013-11-20 华为终端有限公司 视频通信方法及家庭终端、家庭服务器
US20140330898A1 (en) * 2010-11-08 2014-11-06 Sony Corporation Methods and systems for use in providing a remote user interface
CN104244108A (zh) * 2014-09-24 2014-12-24 上海网达软件股份有限公司 一种直播方法及系统
CN104580137A (zh) * 2013-03-15 2015-04-29 阿瓦亚公司 使能用于不同通信协议的通信特征的应用编程接口
US20150304379A1 (en) * 2014-04-17 2015-10-22 Avaya Inc. PROVIDING WEB REAL-TIME COMMUNICATIONS (WebRTC) MEDIA SERVICES VIA WebRTC-ENABLED MEDIA SERVERS, AND RELATED METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA
US20160006817A1 (en) * 2014-07-03 2016-01-07 Telefonaktiebolaget L M Ericsson (Publ) System and method for pushing live media content in an adaptive streaming environment
US20160029002A1 (en) * 2014-07-26 2016-01-28 Soeren Balko Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers
CN105409183A (zh) * 2013-08-23 2016-03-16 华为技术有限公司 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备
US20160119399A1 (en) * 2014-10-24 2016-04-28 Kevin J. Glass Extending browser support of real time media to any available codec

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
WO2000011607A1 (en) 1998-08-20 2000-03-02 Apple Computer, Inc. Deferred shading graphics pipeline processor
KR101621530B1 (ko) 2008-12-08 2016-05-17 주식회사 엘지유플러스 무선 네트워크를 통한 플래시 컨텐츠 제공 방법 및 그 시스템과 플래시 컨텐츠 변환 방법 및 그 장치
KR101164746B1 (ko) 2010-08-11 2012-07-12 브로드밴드미디어주식회사 실시간 스트리밍 프로토콜을 기반으로 한 동영상 재생 서비스에서 동영상 재생 지연 보상 시스템 및 방법
KR101499354B1 (ko) 2012-10-26 2015-03-05 숭실대학교산학협력단 RTCWeb 서비스를 IMS 네트워크에 제공하기 위한 서버
EP3522034B1 (en) 2013-02-10 2023-09-13 Wix.com Ltd. Third party application communication api
US20150088977A1 (en) 2013-09-20 2015-03-26 Versigraph Inc. Web-based media content management

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164655A1 (en) * 2007-12-20 2009-06-25 Mattias Pettersson Real-Time Network Transport Protocol Interface Method and Apparatus
US20140330898A1 (en) * 2010-11-08 2014-11-06 Sony Corporation Methods and systems for use in providing a remote user interface
CN103297445A (zh) * 2012-02-22 2013-09-11 中国移动通信集团公司 一种基于IP多媒体网络的Web终端通信方法和系统
CN102970522A (zh) * 2012-12-12 2013-03-13 四川省电力公司信息通信公司 一种利用客户端访问浏览前端摄像机回传视频图像的方法
CN103404132A (zh) * 2013-03-08 2013-11-20 华为终端有限公司 视频通信方法及家庭终端、家庭服务器
CN104580137A (zh) * 2013-03-15 2015-04-29 阿瓦亚公司 使能用于不同通信协议的通信特征的应用编程接口
CN105409183A (zh) * 2013-08-23 2016-03-16 华为技术有限公司 用于在html5应用中实现任何网络功能客户端或服务器的系统和设备
US20150304379A1 (en) * 2014-04-17 2015-10-22 Avaya Inc. PROVIDING WEB REAL-TIME COMMUNICATIONS (WebRTC) MEDIA SERVICES VIA WebRTC-ENABLED MEDIA SERVERS, AND RELATED METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA
US20160006817A1 (en) * 2014-07-03 2016-01-07 Telefonaktiebolaget L M Ericsson (Publ) System and method for pushing live media content in an adaptive streaming environment
US20160029002A1 (en) * 2014-07-26 2016-01-28 Soeren Balko Platform-agnostic Video Player For Mobile Computing Devices And Desktop Computers
CN104244108A (zh) * 2014-09-24 2014-12-24 上海网达软件股份有限公司 一种直播方法及系统
US20160119399A1 (en) * 2014-10-24 2016-04-28 Kevin J. Glass Extending browser support of real time media to any available codec

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
BEYONDBLOG: "HTML5 WebSocket实现实时视频文字传输", 《网址:HTTPS://DEVELOPER.51CTO.COM/ART/201304/389047.HTM》 *
DOMINIC SZABLEWSKI: "HTML5 Live Video Sreaming Via WebSockets", 《网址:HTTPS://PHOBOSLAB.ORG/LOG/2013/09/HTML5-LIVE-VIDEO-STREAMING-VIA-WEBSOCKETS》 *
ELBEN SHIRA,ANKITR: "通过HTML5中的RTSP或RTP进行流式传输", 《网址:HTTPS://ANSWER-ID.COM/51204112》 *
FETTE,GOOGLE等: "The WebSocket Protocol;rfc6455.txt", 《THE WEBSOCKET PROTOCOL;RFC6455.TXT,INTERNET ENGINEERING TASK FORCE,IETF;STANDARD,INTERNET SOCIETY(ISOC)4,RUE DES FALAISES CH-1205 GENEVA,SWITZERLAND》 *
NAKIB: "RTP over Websocket", 《网址:HTTPS://STACKOVERFLOW.COM/QUESTIONS/18844534/RTP-OVER-WEBSOCKET》 *
OUYANG789: "利用websoket+vi deo+canvas实现简易的web视频功能", 《网址:WWW.360DOC.COM/CONTENT/16/0101/20/597197_524668925.SHTML》 *
PAVEL BUCEK: "WebSocket via HTTP proxy", 《网址:HTTPS://BLOGS.ORACLE.COM/PAVELBUCEK/WEBSOCKET-VIA-HTTP-PROXY》 *
SPEFORGE: "HTML5 RTSP Player", 《网址:HTTPS://GITHUB.COM/STREAMEDIAN/HTML5_RTSP_PLAYER/WIKI/HTML5-RTSP-PLAYER/C09222AB2C6D20DA7FCA626225D8D7F5095528B1》 *
周忠庆,陈葵懋: "《HTML5&CSS3&JavaScript App程序开发实战》", 31 May 2014 *
黄晓安, 何亮, 许宁: "使用HTML5 WebSocket构建实时Web应用", 《网址:HTTPS://DEVELOPER.IBM.COM/ZH/ARTICLES/1112-HUANGXA-WEBSOCKET/》 *

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337528A (zh) * 2018-01-17 2018-07-27 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN108337528B (zh) * 2018-01-17 2021-04-16 浙江大华技术股份有限公司 一种预览视频的方法及设备
CN110300320A (zh) * 2018-03-22 2019-10-01 杭州海康威视数字技术股份有限公司 一种视频播放方法、装置、电子设备及存储介质
US11204688B2 (en) 2018-03-22 2021-12-21 Hangzhou Hikvision Digital Technology Co., Ltd. Video playing method and device, electronic equipment and storage medium
CN112616070B (zh) * 2018-05-31 2022-12-09 西安万像电子科技有限公司 一种传输链路的管理方法及装置
CN112616070A (zh) * 2018-05-31 2021-04-06 西安万像电子科技有限公司 一种传输链路的管理方法及装置
CN110620959B (zh) * 2018-06-20 2020-12-25 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
US11470384B2 (en) 2018-06-20 2022-10-11 Hangzhou Hikvision Digital Technology Co., Ltd. Data processing method and apparatus, electronic device, system, and storage medium
WO2019242559A1 (zh) * 2018-06-20 2019-12-26 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN110620959A (zh) * 2018-06-20 2019-12-27 杭州海康威视数字技术股份有限公司 一种数据处理方法、装置、电子设备、系统及存储介质
CN108769616A (zh) * 2018-06-21 2018-11-06 泰华智慧产业集团股份有限公司 一种基于rtsp协议的实时视频无插件预览方法及系统
CN110661752A (zh) * 2018-06-29 2020-01-07 广州弘度信息科技有限公司 一种无插件实时视频播放系统及方法
CN108966006A (zh) * 2018-07-24 2018-12-07 上海小蚁科技有限公司 视频的播放方法、浏览器设备及可读存储介质
CN111294770A (zh) * 2018-12-06 2020-06-16 中兴通讯股份有限公司 一种车载语音控制方法、装置、设备及计算机可读介质
CN111294770B (zh) * 2018-12-06 2023-05-05 中兴通讯股份有限公司 一种车载语音控制方法、装置、设备及计算机可读介质
CN109842519B (zh) * 2018-12-25 2022-07-22 视联动力信息技术股份有限公司 一种预览视频流的方法和装置
CN109842519A (zh) * 2018-12-25 2019-06-04 视联动力信息技术股份有限公司 一种预览视频流的方法和装置
CN109889493A (zh) * 2019-01-04 2019-06-14 上海七印信息科技有限公司 一种基于WebSocket协议的页面快速访问方法
CN109889493B (zh) * 2019-01-04 2021-08-13 上海七印信息科技有限公司 一种基于WebSocket协议的页面快速访问方法
CN109729362A (zh) * 2019-01-10 2019-05-07 高新兴科技集团股份有限公司 视频解码播放方法、装置、计算机存储介质及电子设备
CN109818952A (zh) * 2019-01-15 2019-05-28 美都科技(天津)有限公司 一种基于websocket实现的语音、视频分节点即时互动、精准统计的架构和方法
CN110113298A (zh) * 2019-03-19 2019-08-09 视联动力信息技术股份有限公司 数据传输方法、装置、信令服务器和计算机可读介质
CN110113298B (zh) * 2019-03-19 2021-09-28 视联动力信息技术股份有限公司 数据传输方法、装置、信令服务器和计算机可读介质
CN112770188A (zh) * 2019-11-01 2021-05-07 杭州海康威视系统技术有限公司 一种视频播放方法及装置
CN112822557A (zh) * 2019-11-15 2021-05-18 中移物联网有限公司 信息处理方法、装置、电子设备及计算机可读存储介质
CN113067997A (zh) * 2020-01-02 2021-07-02 北京沃东天骏信息技术有限公司 一种实时视频通话的方法和装置
CN111556134A (zh) * 2020-04-26 2020-08-18 上海契胜科技有限公司 一种视频编码本地优化方法
CN111787399A (zh) * 2020-07-23 2020-10-16 成都云盯科技有限公司 一种视频播放方法、装置和系统
CN112073809A (zh) * 2020-08-09 2020-12-11 富盛科技股份有限公司 一种支持浏览器播放任意编码格式视频的方法
WO2022057469A1 (zh) * 2020-09-21 2022-03-24 苏州浪潮智能科技有限公司 Web端音频在线播放防止下载的方法、系统、设备及介质
CN112153042A (zh) * 2020-09-21 2020-12-29 苏州浪潮智能科技有限公司 Web端音频在线播放防止下载的方法、系统、设备及介质
CN112804592A (zh) * 2021-01-11 2021-05-14 福建天泉教育科技有限公司 一种基于浏览器的rtsp直播视频转发方法及终端
CN112383574B (zh) * 2021-01-18 2021-04-02 北京翼辉信息技术有限公司 基于web的可交互式流媒体双通道传输方法、系统及存储介质
CN112383574A (zh) * 2021-01-18 2021-02-19 北京翼辉信息技术有限公司 基于web的可交互式流媒体双通道传输方法、系统及存储介质
CN113556292A (zh) * 2021-06-18 2021-10-26 珠海惠威科技有限公司 Ip网络的音频播放方法及系统
CN113824925A (zh) * 2021-08-11 2021-12-21 南京国电南自电网自动化有限公司 一种web无插件视频监控系统和方法
CN113691531A (zh) * 2021-08-24 2021-11-23 深圳市思迪信息技术股份有限公司 基于WebSocket协议的数据传输方法及系统、设备及存储介质
CN113810767B (zh) * 2021-09-13 2024-02-13 南京国电南自电网自动化有限公司 一种基于websocket的视频实时监视方法及系统
CN113810767A (zh) * 2021-09-13 2021-12-17 南京国电南自电网自动化有限公司 一种基于websocket的视频实时监视方法及系统
CN113949821A (zh) * 2021-09-15 2022-01-18 长视科技股份有限公司 视频播放方法、装置、计算机设备和存储介质
CN114286166A (zh) * 2021-09-29 2022-04-05 海信视像科技股份有限公司 显示设备、信号接收装置及媒资播放方法
CN114339146B (zh) * 2021-12-23 2022-11-18 上海清鹤科技股份有限公司 音视频监控方法、装置、电子设备及计算机可读存储介质
CN114339146A (zh) * 2021-12-23 2022-04-12 上海清鹤科技股份有限公司 音视频监控方法、装置、电子设备及计算机可读存储介质
CN114390340A (zh) * 2021-12-30 2022-04-22 北京鸿合爱学教育科技有限公司 视频播放方法、装置和电子设备
CN115589399A (zh) * 2022-10-11 2023-01-10 北京太格时代自动化系统设备有限公司 变电所辅助监控视频远程播放方法和装置
CN115589399B (zh) * 2022-10-11 2023-06-27 北京太格时代电气股份有限公司 变电所辅助监控视频远程播放方法和装置
CN117097705A (zh) * 2023-10-21 2023-11-21 北京蔚领时代科技有限公司 一种基于WebTransport的音视频传输方法和系统
CN117097705B (zh) * 2023-10-21 2024-01-16 北京蔚领时代科技有限公司 一种基于WebTransport的音视频传输方法和系统

Also Published As

Publication number Publication date
EP3229476B1 (en) 2022-12-07
EP3229476A1 (en) 2017-10-11
US20170289214A1 (en) 2017-10-05
US10412130B2 (en) 2019-09-10
CN107277612B (zh) 2021-10-01

Similar Documents

Publication Publication Date Title
CN107277612A (zh) 用于在web浏览器上播放媒体流的方法和设备
CN103475953B (zh) 一种基于桌面云的媒体控制方法和设备
CN104253856B (zh) 可缩放Web实时通信媒体引擎以及相关的方法、系统
CN103814593B (zh) 在无线显示系统中进行多播的方法及设备
US20190089760A1 (en) Systems and methods for real-time content creation and sharing in a decentralized network
CN103596065B (zh) 装置定向能力交换信令和多媒体内容的服务器适应性修改
CN104253742B (zh) 虚拟web实时通信网关以及相关的方法、系统
CN104348710B (zh) 用于获取和关联web实时通信交互流特性的方法和系统
CN109274634A (zh) 多媒体通信方法及装置、存储介质
CN101212654B (zh) 一种网络视频监控系统及其数据获取方法
CN105763832B (zh) 一种视频互动、控制方法及装置
CN104506793B (zh) 一种基于互联网的安全视频会议系统及方法
CN105393546B (zh) 在用于无线显示的源设备中用于资源利用的方法和装置
CN107317793A (zh) 用于无线显示器的用户输入返回信道的方法和设备
CN103650458A (zh) 媒体流的传输方法、装置与系统
KR101821123B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
CN109327493A (zh) 一种基于云的远程医疗监控系统及监控方法
CN106101072A (zh) 用于在网络上传送视频数据的系统和方法
US11809771B2 (en) Orchestrated control for displaying media
KR101821124B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
CN107409237A (zh) 针对输出装置和网络质量的云游戏数据流动态调整
CN103118245A (zh) 实时音视频交互式物联平台
CN103403649B (zh) 用于无线显示器的用户输入返回信道
US10701118B2 (en) Method for the processing of a multimedia stream, corresponding device and computer program
TW201447807A (zh) 管理串流參數之圖形伺服器與方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: Gyeongnam Changwon City, South Korea

Applicant after: HANWHA AEROSPACE Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA TECHWIN Co.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20190227

Address after: Gyeonggi Do city of South Korea

Applicant after: HANWHA TECHWIN Co.,Ltd.

Address before: Gyeongnam Changwon City, South Korea

Applicant before: HANWHA AEROSPACE Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Gyeonggi Do city of South Korea

Patentee after: Hanhua Vision Co.,Ltd.

Address before: Gyeonggi Do city of South Korea

Patentee before: HANWHA TECHWIN Co.,Ltd.

CP01 Change in the name or title of a patent holder