CN116018794A - 利用分段式mp4的基于http的媒体流式传输服务 - Google Patents

利用分段式mp4的基于http的媒体流式传输服务 Download PDF

Info

Publication number
CN116018794A
CN116018794A CN202080103816.0A CN202080103816A CN116018794A CN 116018794 A CN116018794 A CN 116018794A CN 202080103816 A CN202080103816 A CN 202080103816A CN 116018794 A CN116018794 A CN 116018794A
Authority
CN
China
Prior art keywords
client device
web browser
media
media server
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080103816.0A
Other languages
English (en)
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.)
Hitachi Data System Corp
Original Assignee
Hitachi Data System Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Data System Corp filed Critical Hitachi Data System Corp
Publication of CN116018794A publication Critical patent/CN116018794A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64715Protecting content from unauthorized alteration within the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • 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
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/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/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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • 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/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

本文描述的系统和方法包括在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接;在媒体服务器与客户端设备的网络浏览器应用程序之间建立网络套接字安全(WSS)连接;在媒体服务器处,通过HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及通过WSS连接将从所选择的一个或多个摄像机接收到的直播视频的媒体块从媒体服务器传输到客户端设备的网络浏览器应用程序。

Description

利用分段式MP4的基于HTTP的媒体流式传输服务
技术领域
本公开涉及媒体流式传输系统,更具体地,涉及解决包括直播视频馈送(livevideo feed)的媒体流式传输系统中的延迟和抖动。
背景技术
用于媒体流式传输的相关技术方案通常面向视频点播(VoD)、订阅视频点播(SVoD)和一般的过顶(OTT)服务。在过去几年,闭路电视(CCTV)公司使用专有或半标准协议开发流式传输服务器,主要基于直播流式传输协议(RTSP)和实时消息传输协议(RTMP),因此与基于网络的接口具有有限的兼容性。面向娱乐的其他供应商投资于广播电视业务,主要集中于SVoD,同时由于直播流式传输服务对他们的市场并不重要,因此对直播流式传输服务有所妥协。
在相关技术中,通过超文本传输协议(HTTP)进行直播流式传输被用作满足流式传输到网络客户端的需要的替代方案,但通常涉及性能方面的妥协。出于这个原因,相关技术的实现方式集中于网络直播流式传输的基于RTMP的实现方式。但是,RTMP的开发并没有考虑到已采用网络浏览器和应用程序的安全措施。
在相关技术的实现方式中,利用HTTP作为流式传输直播视频的协议的最新改进已经将通用媒体应用格式(CMAF)结合作为基于网络的生态系统的通用标准。CMAF扩展了现有的分段式运动图片专家组4(MP4)最佳实践,以确保与现有的基于HTTP的动态自适应流式传输(DASH)和HTTP直播流式传输(HLS)方法具有更广泛和统一的兼容性。
发明内容
本文描述的示例实现方式涉及诸如CCTV流式传输的直播流式传输,并在安全性方面针对特定场景优化视频管道。在本文描述的示例实现方式中,存在由于针对CCTV系统优化的媒体流式传输服务的系统和方法,其有助于用户使用延迟性能低的直播馈送。
在本文描述的示例实现方式中,解决了将高性能直播和存档视频流式传输到标准网络客户端的问题,以克服相关技术的流式传输管道遇到的典型的延迟和抖动问题。本文描述的示例实现方式涉及用基于HTTP的流式传输的安全且可扩展的方案替换使用RTMP的相关技术。
示例实现方式包括符合DASH的高性能媒体流式传输服务,其能够向标准网络客户端播送安全摄像机馈送。示例实现方式包括诸如媒体服务器的装置,该装置管理DASH格式的传入分段式MP4文件并向HTML5标准网络播放器播送媒体馈送。通过使用轻量和优化的足迹,这样的媒体服务器可以以非常低的延迟通过HTTP进行流式传输,确保直播流式传输的低延迟性能。
基于Flash(RTMP)的相关技术实现方式在安全性和与最新网络浏览器标准的兼容性方面较弱。此外,至于基于HTTP的流式传输,市场上的相关技术媒体服务扩展性差,常常影响视频延迟。为了解决相关技术中的这样的问题,示例实现方式管理和路由传入的视频馈送并在不引入任何延迟线的情况下播送它们。这样的示例实现方式也可用于促进VoD支持。
示例实现方式还包括通过HTTP和网络套接字/网络套接字安全(WS/WSS)使用分段式MP4音频/视频,确保了网络客户端与服务器之间的高性能和持久的通信层。由于使用了诸如HTTP和WSS的通用协议,因此本文描述的示例实现方式可以通过使用第7层反向代理和负载平衡器来实现安全和扩展。另外,由于提供了传入馈送到网络客户端的智能路由,因此即使存在复杂的网络拓扑,也可以将延迟降低到非常低的水平(例如,降低到1s)。
本公开的各方面可以包括一种方法,其可以包括:在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接;在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间建立网络套接字安全(WSS)连接;在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及通过所述WSS连接将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
本公开的各方面可以包括一种非瞬态计算机可读介质,其存储用于执行过程的指令,该指令包括:在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接;在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间建立网络套接字安全(WSS)连接;在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及通过所述WSS连接将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
本公开的各方面可以包括一种系统,其可以包括:用于在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接的装置;用于在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间建立网络套接字安全(WSS)连接的装置;用于在所述媒体服务器处通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块的装置;以及用于通过所述WSS连接将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序的装置。
本公开的各方面还包括一种装置,其可以包括处理器,该处理器被配置为:在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接;在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间建立网络套接字安全(WSS)连接;在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及通过所述WSS连接将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
附图说明
图1图示了根据示例实现方式的示例视频管道。
图2图示了根据示例实现方式的示例安全管道。
图3图示了根据示例实现方式的用于放大或缩小媒体服务器的示例集群架构。
图4图示了可以在其上实现示例实现方式的示例架构。
图5图示了根据示例实现方式的VoD支持的示例实现方式。
图6(a)至图6(c)图示了可以在其上利用示例实现方式的示例流程图。
图7图示了具有适合在一些示例实现方式中使用的示例计算机设备的示例计算环境。
具体实施方式
下面的详细描述提供了本申请的附图和示例实现方式的细节。为了清楚起见,省略了附图之间的冗余元件的附图标记和描述。在整个描述中使用的术语作为示例提供,并不旨在是限制性的。例如,术语“自动”的使用可能包括全自动实现方式或涉及到对实现方式的某些方面的用户或管理员控制的半自动实现方式,这取决于实践本申请的实现方式的本领域的普通技术人员所所需的实现方式。选择可以由用户通过用户界面或其他输入装置进行,或者可以通过所需的算法来实现。可以单独地或组合地使用本文描述的示例实现方式,并且可以根据所需的实现方式通过任何手段来实现示例实现方式的功能。
本文描述的示例实现方式包括诸如针对CCTV安全系统设计和优化的媒体流式传输服务器的装置。这样的媒体服务器被配置为接收安全摄像机视频馈送并以安全和高性能的方式将它们播送到网络客户端。
图1图示了根据示例实现方式的示例视频管道。具体来说,图1表示从通用CCTV设备、摄像机、录像机(NVR)或视频管理服务器(VMS)到托管在网络应用程序中的最终消费者(例如,标准HTML5视频播放器)的端对端的视频管道。在图1的示例中,该架构包括可以包括多个CCTV设备或摄像机的CCTV安全系统110、诸如媒体服务器120的装置以及实现MSE的最终用户基于网络的媒体播放器130。CCTV安全系统110通过使用HTTPS连接121将媒体块流式传输到媒体服务器120,媒体服务器120通过WSS连接122将媒体块流式传输到基于网络的媒体播放器130。
在图1的示例中,管道包括将视频拆分为独立的媒体块(例如,分段式MP4),这些媒体块可以由任何实现标准媒体源扩展(MSE)的浏览器管理。可以使用诸如DASH的格式,因为与基于HTTP的流式传输具有很强的兼容性,特别是对于直播流式传输。通过使用这种方法,管道优化了浏览器编解码器的使用,并且即使在许多视频播放器被加载到同一网页上,使用不同的直播或点播馈送的情况下,也确保了低延迟性能。通信层的另一个重要特征是在网络视频播放器与媒体服务器之间具有持久的套接字。这样的示例实现方式允许系统流式传输,同时减少延迟和抖动,而不引入协议开销。浏览器会收到馈送MSE的连续视频块流,并允许浏览器使用本地编解码器解码视频。
在示例实现方式中,所使用的媒体块为分段式MP4的形式,因为它可配置为促进较低时间帧的块(例如,500毫秒或更短的块的形式),这样的块可以确保延迟保持较低,并且因为基于网络的媒体播放器具有默认可用的MP4编解码器。此外,CCTV摄像机可以容易地通过诸如FFMPEG的库在本地提供分段式MP4,使得从摄像机接收到的媒体块可以通过媒体服务器120一致地转发给基于网络的媒体播放器130,而对于立即回放没有任何改变。另外,分段式MP4是容器文件,可以包含分成片段(例如500毫秒或更小的块)的任何类型的媒体(例如,音频、视频),以便于在任何基于浏览器/网络的媒体播放器上灵活传输和立即回放。然而,根据所需的实现方式,也可以使用其他类型的可配置类型的媒体块。
由于媒体服务器120被配置为通过HTTPS 121和WSS 122在CCTV系统110与基于网络的媒体播放器130之间建立连接并转发媒体块,因此媒体服务器120的硬件要求可以被最小化并且可以被灵活地实现以在云供应数据中心内放大或缩小,如图3所示。通过HTTPS121和WSS 122建立的连接是安全的连接,其确保了媒体块传输的安全性,同时对于可扩展性和促进反向代理具有灵活性。由于通过本文描述的架构所需的硬件的最小化,媒体服务器120也可以根据所需的实现方式用其他类型的装置(例如,个人计算机、膝上型计算机、网关路由器)替换。因此,在一个示例实现方式中,媒体服务器120可以被配置为仅缓存媒体块直到该块完成,媒体服务器120从该块完成立即将完成的块转发给基于网络的媒体播放器130以确保低延迟。
通过这种架构,可以促进从CCTV监控系统到基于网络的媒体播放器的近实时延迟(例如,1s),同时通过HTTPS和WSS连接保持视频馈送的安全性。由于CCTV监控系统的大多数使用情况往往需要实时馈送(例如,安全系统、警察监控等),因此本文描述的架构是对没有达到如此低的延迟并因此不适用于CCTV监控系统的相关技术实现方式的改进。相关技术系统通常有10-15秒的延迟,不适用于CCTV监控系统,并且也无法以所需的延迟处理提供给特定客户端设备的多个实时流摄像机馈送。
在图1所示的示例架构中,在媒体服务器120与基于网络的媒体播放器130之间保持WSS连接,使得可以在它们之间保持低延迟的持久信道,并且减少连接方面的开销以促进与HTTPS连接相比的低延迟。如果WSS连接失败,则媒体服务器120将因此通过通过WSS协议接收到的通知而意识到失败,并可以与HTTPS连接相比快得多且有效得多地恢复连接。
图2图示了根据示例实现方式的示例安全管道。本文描述的示例实现方式是OpenID顺从的,因此它可以与任何OpenID身份管理器集成,从而允许使用标准机制保护馈送。当媒体服务器120接收到推送或使用视频的请求时,执行令牌验证,这涉及到一组方法,这些方法针对传入和传出的请求验证在每个媒体馈送的媒体馈送授权标头中接收到的不记名令牌。基于传入的令牌验证,将处理或不处理请求。在图2的示例实现方式中,媒体服务器将令牌的处理与委托给身份提供者200的公共用户管理分离,这允许媒体服务器120的资源专用于以较低的延迟向客户端转发媒体块,同时保持灵活性。根据所需的实现方式,内置存储器缓存还可以重新使用授权信息来验证已处理的令牌,而无需与身份提供者200进行新的迭代。
如图2所示,示例实现方式通过都与传输层安全性(TLS)1.2兼容的HTTPS121和WSS122暴露安全通道。通过这样的实现方式,客户端和服务器因此被迫仅通过加密通道进行通信,从而降低了暴露不希望的内容的风险。基于OpenID的认证方法只是基于本文描述的灵活的基于插件的架构可以使用的可能机制之一;也可以根据所需的实现方式部署其他认证方法。
在示例实现方式中,可以利用诸如RESTful API的网络应用程序编程接口(API)来监视馈送的状态。特别地,这样的实现方式可以提供当前传入的馈送的快照以及由媒体服务器120的实例分组的消费客户端的计数、流状态和最后交互的时间戳。
基于网络的媒体播放器130可以以专门针对通过媒体服务器120的CCTV直播流设计的高性能HTML5网络视频播放器的形式实现。在本文描述的示例实现方式中,基于网络的视频播放器130被配置为支持用于认证和授权的API密钥/令牌定义、确保低至几分之一秒的延迟的直播边缘策略、视频馈送不可立即使用时的重试机制、内部事件曝光、日志和统计功能以及多轨管理。
为了促进VoD实现方式,媒体服务器120管理DASH流和封闭的媒体文件以及浏览器可以处理的任何格式。VoD是通过实现伪流式传输来执行的。由于媒体服务器120被配置为支持超文本标记语言(HTML)1.1+规范,基于网络的媒体播放器130和任何HTML5标准播放器被配置为使用由媒体服务器120提供的视频文件。
图3图示了根据示例实现方式的用于放大或缩小媒体服务器的示例集群架构。在示例实现方式中,媒体服务器120被配置为是轻量的、多平台的、安全的、可扩展的和高性能的。内部架构利用插件和中间件来确保可扩展性,而不影响性能。视频管道以低至1秒的延迟执行,如果不依赖通常托管在云上的昂贵且庞大的基础设施,相关技术的实现方式无法达到这一点。示例实现方式可以将延迟减少到相关技术的实现方式的延迟的1/5-1/10。此外,媒体服务器120的一个实例可以被配置为管理多达100个同时发生的全帧HD视频馈送。在示例实现方式中,缩放媒体服务器非常简单并且包括根据需要向集群200添加新节点。
在图3的示例中,可以利用本领域已知的任何负载平衡过程来平衡所使用的媒体服务器和/或被提供给每个媒体服务器的馈送的数量。例如,媒体服务器可以被配置为同时促进馈送的阈值(例如,100)。如果将要超过阈值,则后端管理服务器(例如,图4中所示)可以通过分配额外的媒体服务器来对馈送进行负载平衡而放大系统。此外,如果用户随后减少要查看的馈送的数量,这样的后端管理服务器可以缩小所使用的媒体服务器的数量。
图4图示了可以在其上实现示例实现方式的示例架构。如图4所示,基于网络的媒体播放器130在前端客户端设备400上执行。当客户端设备400提供一个或多个摄像机的选择以供查看时(例如,通过图形用户界面),触发器被发送到后端管理服务器410,后端管理服务器410处理该请求以判断摄像机是否可用。如果是,则管理服务器410向管理对应的摄像机的边缘设备420提供媒体馈送请求。边缘设备420然后控制CCTV系统110中的对应的摄像机连接到媒体服务器120以提供直播流式传输视频的分段式媒体块。分段式媒体块被提供给客户端设备400以在基于网络的媒体播放器130中进行处理。图4中的架构流程在图6(a)至图6(c)中更详细地描述。
本文描述的示例实现方式可以在许多不同的场景中使用,并且它对所有需要具有极低延迟和高性能的真实直播流式传输服务的未来潜在用途是开放的。在示例实现方式中,该系统可以完全集成到大型态势感知系统中,从而实现来自完全不同的CCTV子系统的数千个安全摄像机的直播视频流式传输。由于该架构,示例实现方式可以非常顺利地集成到从边缘使用媒体馈送的基于网络的应用程序中。
图5图示了根据示例实现方式的VoD支持的示例实现方式。VoD支持开启了使用媒体服务器120作为视频点播平台的机会。在这样的示例实现方式中,客户端设备可以通过图4所示的架构请求将视频存储在一个媒体服务器120处。一旦视频被存储在媒体服务器120上,则可以在基于网络的媒体播放器130与对应的媒体服务器120之间建立HTTPS连接500,从该HTTPS连接500可以提交VoD请求并且可以提供VoD馈送。
由于其基于插件的架构,示例实现方式可以与任何类型的外部系统集成,以进行用于视频分析、深度学习引擎等的馈送供应、自定义工作流、媒体资产管理和直播事件播送。
图6(a)至图6(c)图示了根据示例实现方式的示例流程图。具体来说,图6(a)的流程图示了选择摄像机并如图1和图4所示的那样在媒体服务器、CCTV系统和基于网络的媒体播放器之间建立连接的流程的例子,并且可以通过后端管理服务器、媒体服务器或两者的组合来促进。
首先,在601处,从客户端设备接收对一个或多个摄像机的选择。在602处,判断摄像机是否可用602。可以基于摄像机在请求时是否可用于提供直播视频馈送来做出这样的判断。如果可用(是),则流程进行到603以如图2所示的那样从所选择的摄像机和客户端设备接收认证令牌。
在604处,如图2中判断的那样,判断认证是否成功。如果成功(是),则流程进行到605以在所选择的摄像机与一个或多个媒体服务器之间建立HTTPS连接,并在606处在一个或多个媒体服务器与客户端设备的网络浏览器应用程序之间建立WSS连接。HTTPS连接和WSS连接可以通过本领域普通技术人员已知的标准握手协议来建立。
在607处,通过HTTPS连接将来自所选择的摄像机的直播视频的媒体块传输到对应的一个或多个媒体服务器。在608处,通过WSS连接将直播视频的媒体块从一个或多个媒体服务器转发给客户端设备的网络浏览器应用程序。
图6(b)图示了用于使用已经在播送被请求的所选择的摄像机的媒体块的媒体服务器来连接到也在请求相同的所选择的摄像机的其他客户端设备的流程图。在本文描述的示例实现方式中,通过WSS连接转发媒体块的媒体服务器由此已经具有可用的这样的媒体块,并且可以通过WSS连接将媒体块转发给请求这样的媒体块的其他设备。以这种方式,如果需要,用户可以在不同设备上生成同一个摄像机馈送的多个实例。流程可以通过后端管理服务器、媒体服务器或两者的组合来促进。
在611处,流程从客户端设备接收当前流式传输到一个或多个媒体服务器的对一个或多个摄像机的选择。在612处,该流程如图2中所述的那样处理来自所选择的摄像机和客户端设备的认证令牌。在示例实现方式中,媒体服务器可能已经在缓存中具有来自摄像机的可用令牌,该令牌可用于与从其他客户端设备接收到的任何令牌进行比较。在613处,判断认证是否成功。如果成功(是),则流程进行到614,以在对应于所选择的摄像机的一个或多个媒体服务器与客户端设备的网络浏览器应用程序之间建立WSS连接,并在615处通过WSS连接将直播视频的媒体块从一个或多个媒体服务器的转发给客户端设备的网络浏览器应用程序。
图6(c)图示了用于向媒体服务器提供视频以根据示例实现方式并且如图5所示的那样通过VoD进行稍后请求的示例流程。该流程可以通过后端管理服务器、媒体服务器或两者的组合来促进。首先,在621处,将请求的视频存储在指定的媒体服务器上。在622处,该流程接收从指定的媒体服务器访问视频的请求。在623处,该流程如图5所示的那样在指定的媒体服务器与客户端设备的网络浏览器应用程序之间建立HTTPS连接。在624处,该流程通过HTTPS连接将来自指定的媒体服务器的视频提供给客户端设备的网络浏览器应用程序。
图7图示了具有适合在一些示例实现方式中使用的示例计算机设备的示例计算环境,例如图1和图4所示的后端服务器或媒体服务器。计算环境700中的计算机设备705可以包括一个或多个处理单元、核或处理器710、存储器715(例如,RAM、ROM等)、内部存储装置720(例如,磁存储装置、光存储装置、固态存储装置和/或有机存储装置)和/或IO接口725,它们中的任何一个都可以耦合在用于传送信息的通信机构或总线730上或嵌入在计算机设备705中。IO接口725还被配置为根据所需的实现方式从摄像机接收图像或向投影仪或显示器提供图像。
计算机设备705可以通信地耦合到输入/用户接口735和输出设备/接口740。输入/用户接口735和输出设备/接口740之一或两者可以是有线或无线接口并且可以是可拆卸的。输入/用户接口735可包括可用于提供输入的任何物理的或虚拟的设备、组件、传感器或接口(例如,按钮、触摸屏接口、键盘、指向/光标控件、麦克风、摄像机、盲文、运动传感器、光学阅读器等)。输出设备/接口740可以包括显示器、电视、监视器、打印机、扬声器、盲文等。在一些示例实现方式中,输入/用户接口735和输出设备/接口740可以与计算机设备705嵌入在一起或物理耦合到计算机设备705。在其他示例实现方式中,其他计算机设备可以用作计算机设备705的输入/用户接口735和输出设备/接口740或提供它们的功能。
计算机设备705的例子可以包括但不限于具有高度移动性的设备(例如,智能手机、车辆和其他机器中的设备、人和动物携带的设备等)、移动设备(例如,平板计算机、笔记本计算机、膝上型计算机、个人计算机、便携式电视、收音机等)以及不是针对移动性而设计的设备(例如,台式计算机、其他计算机、信息亭、其中嵌入了和/或与其耦合了一个或多个处理器的电视、收音机等)。
计算机设备705可以通信地耦合(例如,经由IO接口725)到外部存储装置745和网络750,以用于与任何数量的联网组件、设备和系统(包括相同或不同配置的一个或多个计算机设备)通信。计算机设备705或任何连接的计算机设备可以用作服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签,提供服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签的服务或被称为服务器、客户端、瘦服务器、通用机器、专用机器或另一个标签。
IO接口725可以包括但不限于使用任何通信或IO协议或标准(例如,以太网、802.1lx、通用系统总线、WiMax、调制解调器、蜂窝网络协议等)的有线和/或无线接口,以用于向和/或从计算环境700中的至少所有连接的组件、设备和网络传送信息。网络750可以是任何网络或网络的组合(例如,因特网、局域网、广域网、电话网络、蜂窝网络、卫星网络等)。
计算机设备705可以使用计算机可用或计算机可读介质,和/或使用计算机可用或计算机可读介质进行通信,所述介质包括瞬态介质和非瞬态介质。瞬态介质包括传输介质(例如,金属电缆、光纤)、信号、载波等。非瞬态介质包括磁性介质(例如,磁盘和磁带)、光学介质(例如,CD ROM、数字视频磁盘、蓝光光盘)、固态介质(例如,RAM、ROM、闪存、固态存储装置)和其他非易失性存储装置或存储器。
计算机设备705可以用于在一些示例计算环境中实现技术、方法、应用程序、过程或计算机可执行指令。计算机可执行指令可以从瞬态介质中获取,并存储在非瞬态介质上并从非瞬态介质获取。可执行指令可以源自任何编程、脚本和机器语言(例如,C、C++、C#、Java、Visual Basic、Python、Perl、JavaScript等)中的一种或多种。
(一个或多个)处理器710可以在本地或虚拟环境中在任何操作系统(OS)(未被示出)下执行。可以部署一个或多个应用程序,其包括逻辑单元760、应用程序编程接口(API)单元765、输入单元770、输出单元775和用于不同单元彼此通信、与OS通信以及与其他应用程序(未被显示)通信的单元间通信机构795。所描述的单元和元件可以在设计、功能、配置或实现方式方面有所不同,并且不限于所提供的描述。(一个或多个)处理器710可以是诸如中央处理单元(CPU)的硬件处理器的形式或者是硬件和软件单元的组合。
在一些示例实现方式中,当API单元765接收到信息或执行指令时,它可以被传送到一个或多个其他单元(例如,逻辑单元760、输入单元770、输出单元775)。在一些情况下,逻辑单元760可以被配置为控制单元之间的信息流动并指导在上述一些示例实现方式中由API单元765、输入单元770、输出单元775提供的服务。例如,一个或多个过程或实现方式的流程可以由逻辑单元760单独或与API单元765一起来控制。输入单元770可以被配置为获得在示例实现方式中描述的计算的输入,并且输出单元775可以被配置为基于示例实现方式中描述的计算提供输出。
存储器615可以被配置为存储被加载到(一个或多个)处理器710中的用于促进图6(a)至图6(c)的流程图的指令。
如图1和图6(a)所示,(一个或多个)处理器710可以被配置为在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间建立安全超文本传输协议(HTTPS)连接;在媒体服务器与客户端设备的网络浏览器应用程序之间建立网络套接字安全(WSS)连接;在媒体服务器处,通过HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;通过WSS连接将从所选择的一个或多个摄像机接收到的直播视频的媒体块从媒体服务器传输到客户端设备的网络浏览器应用程序。如图1所示,媒体块可以是分段式MP4格式。
如图2和图6(a)和图6(b)所示,(一个或多个)处理器710可以被配置为基于对从客户端设备的网络浏览器和所选择的一个或多个摄像机接收到的认证令牌的验证,对客户端设备的网络浏览器应用程序进行授权以访问来自所选择的一个或多个摄像机的直播视频。
如图3所示,(一个或多个)处理器710可以被配置为:对于由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机的数量超过阈值,执行负载平衡过程,该负载平衡过程包括:在另一个媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机的子集之间建立另一个安全超文本传输协议(HTTPS)连接;在媒体服务器与客户端设备的网络浏览器应用程序之间建立另一个网络套接字安全(WSS)连接;在所述另一个媒体服务器处,通过所述另一个HTTPS连接从所述一个或多个摄像机的子集接收第二直播视频的第二媒体块;以及通过另一个WSS连接将第二直播视频的第二媒体块从所述另一个媒体服务器传输到客户端设备的网络浏览器应用程序,如图3所示。
如图4所示,(一个或多个)处理器710可以被配置为通过网络浏览器应用程序从客户端设备接收对一个或多个摄像机的选择;以及指示边缘设备激活所选择的一个或多个摄像机的直播视频。
如图5和图6(c)所示,(一个或多个)处理器710可以被配置为:在客户端设备的网络浏览器应用程序与媒体服务器之间建立另一个HTTPS连接,以及通过该另一个HTTPS连接将存储在媒体服务器上的视频传输到客户端设备的网络浏览器应用程序。
详细描述的一些部分是根据计算机内的操作的算法和符号表示来呈现的。这些算法描述和符号表示是数据处理领域的技术人员用来向本领域其他技术人员传达其创新的本质的手段。算法是导致所需的最终状态或结果的一系列定义的步骤。在示例实现方式中,所执行的步骤需要对有形量进行物理操作以实现有形结果。
除非另有具体说明,否则从讨论中显而易见的是,应当理解,在整个描述中,使用诸如“处理”、“计算”、“运算”、“判断”、“显示”等术语的讨论可以包括计算机系统或其他信息处理设备的动作和过程,所述计算机系统或其他信息处理设备将表示成计算机系统的寄存器和存储器内的物理(电子)量的数据操纵和转换为类似地表示成计算机系统的存储器或寄存器或其他信息存储、传输或显示设备内的物理量的其他数据。
示例实现方式还可以包括用于执行本文的操作的装置。该装置可以针对所需的目的专门地构造,或者它可以包括由一个或多个计算机程序选择性地激活或重新配置的一台或多台通用计算机。这样的计算机程序可以存储在计算机可读介质中,例如计算机可读存储介质或计算机可读信号介质。计算机可读存储介质可包括有形介质,例如但不限于光盘、磁盘、只读存储器、随机存取存储器、固态设备和驱动器或适合用于存储电子信息的任何其他类型的有形或非瞬态介质。计算机可读信号介质可以包括诸如载波的介质。本文呈现的算法和显示与任何特定的计算机或其他装置没有内在关联。计算机程序可以包括纯软件实现方式,这些实现方式包括执行所需实现方式的操作的指令。
各种通用系统可与根据本文的示例的程序和模块一起使用,或者构造更专用的装置以执行所需的方法步骤可能被证明是方便的。另外,示例实现方式没有参考任何特定的编程语言来描述。应当理解,可以使用多种编程语言来实现本文描述的示例实现方式的教导。(一种或多种)编程语言的指令可以由一个或多个处理设备执行,例如,(一个或多个)中央处理单元(CPU)、处理器或控制器。
如本领域已知的,上述操作可以由硬件、软件或软件和硬件的某种组合来执行。示例实现方式的各个方面可以使用电路和逻辑设备(硬件)来实现,而其他方面可以使用存储在机器可读介质(软件)上的指令来实现,这些指令如果由处理器执行,将导致处理器执行实施本申请的实现方式的方法。此外,本申请的一些示例实现方式可以单独以硬件执行,而其他示例实现方式可以单独以软件执行。此外,所描述的各种功能可以在单个单元中执行,或者可以以任意数量的方式分布在多个组件上。当由软件执行时,这些方法可以由诸如通用计算机的处理器基于存储在计算机可读介质上的指令来执行。如果需要,可以将指令以压缩和/或加密格式存储在介质上。
此外,通过考虑说明书和本申请的教导的实践,本申请的其他实现方式对于本领域技术人员来说将是显而易见的。所描述的示例实现方式的各个方面和/或组件可以单独使用或以任何组合使用。意图说明书和示例实现方式仅被视为示例,本申请的真实范围和精神由所附权利要求指示。

Claims (13)

1.一种方法,包括:
在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间,建立安全超文本传输协议(HTTPS)连接;
在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间,建立网络套接字安全(WSS)连接;
在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及
通过所述WSS连接,将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
2.根据权利要求1所述的方法,其中,所述媒体块是分段式MP4格式。
3.根据权利要求1所述的方法,还包括:基于对从所述客户端设备的所述网络浏览器和从所选择的一个或多个摄像机接收到的认证令牌的验证,对所述客户端设备的所述网络浏览器应用程序进行授权,以访问来自所选择的一个或多个摄像机的所述直播视频。
4.根据权利要求1所述的方法,还包括:对于由所述客户端设备通过所述网络浏览器应用程序选择的所述一个或多个摄像机的数量超过阈值,执行负载平衡过程,所述负载平衡过程包括:
在另一个媒体服务器与由客户端设备通过所述网络浏览器应用程序选择的所述一个或多个摄像机的子集之间,建立另一个安全超文本传输协议(HTTPS)连接;
在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间,建立另一个网络套接字安全(WSS)连接;
在所述另一个媒体服务器处,通过所述另一个HTTPS连接从所述一个或多个摄像机的所述子集接收第二直播视频的第二媒体块;以及
通过所述另一个WSS连接,将所述第二直播视频的所述第二媒体块从所述另一个媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
5.根据权利要求1所述的方法,还包括:
通过所述网络浏览器应用程序,从所述客户端设备接收对所述一个或多个摄像机的选择;以及
指示边缘设备激活所选择的一个或多个摄像机的所述直播视频。
6.根据权利要求1所述的方法,还包括:
在所述客户端设备的所述网络浏览器应用程序与所述媒体服务器之间,建立另一个HTTPS连接;以及
通过所述另一个HTTPS连接,将存储在所述媒体服务器上的视频传输到所述客户端设备的所述网络浏览器应用程序。
7.一种非瞬态计算机可读介质,其存储用于执行过程的指令,所述指令包括:
在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间,建立安全超文本传输协议(HTTPS)连接;
在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间,建立网络套接字安全(WSS)连接;
在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及
通过所述WSS连接,将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
8.根据权利要求7所述的非瞬态计算机可读介质,其中,所述媒体块是分段式MP4格式。
9.根据权利要求7所述的非瞬态计算机可读介质,所述指令还包括:基于对从所述客户端设备的所述网络浏览器和从所选择的一个或多个摄像机接收到的认证令牌的验证,对所述客户端设备的所述网络浏览器应用程序进行授权,以访问来自所选择的一个或多个摄像机的所述直播视频。
10.根据权利要求7所述的非瞬态计算机可读介质,所述指令还包括:对于由所述客户端设备通过所述网络浏览器应用程序选择的所述一个或多个摄像机的数量超过阈值,执行负载平衡过程,所述负载平衡过程包括:
在另一个媒体服务器与由客户端设备通过所述网络浏览器应用程序选择的所述一个或多个摄像机的子集之间,建立另一个安全超文本传输协议(HTTPS)连接;
在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间,建立另一个网络套接字安全(WSS)连接;
在所述另一个媒体服务器处,通过所述另一个HTTPS连接从所述一个或多个摄像机的所述子集接收第二直播视频的第二媒体块;以及
通过所述另一个WSS连接,将所述第二直播视频的所述第二媒体块从所述另一个媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
11.根据权利要求7所述的非瞬态计算机可读介质,还包括:
通过所述网络浏览器应用程序,从所述客户端设备接收对所述一个或多个摄像机的选择;以及
指示边缘设备激活所选择的一个或多个摄像机的所述直播视频。
12.根据权利要求7所述的非瞬态计算机可读介质,还包括:
在所述客户端设备的所述网络浏览器应用程序与所述媒体服务器之间,建立另一个HTTPS连接;以及
通过所述另一个HTTPS连接,将存储在所述媒体服务器上的视频传输到所述客户端设备的所述网络浏览器应用程序。
13.一种装置,包括:
处理器,该处理器被配置为:
在媒体服务器与由客户端设备通过网络浏览器应用程序选择的一个或多个摄像机之间,建立安全超文本传输协议(HTTPS)连接;
在所述媒体服务器与所述客户端设备的所述网络浏览器应用程序之间,建立网络套接字安全(WSS)连接;
在所述媒体服务器处,通过所述HTTPS连接从所选择的一个或多个摄像机接收直播视频的媒体块;以及
通过所述WSS连接,将从所选择的一个或多个摄像机接收到的所述直播视频的媒体块从所述媒体服务器传输到所述客户端设备的所述网络浏览器应用程序。
CN202080103816.0A 2020-09-08 2020-09-08 利用分段式mp4的基于http的媒体流式传输服务 Pending CN116018794A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/049716 WO2022055476A1 (en) 2020-09-08 2020-09-08 Http based media streaming service leveraging on fragmented mp4

Publications (1)

Publication Number Publication Date
CN116018794A true CN116018794A (zh) 2023-04-25

Family

ID=80629735

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080103816.0A Pending CN116018794A (zh) 2020-09-08 2020-09-08 利用分段式mp4的基于http的媒体流式传输服务

Country Status (5)

Country Link
US (1) US20230283859A1 (zh)
EP (1) EP4211833A4 (zh)
JP (1) JP2023536123A (zh)
CN (1) CN116018794A (zh)
WO (1) WO2022055476A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150054947A1 (en) * 2005-03-16 2015-02-26 Paul J. Dawes Device for data routing in networks
US10142381B2 (en) * 2014-07-22 2018-11-27 Intellivision Technologies Corp. System and method for scalable cloud services
US10972519B2 (en) * 2015-09-24 2021-04-06 Flir Commercial Systems, Inc. Real-time video streaming to client video element
US20200029086A1 (en) * 2019-09-26 2020-01-23 Intel Corporation Distributed and parallel video stream encoding and transcoding

Also Published As

Publication number Publication date
WO2022055476A1 (en) 2022-03-17
US20230283859A1 (en) 2023-09-07
EP4211833A1 (en) 2023-07-19
EP4211833A4 (en) 2024-03-13
JP2023536123A (ja) 2023-08-23

Similar Documents

Publication Publication Date Title
US11979636B2 (en) Systems and methods for transmission of data streams
US10616301B2 (en) Request-based encoding for streaming content portions
US8543660B2 (en) Systems and methods for bridging and managing media content associated with separate media content networks
Kesavan et al. An investigation on adaptive HTTP media streaming Quality-of-Experience (QoE) and agility using cloud media services
US8850054B2 (en) Hypertext transfer protocol live streaming
RU2647654C2 (ru) Система и способ доставки аудиовизуального контента в клиентское устройство
US20160360282A1 (en) System and method of content streaming and downloading
US20180218073A1 (en) System and method for secure transmission of signals from a camera
US11310550B2 (en) System and method for storing multimedia files using an archive file format
Li et al. A survey on cloud-based video streaming services
US20170237794A1 (en) Technologies for distributed fault-tolerant transcoding with synchronized streams
WO2013000680A1 (en) Streaming video to cellular phones
US20220060530A1 (en) Managing encoder updates
JP6550405B2 (ja) クライアント端末と少なくとも1つのサーバとの間の伝送経路に沿って配置されたネットワーク装置を動作させる方法およびそれに対応するネットワーク装置
CN108737355B (zh) 基于用户带宽的流媒体播放
Li et al. Cloud-based video streaming services: A survey
RU2658860C2 (ru) Устройство прокси-сервера, способ обработки информации, программа, оконечное устройство и система предоставления контента
CN116018794A (zh) 利用分段式mp4的基于http的媒体流式传输服务
US20190200070A1 (en) Streaming methods and systems using tuner buffers
US11457279B1 (en) Live previewing of streaming video in the cloud
WO2022077428A1 (en) Dynamically controlling media content orientation

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