CN112601114A - 一种基于钩子回调的gb28181按需拉流实现方法 - Google Patents
一种基于钩子回调的gb28181按需拉流实现方法 Download PDFInfo
- Publication number
- CN112601114A CN112601114A CN202011463156.5A CN202011463156A CN112601114A CN 112601114 A CN112601114 A CN 112601114A CN 202011463156 A CN202011463156 A CN 202011463156A CN 112601114 A CN112601114 A CN 112601114A
- Authority
- CN
- China
- Prior art keywords
- stream
- streaming media
- media server
- hook
- player
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26258—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于钩子回调的GB28181按需拉流实现方法。它具体包括如下步骤:(1)播放器发起播放RTMP请求,流媒体服务器判断流是否存在,如果流存在则流媒体服务器往播放器推流,并进入步骤(3)中,如果流不存在则进入到下一步;(2)流媒体服务器触发钩子:流不存在,调用GB28181服务平台的服务接口,GB28181服务平台发起拉流操作,GB28181设备收到拉流请求,将流推到流媒体服务器;(3)播放器播放收到的RTMP实时流:播放器收到RTMP流,解析其中的实时流,播放画面。本发明的有益效果是:降低整个播放链路,方便追踪问题;实现无感播放;大大降低了流媒体服务的压力;能够大大降低联调工作量。
Description
技术领域
本发明涉及视频、流媒体处理相关技术领域,尤其是指一种基于钩子回调的GB28181按需拉流实现方法。
背景技术
在以往传统的流播放预览设计,是通过客户端服务调用GB28181服务接口,然后GB28181服务器向设备发起拉流请求来实现的。这种设计存在以下的一些问题:流播放强耦合于GB28181服务和客户端自己的业务系统,加大代码的逻辑复杂性。客户端播放器需要集成在某一个程序服务中,由客户端程序代码来控制播放请求,而很多场景下,客户端只有一个类似VLC的播放器。没办法和代码集成。由于一些异常原因,导致断流之后需要再次手动或者接口代码的方式发起播放请求。代码触发方式的重试机制,存在较大的播放加载时间。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种降低流媒体服务器压力的基于钩子回调的GB28181按需拉流实现方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于钩子回调的GB28181按需拉流实现方法,具体包括如下步骤:
(1)播放器发起播放RTMP请求,流媒体服务器判断流是否存在,如果流存在则流媒体服务器往播放器推流,并进入步骤(3)中,如果流不存在则进入到下一步;
(2)流媒体服务器触发钩子:流不存在,调用GB28181服务平台的服务接口,GB28181服务平台发起拉流操作,GB28181设备收到拉流请求,将流推到流媒体服务器;
(3)播放器播放收到的RTMP实时流:播放器收到RTMP流,解析其中的实时流,播放画面。
相对于传统业务系统间的主动拉流方式,该发明能够产生如下效果:降低整个播放链路,方便追踪问题。去除客户端系统代码耦合,只需集成播放器,实现无感播放。支持桌面播放器软件播放流。兼容之前API方式的拉流处理。无需提前准备好流,只有客户端有需要播放的时候才触发拉流,不会产生额外的流媒体负载大大降低了流媒体服务的压力。在提供能力给第三方平台的时候,能够大大降低联调工作量。
作为优选,所述的播放器指的是桌面播放器和H5播放器;所述的流媒体服务器是一个接收国标28181PS流,并发布实时流协议,同时支持流不存在钩子事件,在触发该事件的时候,会发送提前设置好的http请求给GB28181 服务平台的服务器;所述的GB28181服务平台指的是支持GB28181协议的业务服务平台,接收流媒体服务器发送的钩子事件,并在触发此事件的时候从GB28181设备拉流;所述的GB28181设备指的是支持GB28181协议的安防摄像机或NVR设备。
作为优选,在步骤(1)中,具体为:播放器作为流观看的发起点,指定播放URL,向流媒体服务器发起播放RTMP请求,流媒体服务器会维护一个任务列表,当接受到新的播放请求时,如果任务列表中有目标URL,那么将建立TCP连接,通过播放器请求的TCP连接通道,流媒体服务器将任务列表中的流推送给播放器。
作为优选,在步骤(2)中,具体为:流媒体服务会事先设置好不同的钩子事件,当触发流不存在的钩子事件时,将播放目标URL、播放器IP相关信息通过设置好的回调接口传输给GB28181服务平台,当GB28181服务平台收到钩子时,通过URL参数获取到目标国标通道,并发送拉流INVITE请求, GB28181设备收到上级GB28181服务平台的拉流请求时,将流推到指定的流媒体服务器,流协议类型PS over RTP,流媒体服务器将收到的PS流封装成 RTMP格式,并维护到可播放流的任务列表中。
作为优选,在步骤(2)中,流媒体服务器预先设置好钩子的回调接口,钩子回调通过http请求的方式实现流媒体服务器和业务系统的联通,当触发流不存在事件时,流媒体服务器调用该http接口,由业务系统来实现流不存在的业务功能,即开启拉流;流媒体服务器维护一个可播放流的任务列表,当流媒体服务器收到GB28181设备推过来的流时,对流进行解封装处理,解析出流的URL,将URL作为任务的唯一标识添加到任务列表中。
本发明的有益效果是:降低整个播放链路,方便追踪问题;去除客户端系统代码耦合,只需集成播放器,实现无感播放;不会产生额外的流媒体负载大大降低了流媒体服务的压力;在提供能力给第三方平台的时候,能够大大降低联调工作量。
附图说明
图1是本发明的方法流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种基于钩子回调的GB28181按需拉流实现方法,具体包括如下步骤:
(1)播放器发起播放RTMP请求,流媒体服务器判断流是否存在,如果流存在则流媒体服务器往播放器推流,并进入步骤(3)中,如果流不存在则进入到下一步;具体为:播放器作为流观看的发起点,指定播放URL,向流媒体服务器发起播放RTMP请求,流媒体服务器会维护一个任务列表,当接受到新的播放请求时,如果任务列表中有目标URL,那么将建立TCP连接,通过播放器请求的TCP连接通道,流媒体服务器将任务列表中的流推送给播放器(如图中1.3步骤)。
(2)流媒体服务器触发钩子:流不存在,调用GB28181服务平台的服务接口(如图中2.1步骤),GB28181服务平台发起拉流操作,GB28181设备收到拉流请求,将流推到流媒体服务器;具体为:流媒体服务会事先设置好不同的钩子事件,当触发流不存在的钩子事件时,将播放目标URL、播放器 IP相关信息通过设置好的回调接口传输给GB28181服务平台,当GB28181 服务平台收到钩子时,通过URL参数获取到目标国标通道,并发送拉流 INVITE请求,GB28181设备收到上级GB28181服务平台的拉流请求时,将流推到指定的流媒体服务器,流协议类型PS over RTP,流媒体服务器将收到的PS流封装成RTMP格式,并维护到可播放流的任务列表中。
流媒体服务器预先设置好钩子的回调接口,比如流不存在钩子事件、流客户端数量达到一定上限事件等,钩子回调通过http请求的方式实现流媒体服务器和业务系统的联通,当触发流不存在事件时,流媒体服务器调用该http 接口,由业务系统来实现流不存在的业务功能,即开启拉流;流媒体服务器维护一个可播放流的任务列表,当流媒体服务器收到GB28181设备推过来的流时,对流进行解封装处理,解析出流的URL,将URL作为任务的唯一标识添加到任务列表中。
(3)播放器播放收到的RTMP实时流:播放器收到RTMP流,解析其中的实时流,播放画面。
其中:播放器指的是VLC、FFPlayer、Videojs,flvjs、alplayer、liveplayer 等桌面播放器和H5播放器;
流媒体服务器是一个接收国标28181PS流,并发布RTMP、HTTP-FLV、 RTSP、WS-FLV等实时流协议,同时支持流不存在钩子事件,在触发该事件的时候,会发送提前设置好的http请求给GB28181服务平台的服务器;
GB28181服务平台指的是支持GB28181协议的业务服务平台,接收流媒体服务器发送的钩子事件,并在触发此事件的时候从GB28181设备拉流;
GB28181设备指的是海康、大华、宇视等支持GB28181协议的安防摄像机或NVR设备。
钩子指的是在已经可以正常运作的程序中额外自定义的业务实现,在本方案指的是当流媒体触发某个事件的时候,调用http接口,由http服务提供者来实现特定的自定义业务。
上述方法的设计能够普遍适用包含但不限于GB28181协议的基于钩子回调的按需拉流。兼容原有系统,方便灰度或者全量发布。在此基础上,方便对客户端播放流进行管理,比如鉴权、播放负载控制等。无系统依赖的播放器,也可以很方便的实现拉流播放,这个过程对于播放器来说是无感的。相比之前流媒体服务需要提前将流准备好,现在按需拉流的实现,不会产生额外的负载,大大降低了流媒体服务器的压力。原先前端播放器拉流部分代码可以移除,降低了整个业务逻辑的复杂程度。
实施实例:
该产品做为播放流的提供者,接入了较多的第三方系统:
1、第三方系统或者桌面播放器发起流播放请求。
2、流媒体服务器收到流播放请求,判断流是否在可播放任务列表中。
3、流媒体服务器触发流不存在的http钩子接口。
4、GB28181服务平台收到流不存在接口请求,然后向GB28181设备发起拉流请求。
5、GB28181设备往约定好的流媒体服务器推国标PS流。
6、流媒体服务器将国标PS流转成客户端可播放的RTMP流。
7、第三方系统或者桌面播放器播放流媒体提供的RTMP流。
相对于传统业务系统间的主动拉流方式,该发明能够产生如下效果:降低整个播放链路,方便追踪问题。去除客户端系统代码耦合,只需集成播放器,实现无感播放。支持桌面播放器软件播放流。兼容之前API方式的拉流处理。无需提前准备好流,只有客户端有需要播放的时候才触发拉流,不会产生额外的流媒体负载大大降低了流媒体服务的压力。在提供能力给第三方平台的时候,能够大大降低联调工作量。
Claims (5)
1.一种基于钩子回调的GB28181按需拉流实现方法,其特征是,具体包括如下步骤:
(1)播放器发起播放RTMP请求,流媒体服务器判断流是否存在,如果流存在则流媒体服务器往播放器推流,并进入步骤(3)中,如果流不存在则进入到下一步;
(2)流媒体服务器触发钩子:流不存在,调用GB28181服务平台的服务接口,GB28181服务平台发起拉流操作,GB28181设备收到拉流请求,将流推到流媒体服务器;
(3)播放器播放收到的RTMP实时流:播放器收到RTMP流,解析其中的实时流,播放画面。
2.根据权利要求1所述的一种基于钩子回调的GB28181按需拉流实现方法,其特征是,所述的播放器指的是桌面播放器和H5播放器;所述的流媒体服务器是一个接收国标28181PS流,并发布实时流协议,同时支持流不存在钩子事件,在触发该事件的时候,会发送提前设置好的http请求给GB28181服务平台的服务器;所述的GB28181服务平台指的是支持GB28181协议的业务服务平台,接收流媒体服务器发送的钩子事件,并在触发此事件的时候从GB28181设备拉流;所述的GB28181设备指的是支持GB28181协议的安防摄像机或NVR设备。
3.根据权利要求1或2所述的一种基于钩子回调的GB28181按需拉流实现方法,其特征是,在步骤(1)中,具体为:播放器作为流观看的发起点,指定播放URL,向流媒体服务器发起播放RTMP请求,流媒体服务器会维护一个任务列表,当接受到新的播放请求时,如果任务列表中有目标URL,那么将建立TCP连接,通过播放器请求的TCP连接通道,流媒体服务器将任务列表中的流推送给播放器。
4.根据权利要求3所述的一种基于钩子回调的GB28181按需拉流实现方法,其特征是,在步骤(2)中,具体为:流媒体服务会事先设置好不同的钩子事件,当触发流不存在的钩子事件时,将播放目标URL、播放器IP相关信息通过设置好的回调接口传输给GB28181服务平台,当GB28181服务平台收到钩子时,通过URL参数获取到目标国标通道,并发送拉流INVITE请求,GB28181设备收到上级GB28181服务平台的拉流请求时,将流推到指定的流媒体服务器,流协议类型PS over RTP,流媒体服务器将收到的PS流封装成RTMP格式,并维护到可播放流的任务列表中。
5.根据权利要求4所述的一种基于钩子回调的GB28181按需拉流实现方法,其特征是,在步骤(2)中,流媒体服务器预先设置好钩子的回调接口,钩子回调通过http请求的方式实现流媒体服务器和业务系统的联通,当触发流不存在事件时,流媒体服务器调用该http接口,由业务系统来实现流不存在的业务功能,即开启拉流;流媒体服务器维护一个可播放流的任务列表,当流媒体服务器收到GB28181设备推过来的流时,对流进行解封装处理,解析出流的URL,将URL作为任务的唯一标识添加到任务列表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011463156.5A CN112601114B (zh) | 2020-12-14 | 2020-12-14 | 一种基于钩子回调的gb28181按需拉流实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011463156.5A CN112601114B (zh) | 2020-12-14 | 2020-12-14 | 一种基于钩子回调的gb28181按需拉流实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112601114A true CN112601114A (zh) | 2021-04-02 |
CN112601114B CN112601114B (zh) | 2023-03-21 |
Family
ID=75192697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011463156.5A Active CN112601114B (zh) | 2020-12-14 | 2020-12-14 | 一种基于钩子回调的gb28181按需拉流实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112601114B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190114A (zh) * | 2022-07-08 | 2022-10-14 | 杭州指令集智能科技有限公司 | 一种简化web视频播放器播放视频流程的方法 |
CN117032725A (zh) * | 2023-09-27 | 2023-11-10 | 统信软件技术有限公司 | 事件处理方法及装置、电子设备、计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148393A1 (en) * | 2001-04-18 | 2004-07-29 | Gerd Breiter | Method and computer system for selecting an edge server computer |
CN105893413A (zh) * | 2015-11-26 | 2016-08-24 | 乐视云计算有限公司 | 服务器的服务扩展方法及扩展系统 |
CN107483972A (zh) * | 2017-07-24 | 2017-12-15 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN108337527A (zh) * | 2017-12-18 | 2018-07-27 | 武汉烽火众智智慧之星科技有限公司 | 一种接入网关及一种接入方法 |
CN109274982A (zh) * | 2018-09-30 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、装置、计算机设备以及存储介质 |
CN110753234A (zh) * | 2019-09-30 | 2020-02-04 | 安徽云森物联网科技有限公司 | 一种国标ps流转rtmp直播流的实时转换方法 |
CN114064330A (zh) * | 2022-01-12 | 2022-02-18 | 广东睿江云计算股份有限公司 | 基于OpenVidu的钩子回调广播转发方法及系统 |
-
2020
- 2020-12-14 CN CN202011463156.5A patent/CN112601114B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148393A1 (en) * | 2001-04-18 | 2004-07-29 | Gerd Breiter | Method and computer system for selecting an edge server computer |
CN105893413A (zh) * | 2015-11-26 | 2016-08-24 | 乐视云计算有限公司 | 服务器的服务扩展方法及扩展系统 |
CN107483972A (zh) * | 2017-07-24 | 2017-12-15 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN108337527A (zh) * | 2017-12-18 | 2018-07-27 | 武汉烽火众智智慧之星科技有限公司 | 一种接入网关及一种接入方法 |
CN109274982A (zh) * | 2018-09-30 | 2019-01-25 | 武汉斗鱼网络科技有限公司 | 视频轮播方法、装置、计算机设备以及存储介质 |
CN110753234A (zh) * | 2019-09-30 | 2020-02-04 | 安徽云森物联网科技有限公司 | 一种国标ps流转rtmp直播流的实时转换方法 |
CN114064330A (zh) * | 2022-01-12 | 2022-02-18 | 广东睿江云计算股份有限公司 | 基于OpenVidu的钩子回调广播转发方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190114A (zh) * | 2022-07-08 | 2022-10-14 | 杭州指令集智能科技有限公司 | 一种简化web视频播放器播放视频流程的方法 |
CN117032725A (zh) * | 2023-09-27 | 2023-11-10 | 统信软件技术有限公司 | 事件处理方法及装置、电子设备、计算机可读存储介质 |
CN117032725B (zh) * | 2023-09-27 | 2023-12-26 | 统信软件技术有限公司 | 事件处理方法及装置、电子设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112601114B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10264044B2 (en) | Apparatus and method for sending content as chunks of data to a user device via a network | |
US9024995B2 (en) | Video calling using a remote camera device to stream video to a local endpoint host acting as a proxy | |
CN107846633B (zh) | 一种直播方法及系统 | |
CN109889543B (zh) | 视频传输的方法、根节点、子节点、p2p服务器和系统 | |
CN112073423A (zh) | 基于WebRTC进行浏览器推流的方法及系统 | |
US7921222B2 (en) | Method and system for fast channel switching using standard RTSP messages | |
CN112601114B (zh) | 一种基于钩子回调的gb28181按需拉流实现方法 | |
US20110285863A1 (en) | Live television broadcasting system for the internet | |
US20110138429A1 (en) | System and method for delivering selections of multi-media content to end user display systems | |
CN111416993B (zh) | 能够播放iptv和ott视频源的播放控制方法和播放器系统 | |
CN106464933B (zh) | 用于远程控制对多媒体内容的渲染的设备和方法 | |
US20180213015A1 (en) | Reducing latency for streaming video | |
CN101626483A (zh) | 会议电视系统与交互式网络电视系统融合方法及视讯系统 | |
WO2014183540A1 (zh) | 一种视频监控的内容适配方法、系统及中心服务器、装置 | |
US9350779B2 (en) | Providing control information to a multimedia server | |
US20230045876A1 (en) | Video Playing Method, Apparatus, and System, and Computer Storage Medium | |
EP2696591B1 (en) | Video calling using a remote camera device to stream video to a local endpoint host acting as a proxy | |
US7821943B2 (en) | Data transmission | |
CN111711870B (zh) | 一种跨网络边界的实时流传输方法 | |
TWI431994B (zh) | 多媒體檔案的播放方法、系統及其使用之電腦程式產品 | |
CN114339146B (zh) | 音视频监控方法、装置、电子设备及计算机可读存储介质 | |
CN113055636B (zh) | 一种数据处理方法及会议系统 | |
CN113556612A (zh) | 一种浏览器上播放h.265视频流的方法及系统 | |
EP3089459A1 (en) | Apparatus and method for implementing video-on-demand quick switching among multiple screens | |
US20070073885A1 (en) | Device and method for handling media server overloading |
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 |