CN108337248B - 媒体重放设备和媒体服务设备 - Google Patents

媒体重放设备和媒体服务设备 Download PDF

Info

Publication number
CN108337248B
CN108337248B CN201810048973.0A CN201810048973A CN108337248B CN 108337248 B CN108337248 B CN 108337248B CN 201810048973 A CN201810048973 A CN 201810048973A CN 108337248 B CN108337248 B CN 108337248B
Authority
CN
China
Prior art keywords
media
audio
video
data
web
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
CN201810048973.0A
Other languages
English (en)
Other versions
CN108337248A (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
Hanwha 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 KR1020170087672A external-priority patent/KR101931514B1/ko
Application filed by Hanwha Techwin Co Ltd filed Critical Hanwha Techwin Co Ltd
Publication of CN108337248A publication Critical patent/CN108337248A/zh
Application granted granted Critical
Publication of CN108337248B publication Critical patent/CN108337248B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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
    • 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/75Media network packet handling
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/85406Content authoring involving a specific file format, e.g. MP4 format

Abstract

本公开涉及一种媒体重放设备和媒体服务设备。在本公开中,由于使用web工作器以多线程的方式执行视频的恢复、音频的恢复和媒体的重放,所以同时执行媒体的重放和存储是可行的。为此,在执行视频的恢复的视频web工作器、执行音频的恢复的音频web工作器以及执行媒体的备份的备份web工作器之间执行互相配合工作。根据本公开,同时执行媒体的重放和备份是可行的,并且停止媒体的备份然后恢复备份也是可行的。

Description

媒体重放设备和媒体服务设备
本申请要求于2017年1月20日提交到韩国知识产权局的第10-2017-0009963号韩国专利申请、于2017年2月10日提交到美国专利商标局的第62/457,203号美国临时专利申请以及于2017年7月11日提交到韩国知识产权局的第10-2017-0087672号韩国专利申请的优先权,所述申请的公开通过引用完整地包含于此。
技术领域
本公开涉及一种用于同时重放和备份媒体的设备和方法,更具体地讲,涉及一种用于在网络(web)浏览器上以多线程的方式在没有相互影响的情况下同时执行媒体的重放和备份的设备和方法。
背景技术
为了使用户通过互联网在web浏览器上重放媒体数据,可使用以本地代码编写编解码器、解码器、渲染器等的插件。web浏览器插件的示例包括ActiveX和Netscape插件应用编程接口(NPAPI)。
ActiveX由微软公司使用两种技术(组件对象模型(COM)和对象链接与嵌入(OLE))的组合而开发。然而,在狭义上,它表示在微软的Internet Explorer web浏览器中以扩展(add-on)的形式使用的ActiveX控件。ActiveX能够使Internet Explorer web浏览器播放媒体。
NPAPI是针对Netscape浏览器开发的应用编程接口(API),并在功能上与InternetExplorer的ActiveX类似。NPAPI是为了增强web浏览器的功能而被提供使用插件形式的外部应用程序的API,并在它的萌芽阶段被首先用于web环境。换言之,它被开发为在早期web页面上播放音乐和视频。例如,Java Applet、Adobe Flash和Real Player等利用NAPAPI技术。
然而,由于插件有时会被黑客滥用为散布恶意代码,所以很多主流web浏览器不再支持插件。在NPAPI的情况下,制作并发行Chrome web浏览器的谷歌在发布Chrome版本45之后不再支持NPAPI。此外,作为Windows 10操作系统的默认浏览器的Microsoft Edge浏览器不再支持ActiveX。
作为在没有插件的情况下在web浏览器上重放媒体的方法,可以以JavaScript实现解码器等。当以JavaScript实现解码器时,存在能够在不受编解码格式的限制的情况下执行解码的优势。然而,由于JavaScript仅支持单个线程,因此如果意在同时执行媒体的重放和存储,则它们可能互相影响。
超文本标记语言版本5(HTML5)的web工作器指的是在后台与用户接口脚本独立地运行的JavaScript。通常,网页由于JavaScript的单线程的性质而不会响应,直到任务完成为止,但是多线程可由web工作器实现。
因此,本公开提出一种能够使用web工作器同时播放和存储媒体的设备和方法。
发明内容
本公开的多个方面提供了一种用于在web浏览器中没有插件的情况下同时重放和存储媒体的设备和方法。
然而,本公开的多个方面不限于在此阐述的一个方面。通过参考下面给出的本公开的详细描述,本公开的以上和其他方面对于本公开所属领域的普通技术人员将更清楚。
根据示例实施例的一方面,提供一种用于在web浏览器上重放和备份媒体的媒体重放设备。所述媒体恢复设备可包括:接收器,被配置为:使用支持web服务的通信协议来接收在媒体服务设备中产生的媒体数据,并从媒体数据分离出压缩的音频数据和压缩的视频数据;web工作器产生器,被配置为:产生包括视频web工作器、音频web工作器和备份web工作器的多个web工作器;视频解码器,被实现为由web浏览器支持的第一脚本,并被配置为使用作为第一线程的视频web工作器来对压缩的视频数据进行解码以恢复视频;音频解码器,被实现为由web浏览器支持的第二脚本,并被配置为使用作为第二线程的音频web工作器来对音频数据进行解码以恢复音频;备份,被配置为:从视频web工作器接收包括在压缩的视频数据中的视频帧,从音频web工作器接收包括在压缩的音频数据中的音频帧,使用作为第三线程的备份web工作器对接收到的视频数据和接收到的音频数据进行复用,并将复用的视频数据和音频数据存储在存储器中。
根据示例实施例的一方面,提供一种用于将媒体数据发送到媒体重放设备的媒体服务设备。所述媒体服务设备可包括:模块存储器,被配置为存储在媒体重放设备的web浏览器上重放媒体数据所需的脚本模块;模块传输器,被配置为响应于媒体重放设备的连接,将脚本模块传输到媒体重放设备;打包器,被配置为对媒体数据进行打包以产生通信包;web服务器,被配置为响应于来自媒体重放设备的请求,与媒体重放设备建立通信会话并将通信包传输到媒体重放设备。脚本模块可被配置为:通过通信会话接收通信包,从媒体数据分离出压缩的视频数据和压缩的音频数据,产生视频web工作器、音频web工作器和备份web工作器,从视频web工作器接收包括在压缩的视频数据中的视频帧,从音频web工作器接收包括在压缩的音频数据中的音频帧,使用作为线程的备份web工作器将接收到的视频数据和接收到的音频数据进行复用。
本公开的示例实施例至少提供下面的效果。
在本公开,由于没有使用插件,所以它有效抵御安全威胁并符合插件在web浏览器中被弃用的趋势。
根据本公开,由于媒体可在web浏览器中被同时重放和存储,所以可实时存储正在远处捕获的直播媒体。
本公开的效果不限于上述效果,通过下面的描述,这里未描述的其他效果对本领域技术人员来说将变得清楚。
附图说明
通过参考附图对本公开的示例实施例进行详细描述,本公开的上述和/或其他方面和特征将变得更加清楚,其中:
图1示出用于媒体重放的整个系统的示例实施例;
图2是示出针对装置之间的通信而分层定义的传输控制协议/互联网协议(TCP/IP)4-层模型的示图;
图3示出在媒体服务设备与媒体重放设备之间执行WebSocket连接的处理;
图4示出通过WebSocket连接来发送和接收数据的处理的示例;
图5是示出通过网络接口发送的通信包的结构的示图;
图6示出媒体服务设备的示例实施例;
图7示出媒体服务设备的配置的另一示例实施例;
图8示出脚本模块的示例实施例;
图9示出脚本模块的另一示例实施例;
图10示出脚本模块的另一示例实施例;
图11示出媒体重放设备的示例实施例;
图12示出媒体重放设备的另一示例实施例;
图13示出媒体重放设备的媒体备份处理;
图14示出由web工作器产生器产生的主线程、视频web工作器、音频web工作器和备份web工作器;
图15示出在备份单元中产生Blob对象文件的处理;
图16是说明根据示例性实施例的产生以JavaScript实现的脚本模块的处理的示图;
图17是用于实现媒体重放设备的计算装置的示例示图。
具体实施方式
通过参考下面的优选的实施例的具体实施方式和附图,可更容易地理解本公开的优点和特征以及实现本公开的方法。然而,本公开可以以很多不同的形式实现,并不应被解释为限于这里阐述的实施例。相反,提供这些示例实施例,使得本公开将是彻底的和完整的并将本公开的构思完整地传达到本领域技术人员,并且本公开将仅由所附权利要求书限定。相同的数字标号始终表示相同的元件。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有和本公开所属领域的普通技术人员普遍理解的含义相同的含义。还将理解,除非在这里明确地定义,否则术语(诸如,在通用字典中定义的术语)应该被解释为具有与它们在相关领域的语境中的含义一致的含义,而不将被解释为理想化或过于形式化的意义。
这里使用的术语仅是出于描述特定实施例的目的,而不意图限制本公开。如这里所使用,除非上下文清楚地另有指示,否则单数形式也意图包括复数形式。还将理解,当在本说明书中使用术语“包括”时,指定存在叙述的组件,但不排除存在或添加一个或多个其他组件。
以下,将参考附图详细地描述本公开的示例实施例。
图1示出用于重放媒体的整个系统的一个示例实施例。图1的整个系统包括媒体服务设备110、媒体重放设备120以及连接这两个设备的网络430。
媒体服务设备110包括适用于将计算服务提供给一个或多个视频重放设备的计算或处理装置。例如,媒体服务设备110包括能产生或存储视频流并将视频流发送到用户装置的装置,诸如,网络相机、网络视频录像机(NVR)和数字视频录像机(DVR)。
媒体重放设备120包括适用于通过网络430与媒体服务设备110或其他计算用户装置交互的计算或处理装置。例如,媒体重放设备120可包括台式计算机、移动电话或智能电话、个人数字助理(PDA)、膝上型计算机和平板计算机。
在媒体重放设备120的请求下,通过网络430传输由媒体服务设备110实时捕获或存储的媒体。用户可重放或寻找通过在媒体重放设备120的web浏览器210上实现的用户接口发送的媒体。在这种情况下,web浏览器210不仅包括安装在台式计算机或移动电话上的公知浏览器(诸如,Google Chrome、Microsoft Explorer、Mozilla Firefox和AppleSafari),而且还包括使用API或web浏览器的资源单独创建的软件应用。
下面,将参考图2至图5来描述通过WebSocket传输的实时流传输协议/实时传输协议(RTSP/RTP)数据,其中,WebSocket是媒体服务设备110与媒体重放设备120之间的网络通信方案。
图2是示出针对装置之间的通信而分层定义的传输控制协议/互联网协议(TCP/IP)4-层模型的示图。四个层包括网络接口层21、互联网层22、传输层23和应用层24。由于经由WebSocket传输的RTSP/RTP协议中的WebSocket连接位于传输层23的连接的顶端,所以为了使用WebSocket连接,必须首先在媒体服务设备110与媒体重放设备120之间建立TCP传输连接。一旦例如通过3路握手(handshake)处理在媒体服务设备110与媒体重放设备120之间建立了WebSocket连接,则通过传输WebSocket包来执行WebSocket通信。下面将参考图3至图5详细描述WebSocket连接和WebSocket包。
图3示出在媒体服务设备110与媒体重放设备120之间执行WebSocket连接的处理。媒体重放设备120请求媒体服务设备110使用WebSocket统一资源标识符(URI)发起WebSocket连接。可使用GetServiceCapabilities的命令获得WebSocket URL。例如,WebSocket URL被表示为“ws://192.168.0.5/webSocketServer”(S1000)。
媒体重放设备120将WebSocket升级(upgrade)请求发送到媒体服务设备110。媒体重放设备120利用代码101进行响应,其中,代码101为用于批准协议改变请求的状态码(S1100)。
在媒体服务设备110与媒体重放设备120之间建立WebSocket连接之后,通过经由WebSocket传输的RTSP/RTP协议而不是通过超文本传输协议版本1.1(HTTP/1.1)来交换数据。图3中的DESCRIBE、SETUP、PLAY、PAUSE和TEARDOWN是RTSP命令。DESCRIBE请求包括URL。对DESCRIBE的响应消息还包括请求的描述。SETUP请求指定单个媒体流是否应该被发送。PLAY请求是用于播放一个或全部媒体流的请求,并且多个请求是可行的。PAUSE请求是用于暂停一个或全部媒体流的重放的命令。可使用PLAY请求来重新开始重放。TEARDOWN请求是用于终止会话的命令。由TEARDOWN请求停止全部媒体流的重放并且还释放与数据相关的全部会话(S1200)。
在图3中所示的在WebSocket连接处理中从媒体重放设备120发送的请求消息以及媒体服务设备110的响应消息的示例如下面表1所示。
【表1】
Figure BDA0001551805120000061
根据作为HTML5标准的部分的WebSocket协议进行这个WebSocket连接。特别地,由于WebSocket连接持续地支持双向通信,所以可在WebSocket连接没有断开的情况下,在媒体服务设备110与媒体重放设备120之间持续地发送和接收数据。
图4示出通过WebSocket连接来发送和接收数据的处理的示例。参考图4,首先,媒体重放设备120将TCP/IP连接请求消息发送到媒体服务设备110,并且媒体服务设备110接收TCP/IP连接请求消息,并将TCP响应消息(SYN-ACK)发送到媒体重放设备120,从而建立TCP/IP连接。TCP传输连接可由一对本地TCP套接字(socket)和远程TCP套接字形成。每个TCP套接字由至少一个标识符(诸如,端口号和IP地址)定义。当然,还可在它们之间建立基于用户数据报协议/IP(UDP/IP)的连接来替代基于TCP/IP的连接。
然后,当通过媒体重放设备120与媒体服务设备110之间的握手处理建立了WebSocket连接时,它们之间的持续数据发送/接收随后可被执行。也就是说,媒体重放设备120以传输WebSocket包的形式将媒体流传输请求发送到媒体服务设备110(socket.send),并且媒体服务设备110以响应WebSocket包的形式将媒体流发送到媒体重放设备120(socket.onMessage)。在媒体重放设备120与媒体服务设备110之间可持续执行该处理,直到媒体流传输被停止或完成为止。
图5示出通过网络接口21发送的通信包的结构的示图。当RTP头44被添加到与数据45对应的RTP有效载荷(payload)时,RTP有效载荷变为RTP包。RTP包与WebSocket有效载荷等同,并且WebSocket头43被添加到RTP包而变为WebSocket包。WebSocket包与TCP有效载荷等同,并且TCP头42被添加到WebSocket包而变为TCP包。最后,TCP包与IP有效载荷等同,并且IP头41被添加到TCP包,从而完成通信包(也就是说,IP包)。在媒体服务设备110和媒体重放设备120两者中执行完成IP包的处理和去除每个头的处理。
由于通过基于HTML5的WebSocket协议来执行媒体服务设备110与媒体重放设备120之间的通信,所以可通过能够以HTML5解析的脚本代码来实现负责RTSP/RTP发送/接收控制的模块和解码器。因此,在不需要如传统方式单独地安装插件的情况下,可在HTML5环境的web浏览器中实现使用RTSP/RTP协议的媒体重放。
目前,已经描述媒体服务设备110与媒体重放设备120之间的网络通信方案。以下,将参考图6至图16描述媒体服务设备110和媒体重放设备120的配置和操作方法。
图6示出媒体服务设备110的配置的示例实施例。在一个示例实施例中,媒体服务设备110包括实时摄像机111、编码器112、打包器113、web服务器114、模块存储器115、模块传输器116和控制器117。可使用软件、硬件(例如,处理器、微芯片、电路等)或它们的组合来实现图6和其他图中所示的各种模块、组件和元件。
实时摄像机111是用于实时捕获媒体的工具,并且这种捕获包括执行视频捕获和音频记录二者的情况和仅执行视频捕获的情况。
编码器112被配置为对由实时摄像机111捕获的媒体进行压缩和编码。不一定使用嵌入在web浏览器中的解码器所支持的特定编解码器来执行编码器112的编码,而是可以以任意编解码器格式来执行编码器112的编码。
打包器113对编码的媒体数据进行打包以产生传输包。打包表示将媒体数据划分成合适的长度以促进通过网络430的传输或者如果媒体数据是短的则将控制信息(诸如,接收地址)共同地分配给合适的长度的每个数据。在这种情况下,控制信息位于包的头中。传输包为上述的WebSocket包的形式。
打包器113可根据由媒体重放设备120请求的方法来执行媒体数据的打包。例如,当媒体重放设备120在逐帧的基础上请求视频时,打包器113可以以帧格式产生传输包,并且当媒体重放设备120基于由嵌入在web浏览器中的解码器所支持的容器来请求视频时,打包器113可以以容器格式产生传输包。
web服务器114建立与媒体重放设备120的通信会话。也就是说,通过媒体服务设备110的web服务器114与媒体重放设备120之间的握手处理来在它们之间建立WebSocket连接。随后,根据媒体重放设备120的请求,通过web服务器114传输由打包器113产生的传输包。
模块存储器115是用于存储在媒体重放设备120重放媒体所需的脚本模块的模块。脚本模块是作为以可由web浏览器解析的脚本编写的代码的模块,其允许媒体重放设备120在没有安装插件或单独的应用程序的情况下在HTML5环境的web浏览器中重放媒体。在一个实施例中,脚本模块可以是以JavaScript编写的代码。稍后将参考图8至图10来描述脚本模块。
模块传输器116是用于将存储在模块存储器115中的脚本模块传输到媒体重放设备120的模块。响应于媒体重放设备120通过网络430连接到媒体服务设备110的情况,模块传输器116传输脚本模块。
控制器117是用于控制媒体服务设备110中的其他配置模块的模块。例如,当媒体重放设备120通过网络430连接到web服务器114时,存储在模块存储器115中的脚本模块通过模块传输器116被发送到媒体重放设备120。在这种情况下,控制器117将信号发送到各个模块或从各个模块接收信号以控制操作被顺利地执行。
将基于图6的媒体服务设备110的配置模块的描述来描述操作方法。当媒体重放设备120通过网络430连接到web服务器114时,模块传输器116将存储在模块存储器115中的脚本模块传输到媒体重放设备120。当脚本模块被安装在媒体重放设备120中时,用户通过用户接口请求媒体重放或备份。响应于上述操作,媒体服务设备110在编码器112中对由实时摄像机111捕获的实时直播媒体进行编码,并在打包器113中根据帧或容器格式将媒体数据打包成通信包。然后,媒体服务设备110通过web服务器114将它们发送到媒体重放设备120。
图7示出媒体服务设备110的配置的另一实施例。图6的媒体服务设备110表示用于使用实时摄像机111发送实时直播媒体的示例实施例,而图7的媒体服务设备110表示用于发送存储在媒体存储器118中的媒体的示例实施例。
媒体存储器118包括网络视频录像机(NVR)和个人视频录像机(PVR)。然而,将结合网络视频录像机来描述图7的示例实施例。
媒体存储器118从相机或服务器接收媒体数据,并压缩和存储接收到的媒体数据。当存在来自媒体重放设备120的针对存储的媒体数据的传输的请求时,媒体服务设备110在打包单元113中对存储在媒体存储器118中的媒体数据进行打包,并通过web服务器114发送打包的数据。
在图7的示例实施例中,已经在图6的实施例中描述了媒体服务设备110的配置模块之中的打包器113、web服务器114、模块存储器115、模块传输器116和控制器117,因此,将省略它们的冗余描述。
接下来,将参考图8至图10详细描述存储在媒体服务设备110的模块存储器115中的脚本模块。脚本模块是从媒体服务设备110发送到媒体重放设备120、安装在媒体重放设备120中并用于媒体重放和备份的模块。脚本模块可执行:通过通信会话接收由打包器113产生的通信包的处理;分离出包括在媒体数据中的压缩的视频数据和压缩的音频数据并产生视频web工作器、音频web工作器和备份web工作器的处理;恢复压缩的视频数据和压缩的音频数据的处理;接收包括在压缩的视频数据中的视频帧、接收包括在压缩的音频数据中的音频帧并对接收到的视频数据和音频数据进行复用的处理。
脚本模块中产生的视频web工作器、音频web工作器和备份web工作器是彼此独立操作的多线程的web工作器。脚本模块可执行通过postMessage产生用于与web工作器互相配合工作的上层的主线程的处理,其中,postMessage是应用编程接口(API)中的函数。基于主线程,视频web工作器执行恢复视频数据的处理,音频web工作器执行恢复音频数据的处理,并且备份web工作器执行对视频数据和音频数据进行复用的处理。因此,由于通过web工作器以多线程的方式执行视频数据的恢复、音频数据的恢复以及对视频数据和音频数据的复用,所以脚本模块可提供媒体重放设备120可同时执行媒体重放和备份的环境。
以下,将描述用于通过图8中的视频web工作器执行视频数据的恢复、通过图9中的音频web工作器执行音频数据的恢复以及通过图10中的备份web工作器执行对视频数据和音频的复用的脚本模块。可以以能够被web浏览器解析的脚本来实现脚本模块。在图8至图10的实施例中,将描述以JavaScript实现脚本模块的情况。
图8示出脚本模块的示例实施例。图8的脚本模块是用于使用视频web工作器在帧基础上恢复视频的模块,并且包括RTSP/RTP客户端模块121、解包模块122、视频解码器124和视频渲染器125。
RTSP/RTP客户端模块121被配置为支持与媒体服务设备110的RTSP/RTP通信。通过RTSP/RTP客户端模块121从媒体服务设备110的web服务器114接收传输包是可行的。目前,在没有插件的情况下,在web浏览器上根据RTSP/RTP协议处理媒体是不可能的。当使用RTSP/RTP客户端模块121时,即使web浏览器使用HTTP方案,可靠地接收通过RTSP/RTP协议传输的数据也是可行的。
解包模块122是用于对从RTSP/RTP客户端模块121发送的包进行解包的模块。解包是打包的逆操作。如果打包表示将媒体数据划分为具有合适长度的片段以形成包,则解包表示通过将片段(即,包)再次组合将媒体数据恢复到打包之前的状态。
解码器模块124是用于对编码的媒体数据进行解压缩(即,执行解码)的模块。与脚本模块的其他模块类似,以JavaScript实现解码器模块124。由于以JavaScript实现解码器模块124,所以不同于嵌入在web浏览器中的解码器,在对编解码格式没有限制的情况下以任意编解码格式来执行解码是可行的。在逐帧的基础上执行解码也是可行的。
例如,如果根据图8的实施例以JavaScript实现解码器模块124,则可由下面的表2中所示的代码表示解码器模块124。
【表2】
Figure BDA0001551805120000111
Figure BDA0001551805120000121
Figure BDA0001551805120000131
视频渲染器125用于对解码的媒体进行渲染并在输出装置(诸如,显示器等)上显示解码的媒体。视频渲染器125使用WebGL,将YUV格式的视频数据转换为RGB格式的视频数据。WebGL是通过JavaScript可用的并允许3D图形界面的创建的基于网页的图形库。
图9示出脚本模块的另一示例实施例。图9的脚本模块是用于使用音频web工作器恢复音频帧的模块,并且图9的脚本模块包括RTSP/RTP客户端121、打包模块122和音频解码器123。RTSP/RTP客户端121和打包模块122是参考图8描述的模块,因此,将省略冗余的描述。
音频解码器123是用于使用作为线程的音频web工作器对压缩的音频数据进行解码和恢复的模块。与视频解码器124类似,音频解码器123可以以JavaScript实现,并且可在不受编解码格式的限制的情况下对音频数据进行解码。
图10示出脚本模块的另一实施例。图10的脚本模块是用于使用备份web工作器来备份视频数据和音频数据的模块,并且图10的脚本模块包括缓冲器控制器126和复用器(MUX)127。
缓冲器控制器126分别从视频web工作器和音频web工作器接收包括在压缩的视频数据中的视频帧和包括在压缩的音频数据中的音频帧。在这种情况下,接收的数据是解码之前的数据。缓冲器控制器126可将接收到的视频帧和音频帧以任意顺序存储在缓冲器中。
即使当媒体数据的接收中断发生时,缓冲器控制器126也可保留存储在缓冲器中的视频帧和音频帧。如果随后的媒体数据的接收恢复,则从随后的媒体数据获得的视频帧和音频帧可接着存储在缓冲器中。
MUX 127用于按标准存储格式对存储在缓冲器中的视频帧和音频帧进行复用。在这种情况下,标准存储格式包括MP4文件格式或AVI文件格式。此外,MUX 127可被配置为在通过用户的作为触发的保存命令接收特定范围的全部媒体数据的条件下对存储在缓冲器中的视频帧和音频帧进行复用,产生二进制大对象(Blob)对象文件,并将其存储在媒体重放设备120的存储器中。
当媒体重放设备120连接到媒体服务设备110并且提供了在没有插件的情况下可在媒体重放设备120的web浏览器210中执行媒体重放和备份的环境时,参考图8至图10描述的脚本模块从媒体服务设备110发送到媒体重放设备120。也就是说,脚本模块被安装在媒体重放设备120中以配置用于媒体重放和备份的系统。将参考图11和图12描述具有脚本模块的媒体重放设备120的示例实施例。
图11和图12示出媒体重放设备120的示例实施例。用于媒体重放设备120中的媒体重放的主要模块由脚本模块配置。由于已经参考图8至图10描述脚本模块的功能,所以将参考图11和图12关注配置和操作方法来描述媒体重放设备120。
图11示出媒体重放设备120的示例实施例。图11的媒体重放设备120包括接收器141、web工作器发生器143、视频恢复器144、音频恢复器145和备份单元146。可通过接收图8至图10的脚本模块来配置图11的媒体重放设备120。
接收器141使用支持web服务的通信协议来接收由媒体服务设备110产生的媒体数据。在这种情况下,支持web服务的通信协议可以是经由WebSocket传输的RTSP/RTP协议。接收器141可被配置为包括WebSocket客户端131和RTSP/RTP客户端121。
WebSocket客户端131是用于与媒体服务设备110的web服务器114建立WebSocket连接的模块。媒体重放设备120和媒体服务设备110通过WebSocket客户端131与web服务器114之间的握手来分别发送和接收传输包。
如图8的示例实施例中所述,RTSP/RTP客户端模块121在用户的web浏览器210中执行支持RTSP/RTP通信的功能。因此,在没有安装单独的插件的情况下,用户可通过使用RTSP/RTP协议的HTML5环境的web浏览器210来重放媒体。
RTSP/RTP客户端121将从WebSocket客户端131接收到的媒体数据分离出视频数据和音频数据,并将数据发送到解包模块122。解包模块122执行视频数据和音频数据的解包。
接下来,将参考图14描述web工作器发生器143。web工作器发生器143可产生主线程、视频web工作器、音频web工作器以及备份web工作器,使得媒体重放设备120可以以多线程的方式执行媒体重放和备份。主线程可以是作为用于在媒体重放设备120中执行媒体重放和备份的基础线程的用户接口脚本。视频web工作器、音频web工作器和备份web工作器构成作为主线程的下层的线程的多线程。例如,可通过使用postMessage方法在主线程与web工作器之间交换消息,其中,只有单个变量被允许作为将传输的数据。
下面表3示出在主线程和web工作器之间传输的postMessage的形式。
【表3】
Figure BDA0001551805120000151
Figure BDA0001551805120000161
当视频解码器124对压缩的视频进行解码时,视频web工作器在视频恢复器144中被使用,当音频解码器123对压缩的音频进行解码时,音频web工作器在音频恢复器145中被使用。在视频web工作器分离出压缩的视频数据并且音频web工作器分离出压缩的音频数据之后,当压缩的视频数据和音频数据被发送到备份web工作器时,备份web工作器可对压缩的视频数据和音频数据进行复用,并将复用的数据存储在存储器中。
由于JavaScript仅支持单线程处理,所以当同时执行媒体重放和备份时,它们可作为中断彼此影响。因此,web工作器产生器143产生主线程以及视频web工作器、音频web工作器和备份web工作器,使得媒体重放和备份可被同时执行,其中,视频web工作器、音频web工作器和备份web工作器是作为主线程的下层的线程彼此独立操作的多线程的web工作器。
返回参考图11,视频恢复器144执行解包的视频数据的解码和渲染,并且视频恢复器144包括视频解码器124和视频渲染器125。
视频解码器124使用视频web工作器对压缩的视频数据进行解码来恢复视频。视频解码器124包含可由web浏览器解析的脚本。在这种情况下,可由web浏览器解析的脚本可以是JavaScript。由于可以以JavaScript实现视频解码器124,所以可由视频解码器124解码的格式不受限制。也就是说,对包括可由嵌入在web浏览器中的视频解码器解码的视频格式的各种编解码格式的视频数据进行解码是可行的。
视频渲染器125以可从显示装置(诸如,显示器)输出的形式对恢复的视频数据进行渲染。视频渲染器125可使用WebGL将YUV格式的视频数据转换为RGB格式的视频数据。
音频恢复器145执行解包的音频数据的解码和渲染,并且音频恢复器145包括音频解码器123和音频渲染器132。
音频解码器123使用音频web工作器对压缩的音频数据进行解码以恢复音频。音频解码器123包含可由web浏览器解析的脚本。在这种情况下,可由web浏览器解析的脚本可以是JavaScript。由于与视频解码器124类似可以以JavaScript实现的音频解码器123,所以由音频解码器123解码的音频格式包括可由嵌入在web浏览器中的音频解码器解码的音频格式。
音频渲染器132以可从输出装置(诸如,扬声器)输出的形式来渲染恢复的音频数据。音频渲染器132可被实现为由web浏览器支持的Web音频API(Web Audio API)。
备份单元146使用备份web工作器来执行对视频数据和音频数据进行复用以及将数据存储在存储器中的功能,并且备份单元146包括缓冲器控制器126和MUX 127。
备份web工作器可从触发模块133接收触发信号,并开始对视频数据和音频数据进行复用以及存储视频数据和音频数据的操作。在这种情况下,当用户命令的输入或特定事件的发生被检测到时,触发模块133可产生触发信号。特定事件表示由用户任意指定的事件(诸如,在视频中指定的对象的出现、特定级别上的音频的产生、场景改变等)。
当从触发模块133接收到触发信号时,缓冲器控制器126从视频web工作器接收包含在压缩的视频数据中的视频帧并且从音频web工作器接收包含在压缩的音频数据中的音频帧。在这种情况下,视频数据和音频数据还没有被解码。在图11中,箭头从视频web工作器和音频web工作器连接到缓冲器控制器126。这表示用作缓冲器控制器126中的线程的备份web工作器使用管线与视频web工作器和音频web工作器分别连接以接收由视频web工作器的输出和由音频web工作器处理的输出。
缓冲器控制器126将接收到的视频帧和音频帧以任意顺序存储在缓冲器中。此外,即使当媒体数据的接收中断发生时,存储在缓冲器中的视频帧和音频帧也被保留,使得在随后的媒体数据的接收被恢复时,从随后的媒体数据获得视频帧和音频帧可被接着存储在缓冲器中。
MUX 127可按标准存储格式对存储在缓冲器中的视频帧和音频帧进行复用,并将它们存储在媒体重放设备120的存储器中。在这种情况下,标准存储格式包括MP4文件格式或AVI文件格式。当用户在用户接口发出保存命令时,MUX 127可对存储在缓冲器中的视频帧和音频帧进行复用、产生Blob对象文件并且在特定范围的所有媒体数据被接收时将产生的Blob对象文件存储在存储器中。
将参考图15更详细描述通过缓冲器控制器126和MUX 127产生Blob对象文件的处理。当用户通过用户接口发出媒体的备份开始命令时,缓冲器控制器126从视频web工作器和音频web工作器分别接收视频帧311和音频帧312,并将视频帧311和音频帧312存储在缓冲器310中(S2100)。
即使当用户通过用户接口发出用于停止媒体的备份的命令或者媒体接收被中断时,缓冲器控制器126也保留存储在缓冲器310中的视频帧和音频帧。随后,当通过用户接口发出用于恢复媒体的备份的命令或恢复媒体接收时,缓冲器控制器126将随后的视频帧311和随后的音频帧312接着存储在缓冲器310中(S2200)。
当用户通过用户接口发出媒体的备份结束命令时,MUX 127通过从备份的开始到备份的结束按标准存储格式对存储在缓冲器310中的视频帧311和音频帧312进行复用,来产生Blob对象,并将Blob对象存储在存储器中(S2300)。
尽管图15中示出视频帧和音频帧按顺序被分开存储,但是这仅是为了便于视觉理解,视频帧和音频帧可以以任意顺序存储在缓冲器310中,并且可被分配并存储在缓冲器310的任意地址。
图12示出媒体重放设备120的另一示例实施例。与图11的媒体重放设备120相比,在图11的媒体重放设备120中通过主线程执行解包操作,但是在图12的媒体重放设备120中通过解包web工作器来执行解包操作。在这种情况下,与视频web工作器、音频web工作器和备份web工作器类似,解包web工作器可以是由web工作器产生器143产生的主线程的下层的线程。
在图12的示例实施例中,通过解包web工作器执行作为单独的线程的解包操作也是可行的。因此,在解包处理中提高效率是可行的。然而,当创建额外解包web工作器时,由于主线程之间大量postMessages的使用,所以可发生开销。也就是说,当使用作为单独的下层的线程的解包web工作器执行解包操作时,如上所述产生权衡关系。因此,与图11的示例实施例相比,优点和缺点可根据实际实施条件而不同。
已经参考图11和图12描述了媒体重放设备120的配置。将参考图13描述媒体重放设备120的媒体备份处理。用户可通过用户接口发出针对正在播放的媒体的备份命令。从媒体服务设备110传输到媒体重放设备120的媒体数据被分离为视频数据和音频数据,其中,视频数据和音频数据分别被发送到由视频web工作器操作的视频恢复器144和由音频web工作器操作的音频恢复器145。视频web工作器将解析的视频数据发送到由备份web工作器操作的备份单元146,并且音频web工作器将解析的音频数据发送到由备份web工作器操作的备份单元146。在备份单元146中,视频数据和音频数据按标准存储格式(MP4文件格式或AVI文件格式)被复用,并且被存储在媒体重放设备120的存储器中。
图16是说明根据本公开的示例实施例的产生以JavaScript实现的脚本模块的处理的示图。参考图16,可通过使用转换器(诸如,Emscripten)转换以C和C++本地代码编写的源获得可在浏览器中使用的JavaScript代码,来实现以JavaScript实现的脚本模块。
当使用转换器(诸如,Emscripten)时,从本地代码获得以JavaScript实现的解码器或容器是可行的。因此,存在可减少编解码器依赖性的优点。
由于使用JavaScript代码代替插件,所以不需要担心浏览器的支持中断。此外,不需要担心根据浏览器是使用ActiveX接口还是NPAPI接口。也就是说,存在可减少关于浏览器的依赖性的优点。
图1中示出的媒体重放设备120可被实现为,例如,图17中示出的计算装置400。计算装置400可以是(但不限于)移动手持装置(例如,智能电话,平板计算机等)、膝上型或笔记本计算机、分布式计算机系统、计算网格或服务器等。计算装置400可包括通过总线440彼此通信或与其他元件通信的处理器401、内存403和存储器408。总线440还可连接到显示器432、至少一个输入装置433和至少一个输出装置434。图17和其他附图(诸如,图6和图7)中描述的元件中的每一个可使用具有用于执行相关功能的电路的硬件、软件(诸如,存储在计算机可读存储介质中的指令)或二者组合来实现。
所有这些元件可直接或者通过一个或多个接口或适配器连接到总线440。总线440连接到各种子系统。总线440可包括存储器总线、存储器控制器、外围总线、本地总线和它们的组合。
处理器(例如,中央处理器(CPU))401可选地包括缓存402,缓存存储器402是用于暂时存储指令、数据或计算机地址的本地存储装置。处理器401执行存储在计算机可读存储介质(诸如,内存403或存储器408)中的指令(或软件模块)。计算机可读存储介质可存储实现具体实施例的软件模块,处理器401可执行存储的软件模块。
内存403可包括随机存取存储器(RAM)404、只读存储器(ROM)405和它们的组合。此外,具有用于启动计算装置400所需的基本例程的基本输入/输出系统(BIOS)416(例如,固件)可包括在内存403中。
存储器408用于存储操作系统409、可执行文件(EXEC)410、数据411、API 412等。存储器408可以是硬盘驱动器、光盘驱动器、固态硬盘驱动器(SSD)等。
计算装置400可包括输入装置433。用户可通过输入装置433将命令和/或信息输入到计算装置400。输入装置433的示例可包括键盘、鼠标、触摸板、操纵杆、游戏控制器、麦克风、光学扫描仪和相机。输入装置433可通过包括串行端口、并行端口、游戏端口、通用串行总线(USB)等的输入接口423连接到总线440。
在一些实施例中,计算装置400连接到网络430。计算装置400通过网络430连接到其他装置。在这种情况下,网络接口420从网络430接收一个或多个包的形式的通信数据,并且计算装置400存储接收到的通信数据以用于处理器401的处理。类似地,计算装置400将发送的一个或多个包的形式的通信数据存储在内存403中,并且网络接口420将通信数据发送到网络430。
网络接口420可包括网络接口卡、调制解调器等。网络430的示例可包括互联网、广域网(WAN)、局域网(LAN)、电话网络、直接连接通信等,并且有线和/或无线通信方案可被采用。
可通过显示器432显示由处理器401执行软件模块的结果。显示器432的示例可包括液晶显示器(LCD)、有机发光二极管(OLED)显示器、阴极射线管(CRT)和等离子显示板(PDP)。显示器432通过视频接口422连接到总线440,并且显示器432与总线440之间的数据传送可由图形控制器421控制。
除显示器432之外,计算装置400还可包括至少一个输出装置(诸如,音频扬声器和打印机)。输出装置434通过输出接口424连接到总线440。例如,输出接口424可以是串行端口、并行端口、游戏端口、USB等。
虽然为了说明性的目的已经公开了本公开的示例性实施例,但是本领域的技术人员将理解,在不脱离如所附权利要求中公开的本公开的范围和精神的情况下,各种修改、添加和替换是可行的。因此,应理解,上面的示例实施例仅是示例性,但不限于本公开。本公开的范围由所附权利要求的范围表示,而不是由具体实施方式表示。从权利要求及其等同构思的含义和范围导出的所有改变或修改应该被解释为包括在本公开的范围内。

Claims (15)

1.一种用于在web浏览器上重放和备份媒体的媒体重放设备,所述媒体重放设备包括:
接收器,被配置为:使用支持web服务的通信协议来接收在媒体服务设备中产生的媒体数据,并从媒体数据分离出压缩的视频数据和压缩的音频数据;
web工作器产生器,被配置为:产生包括视频web工作器、音频web工作器和备份web工作器的多个web工作器;
视频解码器,被实现为由web浏览器解析的第一脚本,并被配置为使用作为第一线程的视频web工作器来对压缩的视频数据进行解码以恢复视频;
音频解码器,被实现为由web浏览器解析的第二脚本,并被配置为使用作为第二线程的音频web工作器来对压缩的音频数据进行解码以恢复音频;
备份单元,被配置为:
响应于经由用户接口接收的备份开始命令,从视频web工作器接收包括在压缩的视频数据中的尚未被解码的视频帧,
从音频web工作器接收包括在压缩的音频数据中的尚未被解码的音频帧,
通过使用作为第三线程的备份web工作器,将包括在压缩的视频数据中的尚未被解码的视频帧和包括在压缩的音频数据中的尚未被解码的音频帧存储在缓冲器中,
响应于经由用户接口接收的保存命令,对存储在缓冲器中的视频帧和音频帧进行复用,并将复用的视频数据和音频数据存储在存储器中。
2.根据权利要求1所述的媒体重放设备,还包括:触发模块,被配置为:当保存命令的输入或特定事件的发生被检测到时产生触发信号并将产生的触发信号提供给备份单元,
其中,备份单元根据触发信号开始复用和存储操作。
3.根据权利要求1所述的媒体重放设备,其中,备份web工作器使用管线与视频web工作器和音频web工作器连接,以分别接收视频web工作器的输出和音频web工作器的输出。
4.根据权利要求1所述的媒体重放设备,其中,所述多个web工作器还包括解包web工作器,并且所述媒体重放设备还包括:解包模块,被配置为使用作为第四线程的解包web工作器来执行分离出的视频数据和音频数据的解包。
5.根据权利要求1所述的媒体重放设备,其中,由web浏览器解析的脚本为JavaScript。
6.根据权利要求1所述的媒体重放设备,其中,备份单元将接收到的视频帧和接收到的音频帧以任意顺序存储在缓冲器中,并且通过备份web工作器按标准存储格式对存储在缓冲器中的视频帧和音频帧进行复用。
7.根据权利要求6所述的媒体重放设备,其中,当在由用户通过保存命令指定的范围内的所有媒体数据被接收到时,备份单元对存储在缓冲器中的视频帧和音频帧进行复用,产生Blob对象文件,并将产生的Blob对象文件存储在存储器中。
8.根据权利要求6所述的媒体重放设备,其中,即使当媒体数据的接收中断发生时,备份单元也保留存储在缓冲器中的视频帧和音频帧,并且当随后的媒体数据的接收被恢复时,备份单元将从随后的媒体数据获得的视频帧和音频帧接着存储在缓冲器中。
9.根据权利要求1所述的媒体重放设备,其中,web工作器产生器通过postMessage产生用于与视频web工作器、音频web工作器和备份web工作器相互配合工作的上层的主线程。
10.根据权利要求1所述的媒体重放设备,其中,视频web工作器、音频web工作器和备份web工作器是彼此独立操作的多线程的web工作器。
11.根据权利要求1所述的媒体重放设备,其中,能够在视频解码器和音频解码器中解码的媒体格式包括能够在嵌入在web浏览器中的视频解码器和音频解码器中解码的媒体格式。
12.一种用于将媒体数据发送到媒体重放设备的媒体服务设备,所述媒体服务设备包括:
模块存储器,被配置为:存储在媒体重放设备的web浏览器上重放媒体数据所需的脚本模块;
模块传输器,被配置为:响应于媒体重放设备的连接,将脚本模块传输到媒体重放设备;
打包器,被配置为:对媒体数据进行打包以产生通信包;
web服务器,被配置为:响应于来自媒体重放设备的请求,与媒体重放设备建立通信会话,并将通信包传输到媒体重放设备,
其中,脚本模块被配置为:
通过通信会话接收通信包,
从媒体数据分离出压缩的视频数据和压缩的音频数据,
产生视频web工作器、音频web工作器和备份web工作器,
响应于经由用户接口接收的备份开始命令,从视频web工作器接收包括在压缩的视频数据中的尚未被解码的视频帧,从音频web工作器接收包括在压缩的音频数据中的尚未被解码的音频帧,在重放视频帧和音频帧的同时,通过使用作为第三线程的备份web工作器将包括在压缩的视频数据中的尚未被解码的视频帧和包括在压缩的音频数据中的尚未被解码的音频帧存储在缓冲器中,
响应于经由用户接口接收的保存命令,对存储在缓冲器中的视频帧和音频帧进行复用,并将复用的视频数据和音频数据存储在存储器中。
13.根据权利要求12所述的媒体服务设备,其中,脚本模块被实现为由web浏览器支持的脚本,
其中,脚本模块还被配置为:使用作为线程的视频web工作器对压缩的视频数据进行解码以恢复视频,并使用作为线程的音频web工作器对压缩的音频数据进行解码以恢复音频。
14.据权利要求13所述的媒体服务设备,其中,脚本模块被配置为:将视频帧和音频帧以任意顺序存储在缓冲器中,并通过备份web工作器按标准存储格式对存储在缓冲器中的视频帧和音频帧进行复用。
15.根据权利要求14所述的媒体服务设备,其中,脚本模块被配置为:当在由用户通过保存命令指定的范围内的所有媒体数据被接收到时,对存储在缓冲器中的视频帧和音频帧进行复用,产生Blob对象文件并将产生的Blob对象文件存储在媒体重放设备的存储器中。
CN201810048973.0A 2017-01-20 2018-01-18 媒体重放设备和媒体服务设备 Active CN108337248B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20170009963 2017-01-20
KR10-2017-0009963 2017-01-20
US201762457203P 2017-02-10 2017-02-10
US62/457,203 2017-02-10
KR1020170087672A KR101931514B1 (ko) 2017-01-20 2017-07-11 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법
KR10-2017-0087672 2017-07-11

Publications (2)

Publication Number Publication Date
CN108337248A CN108337248A (zh) 2018-07-27
CN108337248B true CN108337248B (zh) 2021-03-30

Family

ID=62906921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810048973.0A Active CN108337248B (zh) 2017-01-20 2018-01-18 媒体重放设备和媒体服务设备

Country Status (2)

Country Link
US (1) US11089381B2 (zh)
CN (1) CN108337248B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020242443A1 (en) * 2018-05-24 2020-12-03 SmartHome Ventures, LLC Protocol conversion of a video stream
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN117097705B (zh) * 2023-10-21 2024-01-16 北京蔚领时代科技有限公司 一种基于WebTransport的音视频传输方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763434A (zh) * 2010-01-12 2010-06-30 深圳市同洲电子股份有限公司 嵌入式浏览器的网页脚本指令执行控制方法、终端和系统
CN103237255A (zh) * 2013-04-24 2013-08-07 南京龙渊微电子科技有限公司 一种多线程的音视频同步控制方法及系统
CN103702221A (zh) * 2013-12-18 2014-04-02 Tcl集团股份有限公司 在线视频的内容发布呈现系统及发布呈现方法
WO2016060410A1 (ko) * 2014-10-14 2016-04-21 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016063780A1 (ja) * 2014-10-20 2016-04-28 ソニー株式会社 受信装置、送信装置、およびデータ処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020071346A (ko) 2001-03-06 2002-09-12 주식회사 폴리네트 정보기술 폴리네트 스트리머 시스템
US20030110234A1 (en) 2001-11-08 2003-06-12 Lightsurf Technologies, Inc. System and methodology for delivering media to multiple disparate client devices based on their capabilities
KR100552077B1 (ko) 2003-08-29 2006-02-20 바로비젼(주) 컨텐츠 제공시스템과 이를 위한 이동단말
US8498568B2 (en) * 2004-04-26 2013-07-30 Sirius Xm Radio Inc. System and method for providing recording and playback of digital media content
US7809802B2 (en) * 2005-04-20 2010-10-05 Videoegg, Inc. Browser based video editing
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
KR20140063950A (ko) 2012-11-19 2014-05-28 케이티하이텔 주식회사 백그라운드에서 동작하는 웹 워커를 운영하는 장치 및 방법
US10491939B2 (en) * 2013-04-02 2019-11-26 LVL Studio Inc. Clear screen broadcasting
US20150062353A1 (en) * 2013-08-30 2015-03-05 Microsoft Corporation Audio video playback synchronization for encoded media
US9680897B2 (en) * 2014-01-31 2017-06-13 Yahoo! Inc. Throttled scanning for optimized compression of network communicated data
US20180035153A1 (en) * 2015-03-01 2018-02-01 Lg Electronics Inc. Broadcasting signal transmission apparatus, broadcasting signal reception apparatus, broadcasting signal transmission method, and broadcasting signal reception method
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
CN105630507B (zh) 2015-12-29 2020-01-24 Tcl集团股份有限公司 一种WebView控件界面绘制的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101763434A (zh) * 2010-01-12 2010-06-30 深圳市同洲电子股份有限公司 嵌入式浏览器的网页脚本指令执行控制方法、终端和系统
CN103237255A (zh) * 2013-04-24 2013-08-07 南京龙渊微电子科技有限公司 一种多线程的音视频同步控制方法及系统
CN103702221A (zh) * 2013-12-18 2014-04-02 Tcl集团股份有限公司 在线视频的内容发布呈现系统及发布呈现方法
WO2016060410A1 (ko) * 2014-10-14 2016-04-21 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016063780A1 (ja) * 2014-10-20 2016-04-28 ソニー株式会社 受信装置、送信装置、およびデータ処理方法

Also Published As

Publication number Publication date
CN108337248A (zh) 2018-07-27
US11089381B2 (en) 2021-08-10
US20180213295A1 (en) 2018-07-26

Similar Documents

Publication Publication Date Title
CN108337545B (zh) 用于同步再现视频和音频的媒体重放设备和媒体服务设备
CN107645491B (zh) 媒体流传输设备和媒体服务设备
US20220263885A1 (en) Adaptive media streaming method and apparatus according to decoding performance
CN108337560B (zh) 用于在web浏览器上播放媒体的媒体重放设备和媒体服务设备
CN107277612B (zh) 用于在web浏览器上播放媒体流的方法和设备
CN108337246B (zh) 防止重放延迟的媒体重放设备和媒体服务设备
KR101931514B1 (ko) 웹 브라우저에서 미디어의 재생과 백업을 동시에 수행하는 장치 및 방법
EP3046331B1 (en) Media control method and system based on cloud desktop
CN107592551B (zh) 用于云流服务的方法和设备
CN108337248B (zh) 媒体重放设备和媒体服务设备
CN111629214A (zh) 视频文件的转码方法、装置、设备和介质
US10834164B2 (en) Virtualizing audio and video devices using synchronous A/V streaming
WO2022068276A1 (zh) 桌面云系统以及相关方法、装置、设备、介质
KR102225608B1 (ko) 클라우드 스트리밍 서비스 시스템, 애니메이션 메시지를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20210027340A (ko) 클라우드 스트리밍 서비스 시스템, 애니메이션 메시지를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20210027342A (ko) 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20210027341A (ko) 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
Zhang et al. A High Q&S RTSP Server’s Architecture and Implementation Based On Android

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
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: 20190226

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
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