CN108337545B - 用于同步再现视频和音频的媒体重放设备和媒体服务设备 - Google Patents

用于同步再现视频和音频的媒体重放设备和媒体服务设备 Download PDF

Info

Publication number
CN108337545B
CN108337545B CN201810049239.6A CN201810049239A CN108337545B CN 108337545 B CN108337545 B CN 108337545B CN 201810049239 A CN201810049239 A CN 201810049239A CN 108337545 B CN108337545 B CN 108337545B
Authority
CN
China
Prior art keywords
data
media
audio
video
chunk
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
CN201810049239.6A
Other languages
English (en)
Other versions
CN108337545A (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 KR1020170087661A external-priority patent/KR101986995B1/ko
Application filed by Hanwha Techwin Co Ltd filed Critical Hanwha Techwin Co Ltd
Publication of CN108337545A publication Critical patent/CN108337545A/zh
Application granted granted Critical
Publication of CN108337545B publication Critical patent/CN108337545B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • 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
    • 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
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • 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/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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/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]
    • 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/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

提供用于同步再现视频和音频的媒体重放设备和媒体服务设备。在媒体重放设备中,对音频进行缓冲以在视频被输出的时间点输出该音频,从而同步视频和音频的输出。媒体重放设备即使在通过不同的解码器对视频和音频进行解码时,重放也可输出与音频同步的视频。因此,可以在没有插件的环境下实现与嵌入在web浏览器中的解码器分离的解码器,从而降低对媒体的编解码器格式的依赖性。

Description

