CN109981607B - 媒体流处理方法及装置、电子设备和存储介质 - Google Patents
媒体流处理方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN109981607B CN109981607B CN201910172222.4A CN201910172222A CN109981607B CN 109981607 B CN109981607 B CN 109981607B CN 201910172222 A CN201910172222 A CN 201910172222A CN 109981607 B CN109981607 B CN 109981607B
- Authority
- CN
- China
- Prior art keywords
- media stream
- data
- media
- format
- protocol
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本公开涉及一种媒体流处理方法及装置、电子设备和存储介质,其中,所述方法包括:接收终端侧发送的具有第一媒体格式的媒体流播放请求消息;从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式;将所述媒体流数据转换为所述第一媒体格式;将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。采用本公开实施例,可满足监控所需的播放实时性(或称时效性)需求。
Description
技术领域
本公开涉及监控技术领域,尤其涉及一种媒体流处理方法及装置、电子设备和存储介质。
背景技术
相关技术中,在安防或视频采集的应用场景中,如果为了尽快锁定目标用户、或者对目标用户的运动轨迹了然于胸,一个需求是:希望实时查看采集设备所采集的媒体流。目前,采集设备所采用的摄像头均是采用即时串流协定(RTSP,Real Time StreamingProtocol)协议进行媒体流(如视频流)的播放及控制,而浏览器内核不支持对RTSP协议的解析,需要在终端侧加入对媒体流协议格式的转换技术、或者在浏览器中植入第三方插件来实现媒体流协议格式的转换。无论采用何种方式,都会影响监控所需的播放实时性(或称时效性)需求。第三方插件对监控的安全性也存在隐患。
发明内容
本公开提出了一种媒体流处理技术方案。
根据本公开的一方面,提供了一种媒体流处理方法,所述方法应用于服务器侧,所述方法包括:
接收终端侧发送的具有第一媒体格式的媒体流播放请求消息;
从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;
接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式;
将所述媒体流数据转换为所述第一媒体格式;
将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。
在可能的实现方式中,所述接收终端侧发送的具有第一媒体格式的媒体流播放请求消息,包括:
与所述终端侧建立第一通信通道;
根据所述第一通信通道接收第一媒体格式的媒体流播放请求消息。
在可能的实现方式中,所述根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,包括:
与所述摄像机或平台建立第二通信通道;
根据所述第二通信通道以所述第一媒体格式发送所述媒体流播放请求消息。
在可能的实现方式中,所述方法还包括:将所述媒体流数据转换为所述第一媒体格式之前,
将所述媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果;
在所述比对结果为所述媒体流数据为非第一媒体格式的情况下,触发将所述媒体流数据转换为所述第一媒体格式的操作。
在可能的实现方式中,所述将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧,包括:
根据所述第一通信通道,接收第一媒体格式的媒体流数据。
在可能的实现方式中,所述方法还包括:将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧,包括:
获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成;
根据所述多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息;
将所述多个数据信息封装到媒体流播放响应消息中,通过所述媒体流播放响应消息发送第一媒体格式的媒体流数据给所述终端侧。
在可能的实现方式中,所述方法还包括:将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧之后,
接收所述终端侧发送的播放更新请求消息;
所述播放更新请求消息,由所述终端侧检测出所述播放地址信息和/或所述媒体流数据在终端侧播放异常时发送。
在可能的实现方式中,所述第一媒体格式为即时串流协定RTSP格式。
根据本公开的一方面,提供了一种媒体流处理装置,所述装置应用于服务器侧,所述装置包括:
第一接收单元,用于接收终端侧发送的具有第一媒体格式的媒体流播放请求消息;
解析单元,用于从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;
第二接收单元,用于接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式;
格式转换单元,用于将所述媒体流数据转换为所述第一媒体格式;
发送单元,用于将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。
在可能的实现方式中,所述装置还包括:
第一通道建立单元,用于与所述终端侧建立第一通信通道;
第三接收单元,进一步用于根据所述第一通信通道接收第一媒体格式的媒体流播放请求消息。
在可能的实现方式中,所述发送单元,进一步用于:
与所述摄像机或平台建立第二通信通道;
根据所述第二通信通道以所述第一媒体格式发送所述媒体流播放请求消息。
在可能的实现方式中,所述装置还包括:比对单元,用于:
将所述媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果;
在所述比对结果为所述媒体流数据为非第一媒体格式的情况下,触发将所述媒体流数据转换为所述第一媒体格式的操作。
在可能的实现方式中,所述发送单元,进一步用于:
根据所述第一通信通道,接收第一媒体格式的媒体流数据。
在可能的实现方式中,所述发送单元还包括:解码子单元,用于:
获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成;
根据所述多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息;
将所述多个数据信息封装到媒体流播放响应消息中,通过所述媒体流播放响应消息发送第一媒体格式的媒体流数据给所述终端侧。
在可能的实现方式中,所述装置还包括:第四接收单元,用于:
接收播放更新请求消息;
所述播放更新请求消息,由所述终端侧检测出所述播放地址信息和/或所述媒体流数据在终端侧播放异常时发送。
在可能的实现方式中,所述第一媒体格式为即时串流协定RTSP格式。
根据本公开的一方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行上述媒体流处理方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述媒体流处理方法。
在本公开实施例中,接收终端侧发送的具有第一媒体格式的媒体流播放请求消息;从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式;将所述媒体流数据转换为所述第一媒体格式;将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。采用本公开实施例,在服务器侧发现终端侧所请求的媒体流数据与指定媒体格式(如第一媒体格式)不符,将媒体流数据从非指定媒体格式(如第二媒体格式)转换为指定媒体格式(如第一媒体格式)后,发送转换后得到的第一媒体格式的媒体流数据给终端侧,最终终端侧可以根据所请求的媒体流数据予以播放,满足了监控所需的播放实时性(或称时效性)需求。由于无需改变终端的设置,也无需在终端浏览器植入第三方插件,因此,也有利于监控的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的媒体流处理方法的流程图。
图2示出根据本公开实施例的包含媒体协议转换服务器的系统架构图。
图3示出根据本公开实施例的媒体流处理方法的流程图。
图4示出根据本公开实施例的媒体流处理装置的框图。
图5示出根据本公开实施例的电子设备的框图。
图6示出根据本公开实施例的电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
采用安防摄像头或抓拍机等采集设备所采集到的视频流,可以在终端侧的浏览器上直接播放,可以不依赖第三方插件。然而,绝大部分采集设备所采用的摄像头均是采用RTSP协议进行媒体流(如视频流)的播放及控制,可浏览器内核不支持对RTSP协议的解析,如果想要实现解析,可以采用浏览器第三方插件来实现,或者对浏览器加入对RTSP协议进行解析的协议转换模块。
无论采用浏览器第三方插件的方式,或者转换媒体流(如RTSP协议的视频流)到网页实时通信(WebRTC,Web Real-Time Communication)、实时消息传输协议(RTMP,RealTime Messaging Protocol)流等,都存在问题。比如,RTSP视频流转换对播放的实时性(或称时效性)有影响,具体的,转视频格式再予以播放对实时性的影响体现于公安办案中,与用户需要实时查看到摄像头画面相背,时效性会影响监控效果,只有实时的摄像头画面才可以保证用户第一时间掌握消息。且对服务器端的压力也较大,又如,采用插件形式对用户使用不方便,增加了维护成本,同时插件对浏览器类型和版本有要求,对兼容性也是个很大挑战。具体的,公安内部环境对第三方插件比较敏感,觉得安装插件进行播放较为麻烦及涉及安全性。而且插件形式对浏览器有一定限制,即插件的兼容性并不好,并非所有浏览器都可使用某插件,用户可能需要安装特定浏览器才可以支持某插件的适用,对用户来说较为不便。又如,安防协议有很多,不可能事先预先设置好所有的安防协议来支持媒体流接入。
综上所述,为了确保监控效果,需要满足播放的实时性(或称时效性)需求,需要媒体流实时的直流播放方案。如果在终端侧实现浏览器第三方插件或者源数据的转换处理,这对于安防系统的安全和兼容性都不好。本公开实施例提供的直流播放技术,既不依赖第三方插件,也不对源数据进行转换处理,在服务器侧进行处理,比如通过媒体协议转换服务器将非RTSP协议媒体流转换为标准的RTSP协议媒体流,同时提供接口便于终端侧开发人员进行视频播放的定制,例如进行画面叠框,展示视频结构化信息,实时标记视频内物体等,然后将构造的这些可播放数据,投入到原生浏览器进行视频播放。
图1示出根据本公开实施例的媒体流处理方法的流程图,该媒体流处理方法应用于媒体流处理装置,例如,媒体流处理装置可以由服务器或其它处理设备执行,服务器的架构可以是单一的服务器,也可以是服务器集群。服务器的类型可以是流媒体服务器或其他类型。其中,在一些可能的实现方式中,该媒体流处理可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,该流程包括:
步骤S101、服务器接收终端侧发送的具有第一媒体格式的媒体流播放请求消息。
步骤S102、服务器从媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据。
步骤S103、服务器接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式。
步骤S104、服务器将所述媒体流数据转换为所述第一媒体格式。
步骤S105、服务器将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。
本公开中,通过步骤S101-步骤S102,服务器侧(如媒体协议转换服务器)可以接收终端侧发送的具有指定媒体格式的媒体流播放请求消息,该指定媒体格式可以为第一媒体格式(如RTSP协议格式)。在媒体流播放请求消息中携带播放地址信息,该播放地址信息指向所请求媒体流数据所在的数据源的位置,如该媒体流数据在哪台摄像机或平台上。通过从媒体流播放请求消息中解析出该播放地址信息,根据该播放地址信息向对应的摄像机或平台发送该媒体流播放请求消息,请求指定的该媒体流数据。通过步骤S103-步骤S105,服务器侧(如媒体协议转换服务器)可以从摄像机或平台发送的媒体流播放响应消息中得到所请求的媒体流数据,相应的,有两种处理模式:其一、在服务器从摄像机或平台得到的该媒体流数据与终端侧指定媒体格式相符的情况下,无需格式转换,服务器直接将该媒体流数据发送给终端侧。其二、在服务器从摄像机或平台得到的该媒体流数据与终端侧指定媒体格式不相符的情况下,需进行格式转换,比如,该媒体流数据为第二媒体格式(如非RTSP协议格式),服务器将该媒体流数据转换为第一媒体格式(如RTSP协议格式)后得到第一媒体格式的媒体流数据,服务器将第一媒体格式的媒体流数据发送给终端侧。
采用本公开,从终端的角度来看,由该媒体流数据构成的媒体流是发出媒体流播放请求消息后,就得到实时直播的媒体流,从而不错过监控画面中所锁定的用户,以便尽快采取对用户的下一步操作,从而提高了监控效果。
包含该媒体协议转换服务器的一个系统架构如图2所示,图2中,包括终端侧的浏览器11、服务器侧的媒体协议转换服务器12、及摄像头(或媒体平台)13。采用如图2所示的系统架构,在终端侧与服务器侧间建立连接,浏览器11发送包含播放地址信息的媒体流播放请求消息,指定所请求的媒体格式可以为第一媒体格式(如RTSP协议格式)。媒体协议转换服务器12接收到该媒体流播放请求消息,将播放地址信息解析出来,根据播放地址信息将媒体流播放请求消息发送给摄像头(或媒体平台)13。媒体协议转换服务器12发送终端侧所需的视频数据(该视频数据可以在浏览器上直接播放),推送该视频数据到媒体协议转换服务器12,该视频数据为指定的媒体格式,视频数据可以为第一媒体格式(如RTSP协议格式)。其中,如果媒体协议转换服务器12从摄像头(或媒体平台)13得到的视频数据与指定的媒体格式不符,需要对视频数据进行协议转换。经媒体协议转换服务器12的协议转换后,将转换后得到的视频数据发送给浏览器11,在浏览器11上播放该视频数据。此时该视频数据为指定的媒体格式,即视频数据可以为第一媒体格式(如RTSP协议格式)。
服务器侧除了媒体协议转换服务器,还可以包括基于浏览器的长链接代理服务器(WebsocketPorxy)服务器(图2中未显示)。具体的,建立服务器长连接,终端侧的浏览器发送用户在界面提供的摄像头播放地址(或媒体平台的数据源地址)到WebsocketPorxy服务器。WebsocketPorxy服务器将上述地址携带在媒体流播放请求消息中,发送该媒体流播放请求消息给媒体协议转换服务器。在媒体协议转换服务器根据上述地址从对应的摄像机或平台得到所请求的媒体流数据后,如果媒体流数据与终端侧指定的媒体格式不符则需要进行协议转换。进行协议转换后,将转换后得到的媒体流数据(如视频数据)经由WebsocketPorxy服务器推送到终端侧的浏览器,在浏览器上播放该媒体流数据(如视频数据)。在浏览器上还可以对媒体流数据(如视频数据)进一步处理,如为了达到更好的监控效果,可以获取用户经过该摄像头监控画面的轨迹及其衣服样式和颜色等可用于识别该用户的特征,将用户轨迹和/或这些特征叠加到该媒体流数据(如视频数据)上,以构造可播放的新数据,然后将该可播放的新数据投入到原生浏览器的视频播放组件中予以播放。如此一来,在安防行业的监控画面中,用户可以一边实时查看摄像头画面,还可以一边查看采用本公开实施例得到的抓拍情况,如果嫌疑犯出现在画面中,用户可以在第一时间安排下一步行动。
也就是说,在终端侧播放该媒体数据(如原始视频流)时,不仅可以将播放画面的信息进行同步展示,还可以在该原始视频流的补充增强数据(SEI)扩展位中插入新的视频数据(用户轨迹和/或用于识别该用户的特征)。该新的视频数据是在终端侧定时获取的,将定时获取的SEI数据实时渲染在播放原始视频流的监控画面中,从而达到更好的监控效果,提高安防能力。其中,可以在RTMP推送的流中添加一个接口,通过该接口可以添加自定义的数据(如新的视频数据,可以采用一段字节数组构成)。具体的,是在H264的流中通过SEI添加该自定义数据。SEI数据是解码非必须的数据,作为加强信息存在时可以增强解码,提高解码器的容错能力。
图3示出根据本公开实施例的媒体流处理方法的流程图,该媒体流处理方法应用于媒体流处理装置,例如,媒体流处理装置可以由服务器或其它处理设备执行,服务器的架构可以是单一的服务器,也可以是服务器集群。服务器的类型可以是流媒体服务器或其他类型。其中,在一些可能的实现方式中,该媒体流处理可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图3所示,该流程包括:
步骤S201、服务器与终端侧建立第一通信通道,根据第一通信通道接收终端侧发送的具有第一媒体格式的媒体流播放请求消息。
步骤S202、服务器从媒体流播放请求消息中解析出播放地址信息。
步骤S203、服务器与摄像机或平台建立第二通信通道,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据。
步骤S204、服务器根据第二通信通道接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式,服务器将所述媒体流数据转换为所述第一媒体格式。
步骤S205、终端侧根据第一通信通道接收转换后得到的第一媒体格式的媒体流数据,以根据该媒体流数据是否播放异常来决定是否发起播放更新请求消息。
一个示例中,服务器侧(如媒体协议转换服务器)可以接收终端侧发送的具有指定媒体格式的媒体流播放请求消息,该指定媒体格式可以为第一媒体格式(如RTSP协议格式)。在媒体流播放请求消息中携带播放地址信息,该播放地址信息指向所请求媒体流数据所在的数据源的位置,如该媒体流数据在哪台摄像机或平台上。通过从媒体流播放请求消息中解析出该播放地址信息,根据该播放地址信息向对应的摄像机或平台发送该媒体流播放请求消息,请求指定的该媒体流数据。服务器侧(如媒体协议转换服务器)可以从摄像机或平台发送的媒体流播放响应消息中得到所请求的媒体流数据。如果在服务器从摄像机或平台得到的该媒体流数据与终端侧指定媒体格式相符的情况下,则无需格式转换,服务器直接将该媒体流数据发送给终端侧。如果在服务器从摄像机或平台得到的该媒体流数据与终端侧指定媒体格式不相符的情况下,则需进行格式转换,比如,该媒体流数据为第二媒体格式(如非RTSP协议格式),服务器将该媒体流数据转换为第一媒体格式(如RTSP协议格式)后得到第一媒体格式的媒体流数据,服务器将第一媒体格式的媒体流数据发送给终端侧。
与上述实施例不同之处在于:终端侧可以根据在终端侧与服务器间所建立的第一通信通道,接收转换后得到的第一媒体格式的媒体流数据,以根据该媒体流数据是否播放异常来决定是否发起播放更新请求消息。该媒体流数据可以通过媒体流播放响应消息反馈给终端侧,以根据该媒体流播放响应消息发起播放更新请求消息。
在上述媒体流处理过程中,可以建立两个通信通道。
一、第一通信通道:是终端侧与服务器侧(包含该媒体协议转换服务器和WebsocketPorxy)之间。其中,服务器侧的媒体协议转换服务器,可以用于对媒体流数据的格式进行转换,服务器侧的WebsocketPorxy,用于对媒体流数据根据进行解析(如解码)。一处理过程包括:获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成。根据多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息,将多个数据信息封装到媒体流播放响应消息中,将转换后得到的第一媒体格式的媒体流数据通过媒体流播放响应消息发送给终端侧。
二、第二通信通道:是服务器侧(包含该媒体协议转换服务器和WebsocketPorxy)与摄像头(或媒体平台)之间。
建立第一通道,是为了让终端侧始终获知媒体协议转换服务器与摄像头(或媒体平台)间的数据传输情况,如果遇到数据传输不符合需求时,比如,播放地址错误或者媒体流播放异常等,终端侧可以发起重传或纠错请求等,以便及时更新监控画面的内容。如服务器与终端侧建立第一通信通道后,根据第一通信通道接收第一媒体格式的播放响应消息,该播放响应消息是媒体协议转换服务器获得媒体数据后同步至终端侧的,终端侧以根据该播放响应消息发起播放更新请求消息,播放更新请求消息不限于本示例中所指出的重传或纠错请求等。
本公开实施例一可能实现方式中,所述方法还包括:将媒体流数据转换为所述第一媒体格式之前,将媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果。在比对结果为所述媒体流数据为非第一媒体格式的情况下,触发将媒体流数据转换为第一媒体格式的操作。
本公开实施例一可能实现方式中,所述方法还包括:将媒体流数据由第二媒体格式转换为第一媒体格式后以流媒体播放响应消息予以发送并发送给Websocket Proxy服务器。还可以将该流媒体播放响应消息同步至终端侧。比如,将非RTSP协议的媒体流数据经媒体协议转换服务器转换为RTSP协议后,除了将含RTSP协议的媒体流数据以该流媒体播放响应消息发送给Websocket Proxy服务器,之后由Websocket Proxy服务器发送给终端侧进行播放,还需要将该含RTSP协议的媒体流数据以该流媒体播放响应消息同步至终端侧。
由于可以将该含RTSP协议的媒体流数据以该流媒体播放响应消息同步至终端侧,从而终端侧能始终获知媒体协议转换服务器与摄像头(或媒体平台)间的数据传输情况,如果遇到数据传输不符合需求时,比如,播放地址错误或者媒体流播放异常等,终端侧可以发起重传或纠错请求等,以便及时更新监控画面的内容。从而不错过监控画面中所锁定的用户,以便尽快采取对用户的下一步操作,从而提高了监控效果。
本公开实施例一可能实现方式中,所述方法还包括:所述将含第一媒体格式的媒体流数据以流媒体播放响应消息同步至所述终端侧之后,接收播放更新请求消息。播放更新请求消息由终端侧检测出播放地址信息和/或媒体流数据在终端侧播放异常时发送。
应用示例:
终端侧的浏览器与Websocket Proxy服务器建立长连接,使用无线应用协议(WSP,Wireless Application Protocol)协议彼此通信,浏览器发送摄像头的播放地址给Websocket Proxy服务器。Websocket Proxy服务器根据浏览器提供的该摄像头的播放地址,在服务器侧建立新的连接,如,在Websocket Proxy服务器与媒体协议转换服务器间建立连接,并基于RTSP访问媒体协议转换服务器。将从媒体协议转换服务器接收到的请求响应报文同步给浏览器。媒体协议转换服务器接收到Websocket Proxy服务器发送的视频请求(视频请求中携带该摄像头的播放地址)后,从视频请求中解析出摄像头的播放地址,该摄像头的播放地址为视频源地址。一种方式:根据该地址信息向对应的摄像机或平台发送请求报文,请求指定的媒体流数据。媒体协议转换服务器接收摄像机或平台发送的携带视频数据的请求响应报文,若视频数据为非RTSP格式,将视频数据转换为RTSP格式,将转换后得到的RTSP格式的视频数据发送给终端侧。另一种方式:根据服务器内的视频源和接入协议映射表查找出指定的接入协议(如RTSP协议),根据指定的接入协议向摄像头或媒体平台请求该视频源地址对应的视频数据。该接入协议如果是RTSP协议,则以RTSP协议方式请求该视频数据,如果是国标28181协议,则以国标28181协议方式请求该视频数据。摄像头或媒体平台对媒体协议转换服务器的请求进行验证,通过约定的协议(即上述指定的接入协议)发送该视频数据到媒体协议转换服务器。媒体协议转换服务器解析出该视频数据后将该视频数据打包成RTSP协议要求的媒体格式(RTSP数据包),将视频数据以RTSP协议转发给Websocket Proxy服务器,即将RTSP数据包转发给Websocket Proxy服务器。WebsocketProxy服务器对该RTSP数据包进行解析,获取到视频源实时传输协议(RTP,Real-timeTransport Protocol)包。在RTP包中含视频源的所有数据,包括播放内容和视频属性,将RTP包通过WSP协议推送到浏览器。浏览器接收到WSP包后,分离出RTP包,进行一系列的处理。
终端的浏览器所执行的处理,除了解析、解码等,还包括根据用户定制化的需求所执行的处理。1)解析、解码等处理包括:RTP包数据解析、获取时间戳、数据类型等数据,数据类型包括音频和视频两种,需要加以区分。对视频数据进行解码,获取到视频信息,视频单元类型。视频单元包括关键帧(IDR)帧、非关键帧(NDR)、序列参数集(SPS)帧、图像参数集(PPS)帧和分片单元包(FU_A)等。对于不同的视频单元进行不同处理,例如IDR是关键帧,直接获取数据,补充完整构造一个完整的视频单元。FU_A是视频单元分片包,需要对多个视频单元分片包进行组合,构造完整视频单元等。2)根据用户定制化的需求所执行的处理包括:定时获取视频单元数据,构造可播放的MP4片段(Fragment),通过调用浏览器应用程序编程接口(API),推送该MP4Fragment到浏览器视频播放组件的媒体源扩展(MSE,Media SourceExtensions)缓存(Buffer)中,通过浏览器MSE,利用MSE进行解码播放。
本应用示例的直流播放技术,既不依赖终端侧的第三方插件,也不对终端侧的源数据进行转换处理,而是通过媒体协议转换服务器进行协议转换后将处理结果(视频流)给终端侧直接播放。同时提供接口便于开发人员进行视频播放的定制化处理,例如进行画面叠框,展示视频结构化信息,实时标记视频内物体等。可以支持H264标准,其余格式比如H265暂时不支持,一方面是因为绝大部分摄像头都是采用H264编码,另一方面受限于浏览器端MSE暂无法提供H265的支持,以及考虑到实际硬件性能,还没有较好的方案解决,因此,可以采用WebAssembly构建的FFMpeg库来提供终端侧的解码支持。其中,WebAssembly是一种新的编码方式,可以在现代的网络浏览器中运行。它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如C/C++等语言提供一个编译目标,以便它们可以在Web上运行。它也被设计为可以与JavaScript共存,允许两者一起工作。对于该解码支持而言,由于webAssembly是一种类汇编语言,因此,可以用c片段引入FFmpeg,就等于在浏览器搭了一个解码器,让浏览器可以直接对h265进行解析是一种类汇编语言,可以用c片段引入FFmpeg,就等于在浏览器搭了一个解码器,让浏览器可以直接对h265进行解析。
本应用示例不需要事先预先设置好所有的安防协议来支持媒体流接入,可通过媒体协议转换服务器进行协议转换。支持多种安防协议媒体流接入,包括基于RTSP协议和基于国标28181协议的媒体流等。比如,本应用示例通过媒体协议转换服务器可以将非RTSP协议媒体流转换为标准的RTSP协议媒体流,然后发送给Websocket服务器。解决了安防行业中各种各样的媒体协议接入视频不方便浏览的问题。
由于安防行业中的人脸识别系统需要提供摄像头播放,方便用户查看所部署的摄像头情况。如果不提供播放,用户需要自行查看监控系统,这样一来需要使用两套系统才能完成用户需求,较为不便,而采用本应用示例不需要额外安装插件,也不需要部署流媒体服务器,可以直接在网页上开发,从而灵活实现各种额外需求,便于用户在安放产品页面同时观察监控情况。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。
此外,本公开还提供了媒体流处理装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种媒体流处理方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图4示出根据本公开实施例的媒体流处理装置的框图,如图4所示,本公开实施例的媒体流处理装置可以应用于服务器侧,包括:第一接收单元21,用于接收终端侧发送的具有第一媒体格式的媒体流播放请求消息。解析单元22,用于从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据。第二接收单元23,用于接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第二媒体格式。格式转换单元24,用于将所述媒体流数据转换为所述第一媒体格式。发送单元25,用于将转换后得到的具有第一媒体格式的媒体流数据发送给所述终端侧。其中,所述第一媒体格式可以为RTSP格式,相应的,第二媒体格式可以为非RTSP格式。
本公开一可能实现方式中,所述装置还包括:第一通道建立单元,用于与所述终端侧建立第一通信通道;及第三接收单元,进一步用于根据所述第一通信通道接收第一媒体格式的媒体流播放请求消息。
本公开一可能实现方式中,所述发送单元,进一步用于:与所述摄像机或平台建立第二通信通道,根据所述第二通信通道以所述第一媒体格式发送所述媒体流播放请求消息。
本公开一可能实现方式中,所述装置还包括:比对单元,用于:将所述媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果,在所述比对结果为所述媒体流数据为非第一媒体格式的情况下,触发将所述媒体流数据转换为所述第一媒体格式的操作。
本公开一可能实现方式中,所述发送单元,进一步用于:根据所述第一通信通道,接收第一媒体格式的媒体流数据。
本公开一可能实现方式中,所述发送单元还包括:解码子单元,用于:获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成。根据所述多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息,将所述多个数据信息封装到媒体流播放响应消息中,通过所述媒体流播放响应消息发送第一媒体格式的媒体流数据给所述终端侧。
本公开一可能实现方式中,所述装置还包括:第四接收单元,用于:接收播放更新请求消息,所述播放更新请求消息,由所述终端侧检测出所述播放地址信息和/或所述媒体流数据在终端侧播放异常时发送。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5是根据一示例性实施例示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等终端。
参照图5,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
图6是根据一示例性实施例示出的一种电子设备900的框图。例如,电子设备900可以被提供为一服务器。参照图6,电子设备900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述方法。
电子设备900还可以包括一个电源组件926被配置为执行电子设备900的电源管理,一个有线或无线网络接口950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口958。电子设备900可以操作基于存储在存储器932的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器932,上述计算机程序指令可由电子设备900的处理组件922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种媒体流处理方法,其特征在于,所述方法应用于服务器侧,所述方法包括:
接收终端侧的浏览器发送的媒体流播放请求消息;
从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;
接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第一协议格式;
解析所述第一协议格式的媒体流数据,获取所述第一协议格式的媒体流数据包含的第二协议格式的数据包;
将所述第二协议格式的数据包通过第三协议格式推送至所述终端,所述第三协议格式为WSP;
其中,所述第一协议格式为RTSP协议,所述第二协议格式为RTP协议。
2.根据权利要求1所述方法,其特征在于,所述服务器侧包括媒体协议转换服务器和长链接代理服务器,所述方法还包括:
在所述媒体流数据为非第一协议格式的情况下,通过媒体协议转换服务器将非第一协议格式的媒体流数据转换为第一协议格式的媒体流数据;
通过所述长链接代理服务器将从所述媒体协议转换服务器接收到的请求响应报文同步给浏览器。
3.根据权利要求1所述的方法,其特征在于,所述接收终端侧的浏览器发送的具有第一协议格式的媒体流播放请求消息,包括:
与所述终端侧建立第一通信通道;
根据所述第一通信通道接收所述媒体流播放请求消息。
4.根据权利要求1或2所述的方法,其特征在于,所述根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,包括:
与所述摄像机或平台建立第二通信通道;
根据所述第二通信通道以所述第一协议格式发送所述媒体流播放请求消息。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:通过媒体协议转换服务器将非第一协议的媒体流转换为第一协议的媒体流之前,
将所述媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果;
在所述比对结果为所述媒体流数据为非第一协议格式的情况下,触发将所述媒体流数据转换为所述第一协议格式的操作。
6.根据权利要求3所述的方法,其特征在于,所述将所述第二协议格式的数据包通过第三协议格式推送至所述终端,包括:
根据所述第一通信通道,接收第二协议格式的媒体流数据。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述将所述第二协议格式的数据包通过第三协议格式推送至所述终端,包括:
获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成;
根据所述多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息;
将所述多个数据信息封装到媒体流播放响应消息中,通过所述媒体流播放响应消息发送第二协议格式的媒体流数据给所述终端侧。
8.根据权利要求1至3、6中任一项所述的方法,其特征在于,所述方法还包括:将所述第二协议格式的数据包通过第三协议格式推送至所述终端之后,
接收所述终端侧的浏览器发送的播放更新请求消息;
所述播放更新请求消息,由所述终端侧检测出所述播放地址信息和/或所述媒体流数据在终端侧播放异常时发送。
9.一种媒体流处理装置,其特征在于,所述装置应用于服务器侧,所述装置包括:
第一接收单元,用于接收终端侧的浏览器发送的媒体流播放请求消息;
解析单元,用于从所述媒体流播放请求消息中解析出播放地址信息,根据所述播放地址信息向对应的摄像机或平台发送所述媒体流播放请求消息,请求指定的媒体流数据;
第二接收单元,用于接收所述摄像机或平台发送的媒体流播放响应消息,所述媒体流播放响应消息中携带所述媒体流数据,所述媒体流数据为第一协议格式;
解析单元,用于解析所述第一协议格式的媒体流数据,获取所述第一协议格式的媒体流数据包含的第二协议格式的数据包;其中,所述第一协议格式为RTSP协议,所述第二协议格式为RTP协议;
发送单元,用于将所述第二协议格式的数据包通过第三协议格式推送至所述终端,所述第三协议格式为WSP。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一通道建立单元,用于与所述终端侧建立第一通信通道;
第三接收单元,进一步用于根据所述第一通信通道接收第一协议格式的媒体流播放请求消息。
11.根据权利要求9或10所述的装置,其特征在于,所述发送单元,进一步用于:
与所述摄像机或平台建立第二通信通道;
根据所述第二通信通道以所述第一协议格式发送所述媒体流播放请求消息。
12.根据权利要求9或10所述的装置,其特征在于,所述装置还包括:比对单元,用于:
将所述媒体流数据当前的媒体格式与指定的媒体格式进行比对,得到比对结果;
在所述比对结果为所述媒体流数据为非第一协议格式的情况下,触发将所述媒体流数据转换为所述第一协议格式的操作。
13.根据权利要求10所述的装置,其特征在于,所述发送单元,进一步用于:
根据所述第一通信通道,接收第二协议格式的媒体流数据。
14.根据权利要求9或10所述的装置,其特征在于,所述发送单元还包括:解码子单元,用于:
获得多个媒体流数据,每个媒体流数据由包含属性信息的数据包头和包含数据信息的数据结构体组成;
根据所述多个媒体流数据分别对应的数据包头,分别对相应的数据结构体进行解析,得到多个数据信息;
将所述多个数据信息封装到媒体流播放响应消息中,通过所述媒体流播放响应消息发送第二协议格式的媒体流数据给所述终端侧。
15.根据权利要求9或10或13所述的装置,其特征在于,所述装置还包括:第四接收单元,用于:
接收播放更新请求消息;
所述播放更新请求消息,由所述终端侧检测出所述播放地址信息和/或所述媒体流数据在终端侧播放异常时发送。
16.据权利要求9或10或13所述的装置,其特征在于,所述第一协议格式为即时串流协定RTSP格式。
17.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:执行权利要求1至8中任意一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172222.4A CN109981607B (zh) | 2019-03-07 | 2019-03-07 | 媒体流处理方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910172222.4A CN109981607B (zh) | 2019-03-07 | 2019-03-07 | 媒体流处理方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981607A CN109981607A (zh) | 2019-07-05 |
CN109981607B true CN109981607B (zh) | 2022-09-09 |
Family
ID=67078180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910172222.4A Active CN109981607B (zh) | 2019-03-07 | 2019-03-07 | 媒体流处理方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981607B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112351338B (zh) * | 2019-08-09 | 2023-04-07 | 北京嗨动视觉科技有限公司 | 视频处理方法、装置、系统和计算机可读存储介质 |
CN110460910A (zh) * | 2019-08-23 | 2019-11-15 | 南京美乐威电子科技有限公司 | 一种rtmp协议到ndi协议的转换方法,转换装置及转换系统 |
CN112511580B (zh) * | 2019-09-16 | 2024-06-25 | 北京国双科技有限公司 | 消息推送的方法、装置、存储介质和设备 |
CN112822435A (zh) * | 2019-11-15 | 2021-05-18 | 中兴通讯股份有限公司 | 一种用户可轻松接入的安防方法、装置及系统 |
CN110830777B (zh) * | 2019-11-29 | 2020-11-17 | 公安部第一研究所 | 基于WebRTC协议的跨浏览器预览GB/T28181标准监控视频的方法 |
CN111356023B (zh) | 2019-12-30 | 2021-12-24 | 杭州海康威视数字技术股份有限公司 | 播放方式确定方法及装置 |
CN111212076B (zh) * | 2020-01-08 | 2022-09-09 | 山东汇佳软件科技股份有限公司 | 面向全终端的低延迟按需分布式监控汇聚双模态转发方法 |
CN113839829A (zh) * | 2020-06-24 | 2021-12-24 | 北京字节跳动网络技术有限公司 | 云游戏延时测试方法、装置、系统及电子设备 |
CN114449322A (zh) * | 2020-10-30 | 2022-05-06 | 海信视像科技股份有限公司 | 一种显示设备及图像绘制方法 |
CN112511528B (zh) * | 2020-11-26 | 2022-10-11 | 中移(杭州)信息技术有限公司 | 流媒体分发方法、系统、服务器和存储介质 |
CN113179261B (zh) * | 2021-04-25 | 2022-07-29 | 深圳市商汤科技有限公司 | 视频流处理方法及装置、存储介质和平台服务器 |
CN113573150A (zh) * | 2021-07-02 | 2021-10-29 | 交控科技股份有限公司 | 视频流处理方法、装置、电子设备和存储介质 |
CN113521729B (zh) * | 2021-07-02 | 2023-10-20 | 咪咕互动娱乐有限公司 | 云游戏延迟检测方法、服务器、客户端、系统及介质 |
CN114302353B (zh) * | 2021-12-31 | 2023-10-20 | 咪咕音乐有限公司 | 媒体协商方法、通信设备及可读存储介质 |
CN115396687B (zh) * | 2022-08-25 | 2024-06-21 | 广州方硅信息技术有限公司 | 处理媒体资源中业务数据的方法、装置、直播系统、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101022345B (zh) * | 2006-02-14 | 2011-01-26 | 中国移动通信集团公司 | 基于终端发起的请求信息提供组播的方法 |
CN101309203B (zh) * | 2007-05-17 | 2011-03-16 | 中兴通讯股份有限公司 | 一种网络媒体服务方法 |
CN101808233A (zh) * | 2009-02-18 | 2010-08-18 | 杭州海康威视数字技术股份有限公司 | 一种通用的手机视频监控实现系统和方法 |
CN102045540A (zh) * | 2009-10-20 | 2011-05-04 | 华为软件技术有限公司 | 视频监控方法、系统及设备 |
CN101710975A (zh) * | 2009-11-27 | 2010-05-19 | 广东亿迅科技有限公司 | 一种视频监控系统及视频监控方法 |
CN101710974A (zh) * | 2009-11-27 | 2010-05-19 | 广东亿迅科技有限公司 | 一种实现融合视频监控的方法 |
CN102131106A (zh) * | 2010-12-22 | 2011-07-20 | 华为技术有限公司 | 流媒体内容的播放方法、装置及系统 |
CN202135269U (zh) * | 2011-07-22 | 2012-02-01 | 江苏宇天新媒体技术有限公司 | 实现手机视频播放的系统 |
US9184884B2 (en) * | 2012-05-18 | 2015-11-10 | Futurewei Technologies, Inc. | System and method for cloud-based live media ingestion and transcoding |
CN103036889B (zh) * | 2012-12-19 | 2016-08-17 | 常州中流电子科技有限公司 | 一种自适应的流媒体播放方法及其播放系统 |
CN103338186B (zh) * | 2013-06-05 | 2018-03-09 | 华为技术有限公司 | 一种内容分享方法和装置 |
-
2019
- 2019-03-07 CN CN201910172222.4A patent/CN109981607B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218756A (zh) * | 2018-09-28 | 2019-01-15 | 广州市协衡网络科技有限公司 | 一种摄像视频的点播方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109981607A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981607B (zh) | 媒体流处理方法及装置、电子设备和存储介质 | |
US11388453B2 (en) | Method for processing live-streaming interaction video and server | |
CN104918105B (zh) | 媒体文件的多屏播放方法、设备及系统 | |
CN104010222A (zh) | 评论信息展示方法、装置及系统 | |
CN107197320B (zh) | 视频直播方法、装置和系统 | |
US10104153B2 (en) | Method and device for processing information | |
US9723486B2 (en) | Method and apparatus for accessing network | |
CN111092898B (zh) | 报文传输方法及相关设备 | |
CN110493627B (zh) | 多媒体内容同步方法及装置 | |
US10728583B2 (en) | Multimedia information playing method and system, standardized server and live broadcast terminal | |
CN111526387B (zh) | 一种视频处理方法、装置、电子设备及存储介质 | |
CN110996122B (zh) | 视频帧传输方法、装置、计算机设备及存储介质 | |
CN108667871B (zh) | 基于p2p的传输方法和装置 | |
CN111212306A (zh) | 连麦方法、装置、电子设备及存储介质 | |
US20230305680A1 (en) | Method for invoking capability of another device, electronic device, and system | |
CN109831538B (zh) | 一种消息处理方法、装置、服务器、终端及介质 | |
US9118803B2 (en) | Video conferencing system | |
CN114007101B (zh) | 融合显示设备的处理方法、设备及存储介质 | |
CN216437496U (zh) | 投屏设备、接收设备、投屏系统 | |
CN113840161B (zh) | 流媒体传输方法、接收方法、装置、电子设备及储存介质 | |
CN109492408B (zh) | 一种加密数据的方法及装置 | |
CN111522787B (zh) | 分布式系统的数据处理方法、装置及存储介质 | |
CN116389713A (zh) | 信号处理方法、装置、系统、电子设备及可读存储介质 | |
CN116828141A (zh) | 音视频数据处理方法、装置及设备 | |
CN116506501A (zh) | 消息转发方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |