CN112601114A - 一种基于钩子回调的gb28181按需拉流实现方法 - Google Patents

一种基于钩子回调的gb28181按需拉流实现方法 Download PDF

Info

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
Application number
CN202011463156.5A
Other languages
English (en)
Other versions
CN112601114B (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.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology 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
Application filed by Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN202011463156.5A priority Critical patent/CN112601114B/zh
Publication of CN112601114A publication Critical patent/CN112601114A/zh
Application granted granted Critical
Publication of CN112601114B publication Critical patent/CN112601114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/25Management 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/262Content 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/26208Content 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
    • 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/25Management 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/262Content 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/26258Content 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
    • 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/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

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服务器向设备发起拉流请求来实现的。这种设计存在以下的一些问题:流播放强耦合于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作为任务的唯一标识添加到任务列表中。
CN202011463156.5A 2020-12-14 2020-12-14 一种基于钩子回调的gb28181按需拉流实现方法 Active CN112601114B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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的钩子回调广播转发方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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