用于同步再现视频和音频的媒体重放设备和媒体服务设备
本申请要求于2017年2月10日提交的第62/457,203号美国临时专利申请、要求于2017年1月20日提交到韩国知识产权局的第10-2017-0009963号韩国专利申请以及于2017年7月11日提交到韩国知识产权局的第10-2017-0087661号韩国专利申请的优先权,所述专利申请的公开通过引用全部合并于此。
技术领域
与示例性实施例一致的设备和方法涉及用于在web浏览器上同步地再现视频和音频的媒体重放设备和方法,更具体地讲,涉及用于当基于容器对视频或音频进行解码时,通过对视频和音频进行同步来再现媒体的设备和方法。
背景技术
为了使用户通过互联网在web浏览器上重放媒体数据,提供使用以本地代码(native code)编写编解码器、解码器、渲染器等的插件的方法。作为web浏览器插件的代表性示例,ActiveX和Netscape插件应用编程接口(NPAPI)被广泛使用。
ActiveX是由微软使用两种技术(组件对象模型(COM)和对象链接与嵌入(OLE))的组合而开发。然而,狭义上讲,它表示在作为web浏览器的Internet Explorer浏览器中以扩展(add-on)的形式使用的ActiveX控件。
NPAPI是针对Netscape浏览器开发的应用编程接口(API),并在功能上与InternetExplorer浏览器的ActiveX类似。NPAPI是为了增强web浏览器的功能而被提供使用插件形式的外部应用程序的API,并在它的萌芽阶段被首先用于web环境。换句话说,它被开发为在早期web页面上播放音乐和视频。例如,存在Java Applet,Adobe Flash,Real Player等。
然而,由于插件有时会被黑客滥用于散布恶意代码,所以很多主流web浏览器不再支持插件。至于NPAPI,制作并发行Chrome的谷歌在发布Chrome版本45之后不再支持NPAPI。此外,作为Windows 10的默认浏览器的Microsoft Edge browser不再支持ActiveX。
作为用于在没有插件的情况下在web浏览器上重放媒体的方法,基于HTML5的视频标签来执行解码和渲染。HTML5是由万维网联盟(W3C)和web浏览器开发者开发的HTML第五标记语言,并且提供能够不使用插件而通过视频标签来播放媒体的环境。自Chrome 4.0、Explorer 9.0、Firefox 3.5、Safari 4.0和Opera 10.5以来,它充分支持HTML5视频标签。
当使用视频标签来执行解码时,高分辨率视频和高fps视频可以以优异的性能进行处理。然而,对由视频标签支持的视频格式存在限制,并且视频标签当前仅支持三种格式:MP4、WebM和Ogg。更具体地讲,视频标签支持诸如以下编解码器格式:MP4的H.264、WebM的高级音频编码(AAC)、MP3、VP8、VP9、Vorbis以及Opus、Ogg和Vorbis的Theora。视频标签不支持作为视频编解码器格式的H.265或者作为音频编解码器格式的G.711和G.726。
可通过使用以JavaScript实现的解码器来减轻由于对编解码器格式的限制引起的视频标签的缺点。由于JavaScript解码器可在对视频格式没有限制的情况下执行解码,所以可以对视频标签不支持的编解码器格式的媒体进行解码。
然而,尽管使用解码器,但仍存在限制。视频标签播放器/解码器通过基于经由对多个帧进行打包而获得的容器接收视频,来基本执行解码。因此,当使用视频标签解码器和JavaScript解码器的不同的解码器来对视频和音频进行解码时,同步可能是问题。例如,基于容器由视频标签播放器/解码器对H.264格式的视频进行解码并且由JavaScript解码器对G.711格式的音频进行解码的情况下,如果容器中使用的帧的数量为30并且每秒帧数(fps)为1,则视频可被输出30秒,并且音频可被首先重放。
发明内容
示例性实施例至少解决以上问题和/或缺点以及以上未描述的其它缺点。此外,示例性实施例不需要克服以上描述的缺点,并且可不克服以上描述的问题中的任何问题。
一个或多个示例性实施例提供一种没有视频与音频之间的同步的问题的再现媒体的方法。
此外,一个或多个示例性实施例提供一种当在容器的基础上对视频进行解码时视频与音频之间的同步不是问题的媒体重放方法。
根据实施例的一方面,提供一种用于在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示出根据另一示例性实施例的媒体重放设备;
图15示出根据示例性实施例的产生组块数据的处理;
图16示出根据示例性实施例的产生音频组块的处理;
图17示出根据示例性实施例的产生以JavaScript实现的脚本模块的处理;
图18示出根据示例性实施例的用于实现媒体重放设备的计算装置。
具体实施方式
下面参考附图更加详细地描述示例性实施例。
在下面的描述中,即使在不同的附图中,相同的附图参考标号也用于相同的元件。提供在描述中定义的事物(诸如,详细的构造和元件)来帮助全面理解示例性实施例。然而,应清楚,可在没有那些具体定义的事物的情况下实践示例性实施例。此外,由于公知的功能或结构会以不必要的细节使描述模糊,因此不详细描述它们。
在此使用的术语仅为了描述特定实施例的目的,并不意图限制本公开。如在此使用的,除非上下文另有明确指示,否则单数形式也意图包括复数形式。还将理解,当在本说明书中使用术语“包括”时,指定存在阐述的组件,但不排除存在或添加一个或多个其他组件。
当诸如“…中的至少一个”的表述在一列元素之后时,修饰整列元素,而不是修饰列中的单个元素。
图1示出根据示例性实施例的用于媒体重放的系统。图1中所示的系统包括媒体服务设备110、媒体重放设备120以及连接两个设备110和120的网络430。
媒体服务设备110包括适于向一个或多个视频重放设备提供计算服务的计算或处理装置。例如,媒体服务设备110包括能够产生或存储视频流并将视频流发送到用户装置的装置(诸如,网络相机、网络视频录像机(NVR)和数字视频录像机(DVR))。媒体服务设备110还可被称为媒体服务系统,其中,媒体服务系统包括服务器和网络相机。
媒体重放设备120包括适于经由网络430与媒体服务设备110或其他计算用户装置交互的计算或处理装置。例如,媒体重放设备120可包括台式计算机、移动电话或智能电话、个人数字助理(PDA)、膝上型计算机和平板计算机。
在媒体重放设备120的请求下,通过网络430传输由媒体服务设备110实时捕捉或存储的媒体数据(例如,视频)。用户可重放或寻找通过在媒体重放设备120的web浏览器210上实现的用户接口发送的媒体数据。具体地讲,web浏览器210可包括安装在台式计算机或移动电话上的公知的浏览器(诸如,Google Chrome、Microsoft Explorer、MozillaFirefox和Apple Safari),并且还可包括使用web浏览器的应用编程接口(API)或资源单独创建的软件应用。
下面,将参考图2至图5描述通过WebSocket协议传输的实时流传输协议(RTSP)和/或实时传输协议(RTP)流。WebSocket可用作媒体服务设备110与媒体重放设备120之间的网络通信方案。
图2是示出针对装置之间的通信而分层定义的传输控制协议/互联网协议(TCP/IP)4层模型的示图。四个层包括网络接口层21、互联网层22、传输层23和应用层24。由于WebSocket能够在传输层23之上传输信息,所以为了使用WebSocket连接,可必须首先在媒体服务设备110与媒体重放设备120之间建立TCP传输连接。一旦例如经由3路握手处理在媒体服务设备110与媒体重放设备120之间建立WebSocket连接,则通过传输WebSocket包来执行WebSocket通信。下面,将参考图3至图5详细描述WebSocket连接和WebSocket包。
图3示出在媒体服务设备110与媒体重放设备120之间执行WebSocket连接的处理。媒体重放设备120请求媒体服务设备110使用WebSocket统一资源标识符(URI)发起WebSocket连接。可使用GetServiceCapabilities命令获得WebSocket URI。例如,WebSocket URI被表示为“ws://192.168.0.5/webSocketServer”(操作S1000)。
媒体重放设备120可将WebSocket升级请求发送到媒体服务设备110。媒体服务设备120可利用代码101进行响应(操作S1100),其中,代码101为用于批准协议改变请求的状态码。
在媒体服务设备110与媒体重放设备120之间建立WebSocket连接之后,通过经由WebSocket发送的RTSP/RTP协议替代超文本传输协议(HTTP)/1.1协议来交换数据。图3中的DESCRIBE、SETUP、PLAY、PAUSE和TEARDOWN是RTSP命令。DESCRIBE请求包括统一资源定位符(URL)。对DESCRIBE的响应信息还包括请求的描述。SETUP请求指定是否应该发送单个媒体流。PLAY请求是用于播放一个或所有媒体流的请求,并且多个请求是可以的。PAUSE请求是用于暂停一个或所有媒体流的重放的命令。可响应于PLAY请求来重新开始重放。TEARDOWN请求是用于终止会话的命令。可通过TEARDOWN请求停止所有媒体流的重放并且还释放与数据相关的所有会话(操作S1200)。
如下面表1提供图3中所示的在WebSocket连接处理中从媒体重放设备120发送的请求消息以及媒体服务设备110的响应消息的示例。
【表1】
Figure BDA0001551898850000071
该WebSocket连接是根据遵循HTML5标准的WebSocket协议进行的。具体地讲,由于WebSocket连接持续地支持双向通信,所以可在WebSocket连接不断开的情况下,在媒体服务设备110与媒体重放设备120之间持续地发送和接收数据。
图4示出通过WebSocket连接发送和接收数据的处理的示例。参考图4,首先,媒体重放设备120将TCP/IP连接请求消息发送到媒体服务设备110,并且媒体服务设备110接收该消息,并将TCP响应消息(SYN-ACK)发送到媒体重放设备120,从而建立TCP/IP连接。TCP传输连接可由一对本地TCP套接字和远程TCP套接字形成。每个TCP套接字至少由标识符(诸如,端口号和网络协议(IP)地址)定义。可在媒体重放设备120与媒体服务设备110之间建立基于用户数据报协议(UDP)/IP的连接,替代基于TCP/IP的连接。
然后,当通过在媒体重放设备120与媒体服务设备110之间的握手处理建立WebSocket连接时,之后可执行它们之间的持续的数据发送/接收。也就是说,媒体重放设备120以传输WebSocket包(socket.send)的形式将媒体流传输请求发送到媒体服务设备110,并且媒体服务设备110以响应WebSocket包(socket.onMessage)的形式将媒体流发送到媒体重放设备120。可在媒体重放设备120与媒体服务设备110之间持续执行该处理,直到媒体流传输停止或完成为止。
图5是示出通过网络接口21发送的通信包的结构的示图。当RTP头44添加到与数据45对应的RTP有效载荷时,RTP有效载荷变为RTP包。RTP包可相当于WebSocket有效载荷,并且WebSocket头43可添加到RTP包以变为WebSocket包。WebSocket包可相当于TCP有效载荷,并且TCP头42添加到WebSocket包以变为TCP包。最后,TCP包可相当于IP有效载荷,并且IP头41添加到TCP包,从而完成通信包,即,IP包。在媒体服务设备110和媒体重放设备120二者中执行完成IP包的处理和移除每个头的处理。
由于通过上面参考图2至图5描述的基于HTML5的WebSocket协议来执行媒体服务设备110与媒体重放设备120之间的通信,所以可通过能够以HTML5解析的脚本代码来实现执行RTSP/RTP发送/接收控制的模块。因此,可在没有如常规情况那样单独安装插件的情况下,在HTML5环境的web浏览器中实现使用RTSP/RTP协议的媒体重放。
至此已经描述媒体服务设备110与媒体重放设备120之间的网络通信方案。以下,将参考图6至图18描述媒体服务设备110和媒体重放设备120的配置和操作方法。
图6示出根据示例性实施例的媒体服务设备110的配置。在一个示例性实施例中,媒体服务设备110包括:实时视频相机111、编码器112、打包单元113、web服务器114、模块存储单元115、模块传输单元116和控制单元117。编码器112、打包单元113、web服务器114和控制单元117可被包括在一个或多个处理器中。
实时视频相机111可实时捕捉图像,并且捕捉包括执行视频捕捉和音频记录二者的情况以及仅执行视频捕捉的情况。
编码器112被配置为对由实时视频相机111捕捉的媒体进行压缩和编码。编码器112的编码不一定使用由嵌入在web浏览器中的解码器支持的特定编解码器来执行,而是可以以任意编解码器格式来执行。
打包单元113对编码的媒体数据进行打包以产生传输包。可通过将媒体数据划分成具有适当的长度的块以促进经由网络430的传输或者如果媒体数据短,则通过将控制信息(诸如,接收地址)共同地分配给适当长度的每个数据,来执行打包。在这种情况下,控制信息位于包的头中。传输包为上述的WebSocket包的形式。
打包单元113可根据由媒体重放设备120请求的方法来执行媒体数据的打包。例如,当媒体重放设备120基于逐帧(诸如,按逐帧的单位)请求视频时,打包单元113可以以帧格式产生传输包;当媒体重放设备120基于嵌入在web浏览器中的解码器所支持的容器(诸如,按嵌入在web浏览器中的解码器所支持的容器的单位)请求视频时,打包单元113可以以容器格式产生传输包。
web服务器114建立与媒体重放设备120的通信会话。例如,可通过媒体服务设备110的web服务器114与媒体重放设备120之间的握手处理来在它们之间建立WebSocket连接。之后,根据媒体重放设备120的请求,通过web服务器114传输由打包单元113产生的传输包。
模块存储单元115可存储在媒体重放设备120中重放媒体所需的脚本模块。脚本模块是作为以可由web浏览器解析的脚本编写的代码的模块,其允许媒体重放设备120在没有安装插件或单独的应用程序的情况下在HTML5环境的web浏览器中重放媒体。在一个实施例中,脚本模块可以是以JavaScript编写的代码。稍后将参考图8至图11来描述脚本模块。
模块传输单元116可将存储在模块存储单元115中的脚本模块传输到媒体重放设备120。模块传输单元116响应于经由网络430在媒体重放设备120与媒体服务设备110之间建立连接而传输脚本模块。
控制单元117可控制媒体服务设备110中的其他配置模块。例如,当媒体重放设备120通过网络430连接到web服务器114时,通过模块传输单元116将存储在模块存储单元115中的脚本模块传输到媒体重放设备120。在这种情况下,控制单元117将信号发送到各个模块或从各个模块接收信号,以控制操作被平稳地执行。
将基于图6的媒体服务设备110的配置模块的描述来描述操作方法。当媒体重放设备120经由网络430连接到web服务器114时,模块传输单元116将存储在模块存储单元115中的脚本模块传输到媒体重放设备120。当脚本模块被安装在媒体重放设备120中时,用户通过用户接口请求媒体重放。因此,媒体服务设备110在编码器112中对由实时视频相机111捕捉的实时实况媒体进行编码,并在打包单元113中根据帧格式或容器格式将媒体数据打包成传输包,并经由web服务器114将传输包传输到媒体重放设备120。
图7示出根据另一示例性实施例的媒体服务设备110的配置。图6的媒体服务设备110表示用于使用实时相机111发送实时实况媒体的实施例,图7的媒体服务设备110表示用于发送存储在媒体存储单元118中的媒体的实施例。
媒体存储单元118包括网络视频录像机(NVR)或个人视频录像机(PVR)。然而,将结合网络视频录像机来描述图7。媒体存储单元118从相机或服务器接收媒体数据,并压缩和存储接收的媒体数据。当存在来自媒体重放设备120的用于传输存储的媒体数据的请求时,媒体服务设备110在打包单元113中对存储在媒体存储单元118中的媒体数据进行打包,并通过web服务器114传输打包的数据。已经参考图6描述了媒体服务设备110的配置模块之中的打包单元113、web服务器114、模块存储单元115、模块传输单元116和控制单元117,因此,将省略对它们的多余的描述。
图8至图11示出根据各个示例性实施例的从媒体服务设备110发送到媒体重放设备120的脚本模块。脚本模块可被实现为能够由web浏览器解析的脚本。参考图8至图11,将描述以JavaScript实现脚本模块的情况。
图8示出根据示例性实施例的脚本模块。图8中所示的脚本模块可基于逐帧恢复视频,并且可包括RTSP/RTP客户端模块121、解包模块122、JavaScript(JS)解码器模块124和JS渲染器模块125。
RTSP/RTP客户端模块121被配置为支持与媒体服务设备110的RTSP/RTP通信。可以经由RTSP/RTP客户端模块121从媒体服务设备110的web服务器114接收传输包。在现有技术中,可能无法在没有插件的情况下在web浏览器上根据RTSP/RTP协议来处理媒体数据。根据本示例性实施例,即使web浏览器使用HTTP方案,RTSP/RTP客户端模块121也可允许可靠地接收通过RTSP/RTP协议发送的数据。
JS解码器模块124可对编码的媒体数据进行解压缩以对编码的媒体数据进行解码。与脚本模块的其他模块类似地以JavaScript实现JS解码器模块124。由于以JavaScript实现JS解码器模块124,所以不同于嵌入在web浏览器中的解码器,可以在不限制编解码器格式的情况下以任意编解码器格式来执行解码。还可以基于逐帧执行解码。
如果根据图8的实施例以JavaScript实现JS解码器模块124,则可由例如下面的表2中所示的代码来表示JS解码器模块124。
【表2】
Figure BDA0001551898850000111
Figure BDA0001551898850000121
Figure BDA0001551898850000131
JS渲染器模块125可对解码的媒体进行渲染并将它显示在输出装置(诸如,监视器等)上。JS渲染器模块125使用web图形库(WebGL)将YUV格式的视频数据转换为RGB格式的视频数据。WebGL是通过JavaScript可用的并允许三维(3D)图形界面的创建的基于web的图形库。
图9示出根据另一实施例的另一个脚本模块。图9的脚本模块可以以容器格式恢复视频,并且可包括RTSP/RTP客户端模块121、解包模块122和容器创建模块127。RTSP/RTP客户端模块121和解包模块122是参考图8描述的模块,因此,将省略多余的描述。
如图9中所示,与图8中不同,脚本模块包括容器创建模块127。当未基于容器对视频进行打包时,容器创建模块127可通过按单位数量对帧进行打包来形成容器。此外,可按单位数量对视频帧和音频进行打包。在这种情况下,容器创建模块127可根据视频的每秒帧数(FPS)来可变地调节单位数量。通过允许容器创建模块127按单位数量对视频帧进行打包或者按单位数量对视频帧和音频进行打包而获得的数据被称为组块数据。
容器可表示由视频标签支持的数字多媒体容器格式(诸如,运动图像专家组(MPEG)-HTTP上的动态自适应流传输(DASH)容器)。例如,用于H.264、VP8/VP9、Vorbis/Opus的容器可分别对应于MP4、WebM和Ogg。由于容器创建模块127可以以与HTML5视频标签兼容的容器格式来配置数据,所以即使数据不是以容器格式从图像捕捉装置发送,也允许媒体重放设备120使用视频标签而不发生兼容性问题。也就是说,容器创建模块127提供可在不修改之前安装的图像捕捉装置的情况下使用视频标签的环境。
图10示出根据另一示例性实施例的脚本模块。图10的脚本模块可执行音频再现,并且可包括RTSP/RTP客户端模块121、解包模块122和音频转码器123。参考图8描述RTSP/RTP客户端模块121和解包模块122,因此,将省略多余的描述。
音频转码器123可在音频数据被配置为以由嵌入在web浏览器中的解码器不支持的编解码器格式时执行转码。转码表示编解码器格式的转换。音频转码器123对音频数据进行解压缩,并以与之前格式不同的编解码器格式再次对音频数据进行压缩。例如,由视频标签不支持的G.711编解码器格式的音频数据被转换为由视频标签支持的高级音频编码(AAC)编解码器格式,其中,视频标签为嵌入在web浏览器中的解码器。
由于音频转码器123将音频数据转换为由嵌入在web浏览器中的解码器支持的编解码器格式,所以音频转码器123提供可通过使用嵌入在web浏览器中的解码器和视频数据一起恢复音频数据并在没有同步问题的情况下输出音频数据的环境。
图11示出根据另一示例性实施例的脚本模块。图11的脚本模块可执行与图10的脚本模块类似的音频再现,但具有不同的配置。图11的脚本模块包括RTSP/RTP客户端模块121、解包模块122、音频解码器126、音频组块单元128和缓冲器控制器129。参考图8描述RTSP/RTP客户端模块121和解包模块122。
音频解码器126可对音频数据进行解码。与其他模块类似,可以以JavaScript来实现音频解码器126,其中,JavaScript为可由web浏览器解析的脚本。
由音频解码器126解码的音频数据在音频组块单元128中被打包为音频组块。在这种情况下,通过按构成由容器创建模块127产生的组块数据的帧的单位数量对音频数据进行打包来产生音频组块。也就是说,基于组块数据产生音频组块。图12示出包括容器创建模块127和音频组块单元128二者的媒体重放设备120。将参考图12再次描述音频组块的产生。
缓冲器控制器129从音频组块单元128接收音频组块,将音频组块缓冲在音频缓冲器中,并将缓冲的音频组块提供给音频渲染器136。在图12和图13中示出作为媒体重放设备120的配置模块的音频渲染器136。
缓冲器控制器129从用于恢复视频的另一模块接收时间信息并执行将音频同步到视频的功能。时间信息是关于通过安装在媒体重放设备120中的媒体恢复单元143解码并输出组块数据的时间点的信息。组块数据的开始部分指示由媒体重放设备120中的渲染器执行渲染的时间点。缓冲器控制器129对音频组块进行缓冲或将音频组块传输到音频渲染器136,使得可通过时间信息在显示视频的时间点输出音频,从而同步视频和音频。
可以以不同的顺序来配置图11中所示的脚本模块,并将音频解码器126移动到缓冲器控制器129的后端。在这种情况下,首先,缓冲器控制器129对组块数据和音频数据进行同步,音频解码器126对缓冲的音频数据进行解码。
参考图8至图11描述的脚本模块在媒体重放设备120连接到媒体服务设备110时从媒体服务设备110被发送到媒体重放设备120。因此,脚本模块提供可在没有插件的情况下在媒体重放设备120的web浏览器210中执行媒体重放的环境。也就是说,脚本模块被安装在媒体重放设备120中以配置用于媒体重放的系统。将参考根据一个或多个示例性实施例的图12至图14来描述安装了脚本模块的媒体重放设备120。
图12至图14示出根据示例性实施例的媒体重放设备120。用于在媒体重放设备120中进行媒体重放的主要模块由脚本模块来配置。由于已经参考图8至图11描述了脚本模块的功能,所以将重点在结构和操作的方法上来描述图12至图14中所示的媒体重放设备120。
图12示出根据示例性实施例的媒体重放设备120。图12的媒体重放设备120包括接收单元141、数据分离单元、容器单元142、媒体恢复单元143和音频同步单元144。具体地讲,可以以JavaScript实现接收单元141、数据分离单元、容器单元142和音频同步单元144。可通过接收图9和图11的脚本模块来配置图12的媒体重放设备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之间的握手来发送和接收传输包。
RTSP/RTP客户端模块121执行如图8的实施例中描述的在用户的web浏览器210中支持RTSP/RTP通信的功能。因此,用户可在没有安装单独的插件的情况下使用RTSP/RTP协议通过HTML5环境的web浏览器210来重放媒体。
通过数据分离单元将已经经过接收单元141的媒体数据分离为视频数据和音频数据。分别从RTSP/RTP客户端模块121将视频数据沿左下箭头发送到解包模块122a,并且将音频数据沿右下箭头发送到解包模块122b。解包模块122a和解包模块122b分别对视频数据和音频数据进行解包。解包的视频数据和音频数据被分别发送到容器单元142和音频同步单元144。
容器单元142包括容器创建模块127。如果视频数据不是以容器格式,则容器创建模块127按单位数量对视频帧进行打包,并将它们转换为组块数据。
将参考图15描述在容器创建模块127中产生组块数据的处理。图15中的视频帧311表示通过在解包模块122a中的解包获得的基于逐帧的配置的视频数据。在这种情况下,视频帧311是通过各种视频编解码器(诸如,MPEG-2、H.264和H.265)压缩的数据。
当解包模块122a将视频帧311发送到容器创建模块127时,容器创建模块127使用头信息来确定接收到的数据是否为容器格式。由于视频帧311是帧格式的数据,所以容器创建模块127将视频帧311转换为容器格式,以便允许它们在均方误差(MSE)模块134和视频标签模块135中被处理。
通过按单位数量对多个帧进行打包来执行从帧格式到容器格式的转换。在这种情况下,可根据视频数据的每秒帧数(FPS)来可变地选择单位数量。图15示出当单位数量为三时产生组块数据的处理。容器创建模块127通过解析多个视频帧311中的每个视频帧的帧头信息(帧大小、预测方法(帧内或帧间)、帧间类型(I、B或P)等)来产生容器头,对多个视频帧311的数据和容器头进行打包以将它们转换为容器格式的组块数据312。可在包括MSE模块134和视频标签模块135的媒体恢复单元143中在没有兼容性问题的情况下处理转换为容器格式的组块数据312。
返回参考图12,从容器创建模块127到音频组块单元128绘制虚线的箭头,其中,虚线的箭头表示用于对音频数据进行打包的信息被发送。下面将结合音频组块单元128详细描述将被发送的信息。
媒体恢复单元143通过嵌入在web浏览器中的解码器对组块数据进行解码以恢复视频,并输出恢复的视频。在这种情况下,嵌入在web浏览器中的解码器可以是视频标签。在图12的实施例中,媒体恢复单元143包括MSE模块134和视频标签模块135。
MSE模块134是为了视频流传输重放而使用HTTP下载创建的用于HTML5的JavaScript API。这种由W3C标准化的技术能够在游戏机(诸如,Xbox和PlayStation 4(PS4))或Chromecast浏览器上进行流传输重放。
视频标签模块135执行解码和渲染,使得媒体被显示在web浏览器上。使用视频标签模块135的解码器能够以比由于JavaScript的动态语言特性而具有限制的解码器模块124更好的性能进行解码。换句话说,可实现高分辨率图像和高每秒帧数(FPS)的解码。
总结通过上述模块输出视频的处理:从数据分离单元分离视频数据,并将视频数据发送到容器单元142,如果视频数据不是容器格式,则容器单元142按单位数量对帧进行打包,并将它们转换为组块数据。通过媒体恢复单元143中的解码和渲染处理输出由组块数据组成的视频数据。接下来,将描述输出音频数据的处理。
由数据分离单元分离的音频数据在解包模块122b中被解包,并通过音频同步单元144与视频数据同步输出。音频同步单元144可包括音频解码器126、音频组块单元128、缓冲器控制器129和音频渲染器136。
音频解码器126通过可由web浏览器解析的脚本对分离的音频数据进行解码。在这种情况下,可由web浏览器解析的脚本可以是JavaScript。
音频组块单元128对由音频解码器126解码的音频数据进行打包以产生音频组块。由于音频组块单元128可在与由容器创建模块127产生的组块数据对应的范围内对音频数据进行打包,所以音频组块单元128从容器创建模块127接收关于组块数据的信息。从容器创建模块127连接到音频组块单元128的虚线的箭头表示这种信息的传输。
参考图16描述产生音频组块的处理。图16中所示的音频数据321指示在被音频解码器126解码而后被解压缩之后,在音频渲染器136中被渲染之前的音频数据。例如,音频数据321可以是作为由数字值表示的音频信号的wave(.wav)文件。由于音频信号由于其属性而被定义为根据时间的幅值,所以可通过截取任意部分来提取与其对应的范围内的音频信号。例如,如果视频数据的帧率为30fps,并且在容器创建模块127中构成组块数据的帧的单位数量为3,则容器创建模块127将30fps和单位数量为3的信息发送到音频组块单元128。由于与一个视频帧对应的时间是1/30秒,并且单位数量为3,所以音频组块单元128对在与三个视频帧对应的1/10秒内的音频数据321进行打包以产生音频组块322。
如上所述,音频组块是与组块数据同步的音频数据,并且组块数据由容器创建模块127产生。通过按单位数量对视频帧进行打包或按单位数量对视频帧和音频进行打包来获得组块数据,并且通过按单位数量对音频数据进行打包来获得音频组块。例如,单位数量可被分配给视频帧和/或音频数据。此外,组块数据是在被解码器135a解码之前的压缩数据,音频组块是被音频解码器126解码的并被解压缩的数据。
再次参考图12,缓冲器控制器129从音频组块单元128接收音频组块,将音频组块缓冲在音频缓冲器中,并将缓冲的音频组块提供给音频渲染器136。
缓冲器控制器129可通过缓冲而控制将被与视频数据同步输出的音频数据。更具体地讲,当媒体恢复单元143基于组块数据将关于视频被输出到渲染器135b的时间点的时间信息发送到缓冲器控制器129时,缓冲器控制器129对音频组块进行缓冲,并通过时间信息在视频被输出时的时间点将音频组块提供给音频渲染器136。图12中的从渲染器135b到缓冲器控制器129的虚线的箭头指示时间信息从媒体恢复单元143被发送到缓冲器控制器129。这里,时间信息指示与时间信息对应的组块数据在渲染器135b中被渲染的时间点,并且组块数据被渲染时的时间点的参考点可以是与时间信息对应的组块数据的开始部分被渲染器135b渲染时的时间点。
音频渲染器136执行音频渲染以输出从缓冲器控制器129接收的音频组块。可使用由web浏览器支持的web音频API来实现音频渲染器136。
总结通过上述模块输出音频的处理,音频数据被数据分离单元分离,并被发送到音频解码器126。音频数据在音频解码器126中被解码并被恢复,并且恢复的音频在音频组块单元128中被打包为音频组块。根据构成组块数据的帧的单位数量来执行打包。打包成音频组块的音频数据被缓冲在缓冲器控制器129中,并在视频被输出时的时间点通过音频渲染器136输出。在这种情况下,视频被输出时的时间点被包含在从媒体恢复单元143发送到缓冲器控制器129的时间信息中。
图12中所示的媒体重放设备120在不对音频数据进行转码的情况下同步视频数据和音频数据。因此,无需担心转码引起的音频数据的损坏。此外,根据图12的媒体重放设备120,即使由不同的解码器对视频数据和音频数据进行解码,由于同步不是问题,所以它提供可单独地处理视频数据和音频数据的环境。也就是说,即使由视频标签不支持的编解码器格式的音频数据被单独的解码器恢复,由于同步不是问题,所以对由视频标签支持的编解码器格式的依赖性被降低。
图13示出根据另一示例性实施例的媒体重放设备120。在图12中,音频数据被恢复,然后与视频数据同步。另一方面,在图13中,在与视频数据同步之后,音频数据被解码并被恢复。与图12的实施例相比,图13的实施例中的音频解码器126的位置被改变为缓冲器控制器129的后端。由于其他配置与图12的实施例的其他配置相同,所以将省略多余的描述。以下,将描述改变的音频同步单元144。
根据图13的实施例,音频组块单元128通过对被解码和被恢复之前的音频数据进行打包来产生音频组块。音频组块单元128从容器创建模块127接收关于组块数据的信息,以在与由容器创建模块127产生的组块数据对应的范围内对音频数据进行打包。
缓冲器控制器129通过从渲染器135b接收到的时间信息对音频组块与视频数据进行同步,并将音频组块发送到音频解码器126。在图13的实施例中,与图12的实施例不同,与组块数据同步的音频数据是被音频解码器126解码之前的数据。
音频解码器126恢复同步的音频数据并将同步的音频数据发送到音频渲染器136,并且音频渲染器136执行渲染以输出恢复的音频数据。
在图12和图13所示的实施例中,已经描述了作为示例的基于视频数据对音频数据进行同步的情况,但是另一方面,还可以基于音频数据来对视频数据进行同步。
媒体数据被称为第一媒体数据(音频)和第二媒体数据(视频),并且被应用于图12和图13的实施例。
接收单元141接收媒体数据,并将接收到的媒体数据发送到数据分离单元。数据分离单元将媒体数据分离为第一媒体数据(音频)和第二媒体数据(视频)。
当第一媒体数据(音频)不是容器格式时,容器单元142按单元数量对构成第一媒体数据(音频)的帧进行打包,并将它们转换为组块数据。
媒体恢复单元143通过由嵌入在web浏览器中的解码器对组块数据进行解码来恢复第一媒体数据(音频),并且当输出第一媒体数据(音频)时,基于组块数据将关于对应的时间点的时间信息发送到同步单元(对应于图12和图13中的音频同步单元)。具体地讲,媒体恢复单元143可包括视频标签模块135,其中,视频标签模块135产生指定影片剪辑或其他视频流的视频标签,和/或在对媒体数据进行解码和渲染中使用视频标签。媒体恢复单元143可包括嵌入在web浏览器中并基于视频标签对音频数据进行解码的解码器135a。媒体恢复单元143还可包括基于视频标签对音频数据进行渲染的渲染器135b。因此,媒体恢复单元143输出第一媒体数据(音频)不是问题。
同步单元基于接收到的时间信息将第二媒体数据(视频)与恢复的第一媒体数据(音频)进行同步。
如上所述,已经描述即使当第一媒体数据是音频并且第二媒体数据是视频时,也可根据图12和图13的实施例再现同步的媒体的情况。
在这种情况下,第一媒体数据是音频并且第二媒体数据是视频,仅是用于示出各种实施例的设置,并且第一媒体数据和第二媒体数据的类型不限于此。
接下来,将描述媒体重放装置120的另一结构的示例性实施例。图14示出根据另一示例性实施例的媒体重放设备120。图14的媒体重放设备120包括接收单元、数据分离单元、容器单元、媒体恢复单元和音频恢复单元。在这种情况下,可以以JavaScript实现接收单元、数据分离单元、容器单元和音频恢复单元。可通过接收图9和图10的脚本模块来配置图14的媒体重放设备120。
以与图12中的方式相同的方式来配置接收单元和数据分离单元。接收单元接收由媒体服务设备110产生的媒体数据,并且数据分离单元将媒体数据分离为视频数据和音频数据。分离的视频数据在解包模块122a中被解包,然后被发送到容器单元。
容器单元包括容器创建模块127。容器创建模块127按单位数量对构成视频数据的多个帧进行打包,并将多个帧转换为组块数据。在这种情况下,可根据视频数据的每秒帧数(FPS)可变地调节帧的单元数量。
媒体恢复单元包括MSE模块134和视频标签模块135,并对从容器单元发送的组块数据进行解码以恢复视频并输出恢复的视频。
在媒体恢复单元恢复并输出视频数据的同时,音频恢复单元对由数据分离单元分离的音频数据进行解码和恢复,并且输出与从媒体恢复单元输出的视频数据同步的恢复的音频数据。
音频恢复单元可包括转码单元。转码单元包括将音频数据转码为另一个编解码器格式的音频转码器123。音频转码器123可在输入的音频数据为由媒体恢复单元不支持的格式(即,视频标签不支持的编解码器格式)时,转码并输出由视频标签支持的编解码器格式的音频数据。
在音频恢复单元中转码的音频被发送到容器创建模块127。当从解包模块122a接收到的视频数据不是容器格式时,容器创建模块127可按单位数量对从音频恢复单元接收到的音频数据进行打包,同时按所述单位数量对构成视频数据的帧进行打包,从而产生组块数据。产生的组块数据可在不存在兼容性问题的情况下被发送到MSE模块134。
在音频恢复单元中对音频数据进行解码、渲染并输出音频数据的处理可被包括在媒体恢复单元中。这是因为容器单元从视频数据和音频数据产生组块数据。因此,可通过媒体恢复单元的MSE模块134和视频标签模块135对组块数据进行解码和渲染来输出视频数据和音频数据。
通过使用图14的媒体重放设备120,可以通过对音频数据进行转码并转换为组块数据,来将视频标签不支持的编解码器格式的音频数据解码和渲染为视频标签。因此,由于音频数据与视频数据一起被恢复,所以可以再现媒体数据,而没有同步问题。
图17示出根据示例性实施例的产生以JavaScript实现的脚本模块的处理。参考图17,可通过使用转换器(诸如,Emscripten)来转换以传统的C和C++本地代码编写的源以获得可在浏览器中使用的JavaScript代码来实现以JavaScript实现的脚本模块。
当使用诸如Emscripten的转换器时,可以从传统的本地代码获得以JavaScript实现的解码器或容器。因此,具有可降低对编解码器依赖性的优点。
由于使用JavaScript代码代替插件,所以不必担心浏览器的支持中断。不需要担心是否根据浏览器使用ActiveX接口或NPAPI接口。也就是说,具有可降低对浏览器的依赖性的优点。
图1中所示的媒体重放设备120可被实现为例如图18中所示的计算装置400。计算装置400可以是(但不限于)移动手持装置(例如,智能电话、平板计算机等)、膝上型或笔记本计算机、分布式计算机系统、计算网格或服务器。计算装置400可包括经由总线440彼此或与其他元件通信的处理器401、内存403和存储器408。总线440可连接到显示器432、至少一个输入装置433和至少一个输出装置434。
所有这些元件可直接或经由一个或多个接口或适配器连接到总线440。总线440连接到各种子系统。总线440可包括存储器总线、存储器控制器、外围总线、本地总线和它们的组合。
处理器(例如,中央处理器(CPU))401可选地包括高速缓存存储器402,其中,高速缓存存储器402是用于临时存储指令、数据或计算机地址的本地存储器。处理器401执行存储在计算机可读存储介质(诸如,内存403或存储器408)中的指令(或软件模块)。计算机可读存储介质可存储实现特定实施例的软件模块,并且处理器401可执行存储的软件模块。
存储器403可包括随机存取存储器(RAM)404、只读存储器(ROM)405和它们的组合。此外,具有启动计算装置400所需的基本例程的基本输入/输出系统(BIOS)406(例如,固件)可被包括在内存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,并且可由图形控制器421控制显示器432与总线440之间的数据传输。
除了显示器432之外,计算装置400可包括至少一个输出装置434(诸如,音频扬声器和打印机)。输出装置434经由输出接口424连接到总线440。例如,输出接口424可以是:例如,串行端口、并行端口、游戏端口、USB等。
虽然不限于此,但是示例性实施例可被实施为计算机可读记录介质上的计算机可读代码。计算机可读记录介质是可存储之后可由计算机系统读取的数据的任何数据存储装置。计算机可读记录介质的示例包括:只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘以及光学数据存储装置。计算机可读记录介质还可分布于联网的计算机系统上,使得以分布式的方式存储和执行计算机可读代码。此外,示例性实施例可被编写为通过计算机可读传输介质(诸如,载波)传输的计算机程序,并且在执行程序的通用或专用数字计算机中被接收和实现。此外,可理解,在示例性实施例中,上述的设备和装置的一个或多个单元可包括电路、处理器、微处理器等,并且可执行存储在计算机可读介质中的计算机程序。
前述示例性实施例仅是示例性的,并且不将被解释为限制性的。本教导可被容易地应用于其他类型的设备。此外,示例性实施例的描述意图是说明性的,而不限制权利要求的范围,许多替代物、修改和变化对本领域的技术人员来说将是清楚的。

