CN110139165A - 流媒体反向代理服务实现一个端口承载多个流协议的方法 - Google Patents
流媒体反向代理服务实现一个端口承载多个流协议的方法 Download PDFInfo
- Publication number
- CN110139165A CN110139165A CN201910535334.1A CN201910535334A CN110139165A CN 110139165 A CN110139165 A CN 110139165A CN 201910535334 A CN201910535334 A CN 201910535334A CN 110139165 A CN110139165 A CN 110139165A
- Authority
- CN
- China
- Prior art keywords
- reverse proxy
- streaming media
- agreement
- protocol
- service
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- 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
Abstract
本发明提供了一种流媒体反向代理服务实现一个端口承载多个流协议的方法,在流媒体终端和流媒体服务之间插入一个流媒体反向代理服务,所述的流媒体反向代理服务包含依次连接的网络监听模块、协议鉴别模块和反向代理模块,网络监听模块连接到原始网络,流媒体反向代理服务通过输入流媒体终端的原始网络连接,输出反向代理的网络连接到正确的流媒体服务。为了能够在一个网络端口承载多个流协议,通过使用反向代理服务技术,实现一个网络端口承载多种流协议功能。同时由于使用反向代理服务技术,不需要改造原有的流媒体服务,只要在原来的流媒体终端和流媒体服务之间插入流媒体反向代理服务,部署简单,不修改原来代码,修改成本低。
Description
技术领域
本发明涉及流媒体技术领域,具体涉及一种流媒体反向代理服务,用一个网络端口承载多个流协议的方法。
背景技术
作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。而流媒体服务器又是流媒体应用的核心系统,是运营商向用户提供视频服务的关键平台。其主要功能是对媒体内容进行采集、缓存、调度和传输播放,流媒体应用系统的主要性能体现都取决于媒体服务器的性能和服务质量。因此,流媒体服务器是流媒体应用系统的基础,也是最主要的组成部分。流媒体服务器的主要功能是以流式协议(RTP/RTSP、MMS、RTMP等)将视频文件传输到客户端,供用户在线观看;也可从视频采集、压缩软件接收实时视频流,再以流式协议直播给客户端。
目前,已知的常见流媒体服务,RTSP服务默认554端口,RTMP服务默认1935端口,HLS服务默认80端口,MEPG-DASH默认80端口,流服务依靠端口判断流协议。而为了适配多种流媒体播放终端,在部署流媒体服务时,要对一种视频信号提供多种流协议,也就需要开放多个网络端口,这给运维的服务安全和服务治理带来复杂性。
发明内容
本发明的目的是提供一种流媒体反向代理服务实现一个端口承载多个流协议的方法,通过部署一种流媒体反向代理服务实现使用一个网络端口承载多种流媒体协议,来解决为了适配多种流媒体播放终端,在部署流媒体服务时,要对一种视频信号提供多种流协议,也就需要开放多个网络端口的问题。
为了解决背景技术所存在的问题,本发明是采用以下技术方案:一种流媒体反向代理服务实现一个端口承载多个流协议的方法,在流媒体终端和流媒体服务之间插入一个流媒体反向代理服务,所述的流媒体反向代理服务包含依次连接的网络监听模块、协议鉴别模块和反向代理模块,网络监听模块连接到原始网络,流媒体反向代理服务通过输入流媒体终端的原始网络连接,输出反向代理的网络连接到正确的流媒体服务。
作为本发明的进一步改进;所述网络监听模块开放一个网络端口,进行TCP监听,投递到协议鉴别模块。
作为本发明的进一步改进;所述协议鉴别模块的工作流程为:事件监听;新网络连接事件;鉴别RTMP协议事件;鉴别RTSP/HTTP协议事件;鉴别HLS/DASH协议事件;无效流协议事件:断开网络连接;有效流协议事件:根据事件包内容,生成协议鉴别结果包,投递给反向代理模块。
作为本发明的进一步改进;所述反向代理模块监听协议鉴定结果,建立反向代理。
作为本发明的进一步改进;所述协议鉴别模块的流协议鉴别方法包含如下步骤:
(a)鉴别RTMP协议:进行RTMP协议鉴别,根据RTMP是二进制协议,其它流协议是文本协议进行区分。读取网络连接的请求第1个字节,如果值是3就是RTMP协议;如果值是字符(65-90或者 97-122),转入鉴别RTSP/HTTP协议;如果都不是,就是无效协议;
(b)鉴别RTSP/HTTP协议:获取第一行内容(通过换行符判断是否是一行),通过第一行的末尾区判断具体协议类型。如果是RTSP就是RTSP协议;如果是HTTP就是HTTP协议,转入鉴别HLS/DASH协议;如果都不是,就是无效协议;
(c)鉴别HLS/DASH协议:已经确定是HTTP协议,再根据已读数据(第一行内容)的中间区得到请求URL,再根据URL得到请求资源类型,.m3u8是HLS协议;.mpd是DASH协议;如果都不是,就是无效协议。
作为本发明的进一步改进;所述反向代理模块的反向代理连接构建方法为:根据协议类型,确定流服务地址,建立新网络连接到流服务,把已读数据,写入新网络连接,再分别建立二个协程,读协程(从新网络连接读数据,写到原始网络连接),写协程(从原始网络连接读数据,写到新网络连接),就完成。
采用上述技术方案后,本发明具有以下有益效果:
为了能够在一个网络端口承载多个流协议,通过使用反向代理服务技术,构建网络监听模块,协议鉴别模块,反向代理模块,实现一个网络端口承载多种流协议功能。同时由于使用反向代理服务技术,不需要改造原有的流媒体服务,只要在原来的流媒体终端和流媒体服务之间插入流媒体反向代理服务,部署简单,不修改原来代码,修改成本低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为改造前的流媒体服务结构图;
图2为本发明所提供的实施例中改造后的流媒体服务结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明。
请参阅图2,本具体实施方式采用以下技术方案:一种流媒体反向代理服务实现一个端口承载多个流协议的方法,它包含如下步骤:
1 在流媒体终端和流媒体服务之间插入一个流媒体反向代理服务,所述的流媒体反向代理服务包含依次连接的网络监听模块、协议鉴别模块和反向代理模块;
2 流媒体反向代理服务通过输入流媒体终端的原始网络连接,输出反向代理的网络连接到正确的流媒体服务,实现一个端口承载多种流协议,完成三个功能:
1)网络监听:
(1)监听TCP网络:开放一个网络端口,进行TCP监听;
(2)投递到协议鉴别模块:每接收到一个新的网络连接,投递事件包(新网络连接事件、空协议类型、网络连接和已读数据)到协议鉴别模块。
2)协议鉴别:
(1)事件监听:先注册所有事件处理函数,再监听所有事件。接收事件包,根据事件包的事件类型,调度相应处理功能;
(2)新网络连接事件:处理网络监听模块发送的事件包,投递事件包(鉴别RTMP协议事件、空协议类型、网络连接和已读数据)到本模块的事件监听;
(3)鉴别RTMP协议事件:进行RTMP协议鉴别,根据RTMP是二进制协议,其它流协议是文本协议进行区分。读取网络连接的请求第1个字节,如果值是3就是RTMP协议,投递事件包(有效流协议事件、RTMP协议类型、网络连接和已读数据)到本模块的事件监听;如果值是字符(65-90或者 97-122),投递事件包(鉴别RTSP协议事件、空协议类型、网络连接和已读数据)到本模块的事件监听;如果都不是,就投递事件包(无效流媒体事件、协议类型、网络连接和已读数据)到本模块的事件监听;
(4)鉴别RTSP/HTTP协议事件:获取第一行内容(通过换行符判断是否是一行),通过第一行的末尾区判断具体协议类型。如果是RTSP就是RTSP协议,投递事件包(有效流协议事件、RTSP协议类型、网络连接和已读数据)到本模块的事件监听;如果是HTTP就是HTTP协议,投递事件包(鉴别HLS/DASH协议事件、HTTP协议类型、网络连接和已读数据)到本模块的事件监听;如果都不是,就投递事件包(无效流媒体事件、空协议类型、网络连接和已读数据)到本模块的事件监听;
(5)鉴别HLS/DASH协议事件:根据已读数据(第一行内容)的中间区得到请求URL,再根据URL得到请求资源类型,.m3u8是HLS协议,投递事件包(有效流协议事件、HLS协议类型、网络连接和已读数据)到本模块的事件监听;.mpd是DASH协议,投递事件包(有效流协议事件、DASH协议类型、网络连接和已读数据)到本模块的事件监听;如果都不是,就投递事件包(无效流媒体事件、空协议类型、网络连接和已读数据)到本模块的事件监听;
(6)无效流协议事件:断开网络连接;
(7)有效流协议事件:根据事件包内容,生成协议鉴别结果包(协议类型、网络连接和已读数据),投递给反向代理模块。
3)反向代理:
(1)监听协议鉴定结果:建立监听,接收协议鉴别结果包;
(2)建立反向代理:根据协议类型,确定流服务地址,建立新网络连接到流服务,把已读数据,写入新网络连接,再分别建立二个协程,读协程(从新网络连接读数据,写到原始网络连接),写协程(从原始网络连接读数据,写到新网络连接),就完成。
本发明通过添加一个反向代理服务,部署简单,不修改原来代码,修改成本低。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (6)
1.一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,在流媒体终端和流媒体服务之间插入一个流媒体反向代理服务,所述的流媒体反向代理服务包含依次连接的网络监听模块、协议鉴别模块和反向代理模块,网络监听模块连接到原始网络,流媒体反向代理服务通过输入流媒体终端的原始网络连接,输出反向代理的网络连接到正确的流媒体服务。
2.根据权利要求1所述的一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,所述网络监听模块开放一个网络端口,进行TCP监听,投递到协议鉴别模块。
3.根据权利要求1所述的一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,所述协议鉴别模块的工作流程为:事件监听;新网络连接事件;鉴别RTMP协议事件;鉴别RTSP/HTTP协议事件;鉴别HLS/DASH协议事件;无效流协议事件:断开网络连接;有效流协议事件:根据事件包内容,生成协议鉴别结果包,投递给反向代理模块。
4.根据权利要求1所述的一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,所述反向代理模块监听协议鉴定结果,建立反向代理。
5.根据权利要求1所述的一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,所述协议鉴别模块的流协议鉴别方法包含如下步骤:
(a)鉴别RTMP协议:进行RTMP协议鉴别,根据RTMP是二进制协议,其它流协议是文本协议进行区分;读取网络连接的请求第1个字节,如果值是3就是RTMP协议;如果值是字符,转入鉴别RTSP/HTTP协议;如果都不是,就是无效协议;
(b)鉴别RTSP/HTTP协议:获取第一行内容,通过换行符判断是否是一行,通过第一行的末尾区判断具体协议类型;如果是RTSP就是RTSP协议;如果是HTTP就是HTTP协议,转入鉴别HLS/DASH协议;如果都不是,就是无效协议;
(c)鉴别HLS/DASH协议:已经确定是HTTP协议,再根据已读数据的中间区得到请求URL,再根据URL得到请求资源类型,.m3u8是HLS协议;.mpd是DASH协议;如果都不是,就是无效协议。
6.根据权利要求1所述的一种流媒体反向代理服务实现一个端口承载多个流协议的方法,其特征在于,所述反向代理模块的反向代理连接构建方法为:根据协议类型,确定流服务地址,建立新网络连接到流服务,把已读数据,写入新网络连接,再分别建立二个协程,读协程:从新网络连接读数据,写到原始网络连接,写协程:从原始网络连接读数据,写到新网络连接,就完成。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910233601.XA CN109889911A (zh) | 2019-03-26 | 2019-03-26 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
CN201910233601X | 2019-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110139165A true CN110139165A (zh) | 2019-08-16 |
CN110139165B CN110139165B (zh) | 2021-05-14 |
Family
ID=66934498
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910233601.XA Withdrawn CN109889911A (zh) | 2019-03-26 | 2019-03-26 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
CN201910535334.1A Active CN110139165B (zh) | 2019-03-26 | 2019-06-20 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910233601.XA Withdrawn CN109889911A (zh) | 2019-03-26 | 2019-03-26 | 流媒体反向代理服务实现一个端口承载多个流协议的方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN109889911A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531499A (zh) * | 2020-11-06 | 2022-05-24 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110677432A (zh) * | 2019-10-14 | 2020-01-10 | 广州江南科友科技股份有限公司 | 一种网络协议内部代理转发方法、装置、介质及终端设备 |
CN114095588B (zh) * | 2020-08-03 | 2023-08-18 | 网宿科技股份有限公司 | 一种多协议端口的共用方法、系统及服务器 |
EP3979660B1 (en) * | 2020-08-03 | 2023-02-15 | Wangsu Science & Technology Co., Ltd. | Multi-protocol port sharing method and system, and server |
CN114500681A (zh) * | 2020-10-26 | 2022-05-13 | 武汉斗鱼鱼乐网络科技有限公司 | 一种网络请求的连接方法、装置、介质及计算机设备 |
CN113794909A (zh) * | 2021-09-01 | 2021-12-14 | 北京百度网讯科技有限公司 | 视频流传输系统、方法、服务器、装置以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088639A1 (en) * | 2001-04-10 | 2003-05-08 | Lentini Russell P. | Method and an apparatus for transforming content from one markup to another markup language non-intrusively using a server load balancer and a reverse proxy transcoding engine |
CN102176763A (zh) * | 2011-01-28 | 2011-09-07 | 深圳市同洲电子股份有限公司 | 广播电视系统及信息交互方法 |
CN102447708A (zh) * | 2012-01-14 | 2012-05-09 | 杭州安恒信息技术有限公司 | 一种应用层透明代理技术的通信实现方法 |
CN107222561A (zh) * | 2017-07-03 | 2017-09-29 | 杭州泰酷科技有限公司 | 一种传输层反向代理方法 |
CN108092995A (zh) * | 2018-01-12 | 2018-05-29 | 珠海市杰理科技股份有限公司 | 流媒体数据处理方法、装置、计算机设备和存储介质 |
-
2019
- 2019-03-26 CN CN201910233601.XA patent/CN109889911A/zh not_active Withdrawn
- 2019-06-20 CN CN201910535334.1A patent/CN110139165B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088639A1 (en) * | 2001-04-10 | 2003-05-08 | Lentini Russell P. | Method and an apparatus for transforming content from one markup to another markup language non-intrusively using a server load balancer and a reverse proxy transcoding engine |
CN102176763A (zh) * | 2011-01-28 | 2011-09-07 | 深圳市同洲电子股份有限公司 | 广播电视系统及信息交互方法 |
CN102447708A (zh) * | 2012-01-14 | 2012-05-09 | 杭州安恒信息技术有限公司 | 一种应用层透明代理技术的通信实现方法 |
CN107222561A (zh) * | 2017-07-03 | 2017-09-29 | 杭州泰酷科技有限公司 | 一种传输层反向代理方法 |
CN108092995A (zh) * | 2018-01-12 | 2018-05-29 | 珠海市杰理科技股份有限公司 | 流媒体数据处理方法、装置、计算机设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114531499A (zh) * | 2020-11-06 | 2022-05-24 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
CN114531499B (zh) * | 2020-11-06 | 2024-03-26 | 网宿科技股份有限公司 | 一种基于quic协议的端口共用方法、系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110139165B (zh) | 2021-05-14 |
CN109889911A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889911A (zh) | 流媒体反向代理服务实现一个端口承载多个流协议的方法 | |
CN103581699B (zh) | 视频播放方法、流媒体服务器及流媒体播放系统 | |
CN101505317B (zh) | 流式媒体中断与恢复系统 | |
WO2019114700A1 (zh) | 流量分析方法、公共服务流量归属方法及相应的计算机系统 | |
US20080010379A1 (en) | Method and system for content charging | |
SE522068C2 (sv) | Metod och anordning för att åstadkomma radioaccessbärartjänster | |
CN102138313A (zh) | 针对rfc 3313的带内dpi媒体预留修改 | |
CN105828046B (zh) | 一种数据流的传输方法和装置 | |
US20120143658A1 (en) | On net faxing | |
US8508574B2 (en) | Web based conference server and method | |
CN109039775A (zh) | 业务质量监控方法、装置及系统 | |
CN101197770A (zh) | 一种借助于网络实现多媒体数据传输的方法 | |
CN103379125A (zh) | 基于社交网络的多屏互动方法 | |
CN110113306A (zh) | 分发数据的方法和网络设备 | |
CN103327129B (zh) | 针对多wan口网关设备的域名解析方法 | |
CN107592554A (zh) | 直播视频转发方法及装置 | |
CN101557354A (zh) | 一种在在线客服中发送图片的方法 | |
CN110113298A (zh) | 数据传输方法、装置、信令服务器和计算机可读介质 | |
CN107517247A (zh) | 一种应用于金融行业的socket接口转http接口的系统及方法 | |
KR20040015764A (ko) | Atm/dsl 서비스 네트워크에서의 원격 서비스 제어 | |
WO2007068178A1 (fr) | Procédé de génération de ticket d'appel, procédé, système, dispositif d'envoi de ticket d'appel et fonction de collecte d'informations de facturation (ccf) | |
CN106506578B (zh) | 数据分享系统及方法 | |
JP2006303980A (ja) | 多地点配信システムおよび方法 | |
US7911964B1 (en) | Entity based quality of service response for packet service sessions | |
CN104184570A (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 |