Claims (15)

1.一种用于在web浏览器上同步再现视频和音频的媒体重放设备,所述媒体重放设备包括:
接收单元,被配置为使用支持web服务的通信协议来接收在媒体服务设备中产生的媒体数据;
数据分离单元,被配置为将接收到的媒体数据分离为视频数据和音频数据;
容器单元,被配置为:当视频数据不是容器格式时,通过按单位数量对构成视频数据的帧进行打包来将所述帧转换为容器格式的组块数据;
媒体恢复单元,被配置为通过由嵌入在web浏览器中的解码器对组块数据进行解码来恢复视频,并且当恢复的视频被输出时,基于组块数据提供关于恢复的视频被输出的时间点的时间信息;
音频同步单元,被配置为根据基于组块数据提供的时间信息来输出与恢复的视频同步的音频数据。
2.根据权利要求1所述的媒体重放设备,其中,容器单元根据视频数据的每秒帧数可变地调节单位数量。
3.根据权利要求1所述的媒体重放设备,其中,媒体恢复单元包括在恢复的视频被输出之前对恢复的视频进行渲染的渲染器,并且时间信息包括组块数据在渲染器中被渲染的时间点。
4.根据权利要求3所述的媒体重放设备,其中,组块数据被渲染器渲染的时间点对应于组块数据的开始部分。
5.根据权利要求1所述的媒体重放设备,其中,音频同步单元对分离的音频数据进行解码以恢复音频,并根据基于组块数据提供的时间信息来输出与恢复的视频同步的恢复的音频。
6.根据权利要求5所述的媒体重放设备,其中,音频同步单元包括:
音频解码器,被配置为基于被配置为由web浏览器解析的脚本来对分离的音频数据进行解码;
缓冲器控制器,被配置为将与组块数据同步的解码的音频数据提供给音频渲染器;
音频渲染器,被配置为对解码的音频数据进行渲染。
7.根据权利要求6所述的媒体重放设备,其中,组块数据是在被解码之前的压缩的数据,并且与组块数据同步的音频数据是解码和解压缩的数据。
8.根据权利要求1所述的媒体重放设备,其中,音频同步单元根据基于组块数据提供的时间信息,对与恢复的视频同步的分离的音频数据进行缓冲,并对缓冲的音频数据进行解码以恢复和输出音频。
9.根据权利要求8所述的媒体重放设备,其中,音频同步单元包括:
缓冲器控制器,被配置为对与组块数据同步的分离的音频数据进行缓冲;
音频解码器,被配置为基于被配置为由web浏览器解析的脚本来对缓冲的音频数据进行解码;
音频渲染器,被配置为对解码的音频数据进行渲染。
10.根据权利要求1所述的媒体重放设备,其中,所述嵌入在web浏览器中的解码器是由超文本标记语言5支持的视频标签播放器,并且通过JavaScript实现接收单元、容器单元和音频同步单元。
11.一种用于向媒体重放设备发送媒体数据的媒体服务设备,所述媒体服务设备包括:
模块存储单元,被配置为存储用于在媒体重放设备的web浏览器上再现媒体数据的脚本模块;
模块传输单元,被配置为响应于媒体服务设备与媒体重放设备之间的连接被建立,将脚本模块传输到媒体重放设备;
打包单元,被配置为将媒体数据进行打包以产生传输包;
web服务器,被配置为建立所述连接并响应于来自媒体重放设备的请求而将传输包传输到媒体重放设备,
其中,脚本模块被配置为:在媒体重放设备中,通过所述连接来接收传输包,当包括在传输包中的视频数据未基于容器被打包时,通过按单位数量对包括在传输包中的视频帧进行打包来将视频帧转换为容器格式的组块数据,并基于关于通过安装在视频重放设备中的媒体恢复单元解码并输出组块数据的时间点的时间信息来输出包括在传输包中的与组块数据同步的音频数据。
12.根据权利要求11所述的媒体服务设备,其中,组块数据被媒体重放设备中的渲染器渲染的时间点对应于组块数据的开始部分。
13.根据权利要求11所述的媒体服务设备,其中,脚本模块还被配置为:通过对包括在传输包中的音频数据进行解码并根据基于组块数据提供的时间信息来输出与组块数据同步的恢复的音频,来输出同步的音频数据。
14.根据权利要求11所述的媒体服务设备,其中,脚本模块还被配置为:通过对与组块数据同步的分离的音频数据进行缓冲并基于被配置为由web浏览器解析的脚本对缓冲的音频数据进行解码,来输出同步的音频数据,
对解码的音频数据进行渲染。
15.一种用于在web浏览器上同步再现视频和音频的媒体重放设备,所述媒体重放设备包括:
接收单元,被配置为使用支持web服务的通信协议来接收在媒体服务设备中产生的媒体数据;
数据分离单元,被配置为将接收到的媒体数据分离为第一媒体数据和第二媒体数据;
容器单元,被配置为:当第一媒体数据不是容器格式时,通过按单位数量对构成第一媒体数据的帧进行打包来将所述帧转换为容器格式的组块数据;
媒体恢复单元,被配置为通过由嵌入在web浏览器中的解码器对组块数据进行解码来恢复第一媒体数据,并且当恢复的第一媒体数据被输出时,基于组块数据提供关于恢复的第一媒体数据被输出的时间点的时间信息;
同步单元,被配置为根据基于组块数据提供的时间信息来输出与恢复的第一媒体数据同步的第二媒体数据。
CN201810049239.6A 2017-01-20 2018-01-18 用于同步再现视频和音频的媒体重放设备和媒体服务设备 Active CN108337545B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2017-0009963 2017-01-20
KR20170009963 2017-01-20
US201762457203P 2017-02-10 2017-02-10
US62/457,203 2017-02-10
KR10-2017-0087661 2017-07-11
KR1020170087661A KR101986995B1 (ko) 2017-01-20 2017-07-11 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법

Publications (2)

Publication Number Publication Date
CN108337545A CN108337545A (zh) 2018-07-27
CN108337545B true CN108337545B (zh) 2021-11-30

Family

ID=62906776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810049239.6A Active CN108337545B (zh) 2017-01-20 2018-01-18 用于同步再现视频和音频的媒体重放设备和媒体服务设备

Country Status (2)

Country Link
US (1) US10979785B2 (zh)
CN (1) CN108337545B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111326176A (zh) * 2018-12-14 2020-06-23 中移(杭州)信息技术有限公司 基于opus编码的rtp包的检测方法、装置及介质
US10992490B2 (en) * 2018-12-17 2021-04-27 Rovi Guides, Inc. System and method for controlling playback or recording of media assets based on a state of a secondary device
CN111131849B (zh) * 2019-12-26 2022-07-08 视联动力信息技术股份有限公司 流媒体直播播放方法、装置及计算机可读存储介质
CN111356023B (zh) * 2019-12-30 2021-12-24 杭州海康威视数字技术股份有限公司 播放方式确定方法及装置
US11012498B1 (en) * 2020-01-02 2021-05-18 Microsoft Technology Licensing, Llc Web browser multi-media redirection
US11012485B1 (en) * 2020-01-02 2021-05-18 Microsoft Technology Licensing, Llc Multi-media redirection for media applications
CN111641838A (zh) * 2020-05-13 2020-09-08 深圳市商汤科技有限公司 一种浏览器视频播放方法、装置以及计算机存储介质
CN112073809B (zh) * 2020-08-09 2022-08-09 富盛科技股份有限公司 一种支持浏览器播放任意编码格式视频的方法
CN115119029B (zh) * 2021-03-19 2024-04-02 海信视像科技股份有限公司 一种显示设备及显示控制方法
CN114390340A (zh) * 2021-12-30 2022-04-22 北京鸿合爱学教育科技有限公司 视频播放方法、装置和电子设备
CN117097705B (zh) * 2023-10-21 2024-01-16 北京蔚领时代科技有限公司 一种基于WebTransport的音视频传输方法和系统

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000036528A2 (en) * 1998-12-18 2000-06-22 Siemens Corporate Research, Inc. A system and method for authoring, distributing and replaying derivative hypermedia content
GB9925062D0 (en) * 1999-10-23 1999-12-22 Koninkl Philips Electronics Nv Video recording and playback
US7665115B2 (en) * 2001-02-02 2010-02-16 Microsoft Corporation Integration of media playback components with an independent timing specification
KR20040096718A (ko) 2003-05-10 2004-11-17 삼성전자주식회사 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조
KR100651169B1 (ko) 2004-04-07 2006-11-29 최경우 2원화된 데이터 전송 방식의 멀티미디어방 운영 시스템 및그 운영 방법
EP1846916A4 (en) * 2004-10-12 2011-01-19 Medialab Solutions Llc SYSTEMS AND METHODS FOR REMOVE MUSIC
JP2007065928A (ja) * 2005-08-30 2007-03-15 Toshiba Corp 情報記憶媒体、情報処理方法、情報転送方法、情報再生方法、情報再生装置、情報記録方法、情報記録装置、及びプログラム
KR101168612B1 (ko) * 2005-10-11 2012-07-30 삼성전자주식회사 디지털 방송수신기의 동기장치 및 방법
US9060094B2 (en) * 2007-09-30 2015-06-16 Optical Fusion, Inc. Individual adjustment of audio and video properties in network conferencing
WO2009157078A1 (ja) * 2008-06-26 2009-12-30 富士通マイクロエレクトロニクス株式会社 映像音声データ出力装置および映像音声データ出力方法
US9400555B2 (en) * 2008-10-10 2016-07-26 Internet Services, Llc System and method for synchronization of haptic data and media data
EP2197153B1 (en) * 2008-12-15 2012-07-04 Koninklijke KPN N.V. Method and device for reliable multicast using UDP
US8396133B2 (en) * 2009-04-21 2013-03-12 Qualcomm Incorporated Synchronizing video frames without hardware timestamps
CN107104945B (zh) * 2010-06-04 2020-10-30 微软技术许可有限责任公司 用于服务器辅助的视频会话的方法和装置
US9078049B2 (en) * 2010-09-13 2015-07-07 Rovi Technologies Corporation Protection of internet delivered media
US20120099594A1 (en) * 2010-10-22 2012-04-26 Phorus Llc Media distribution architecture
US20120128058A1 (en) * 2010-11-21 2012-05-24 Human Monitoring Ltd. Method and system of encoding and decoding media content
US9380104B2 (en) 2010-12-20 2016-06-28 Thomson Licensing Media player web service
US9792363B2 (en) * 2011-02-01 2017-10-17 Vdopia, INC. Video display method
CA2843766A1 (en) * 2011-08-16 2013-02-21 Destiny Software Productions Inc. Script-based video rendering
US9031382B1 (en) * 2011-10-20 2015-05-12 Coincident.Tv, Inc. Code execution in complex audiovisual experiences
US8749610B1 (en) * 2011-11-29 2014-06-10 Google Inc. Managing nodes of a synchronous communication conference
EP2798508A4 (en) 2011-12-28 2015-08-26 Intel Corp METHOD AND DEVICE FOR STREAMING METADATA BETWEEN DEVICES BY JAVASCRIPT AND HTML5
WO2013136754A1 (ja) * 2012-03-12 2013-09-19 パナソニック株式会社 表示装置、及び送信装置
US20140003799A1 (en) * 2012-06-30 2014-01-02 Divx, Llc Systems and methods for decoding a video sequence encoded using predictions that include references to frames in reference segments from different video sequences
CN102821323B (zh) 2012-08-01 2014-12-17 成都理想境界科技有限公司 基于增强现实技术的视频播放方法、系统及移动终端
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
KR101972834B1 (ko) * 2012-09-27 2019-04-29 삼성전자주식회사 전자 장치 및 이의 멀티미디어 컨텐츠 제작 방법 그리고 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능 매체
JP6541933B2 (ja) * 2012-12-28 2019-07-10 ヤマハ株式会社 信号処理装置及び信号処理方法
US10382512B2 (en) * 2013-03-14 2019-08-13 Microsoft Technology Licensing, Llc Distributed fragment timestamp synchronization
NO2835982T3 (zh) 2013-08-06 2018-05-19
EP2922303A1 (en) * 2014-03-04 2015-09-23 LG Electronics Inc. Display device for managing a plurality of time source data and method for controlling the same
KR101538114B1 (ko) 2014-05-23 2015-07-23 가천대학교 산학협력단 모바일 스마트 기기 내에서 다중 코덱 기반으로 끊김 없이 동영상을 재생할 수 있도록 하는 동영상 처리 장치 및 방법
US9832507B2 (en) * 2014-06-27 2017-11-28 Qualcomm Incorporated System and method for synchronizing media output devices connected on a network
US20160191598A1 (en) * 2014-08-04 2016-06-30 Likqid Media, Inc. System and methods that enable embedding, streaming, and displaying video advertisements and content on internet webpages accessed via mobile devices
US9532099B2 (en) * 2015-03-24 2016-12-27 Intel Corporation Distributed media stream synchronization control
US10412130B2 (en) * 2016-04-04 2019-09-10 Hanwha Techwin Co., Ltd. Method and apparatus for playing media stream on web browser

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Real Time Video Synchronization System in Web Browsers;Shingo Nishio, Yoshikatsu Tada;《IEICE Technical Committee Submission System》;20130124;全文 *
一种基于WEB的网络视频监控系统设计与实现;王慧;《中国优秀硕士学位论文全文数据库》;20130630;全文 *

Also Published As

Publication number Publication date
US20180213301A1 (en) 2018-07-26
US10979785B2 (en) 2021-04-13
CN108337545A (zh) 2018-07-27

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浏览器上播放媒体的媒体重放设备和媒体服务设备
KR101986995B1 (ko) 웹 브라우저 상에서 비디오와 오디오를 동기화하여 재생하는 미디어 재생 장치 및 방법
JP6511038B2 (ja) クラウドストリーミングサービス提供方法及びそのための装置
CN108337246B (zh) 防止重放延迟的媒体重放设备和媒体服务设备
EP3646611A1 (en) Systems and methods of orchestrated networked application services
KR101821124B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
CN108337248B (zh) 媒体重放设备和媒体服务设备
JP2012257196A (ja) 画面の共有に基づくストリーミングメディア転送システム及びその方法
US10547878B2 (en) Hybrid transmission protocol

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