[发明专利]提高nginx-rtmp拉流服务质量的方法及装置有效
申请号: | 201710761733.0 | 申请日: | 2017-08-30 |
公开(公告)号: | CN109428864B | 公开(公告)日: | 2021-11-09 |
发明(设计)人: | 何绍富;张文明;陈少杰 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;H04L12/24 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;吴欢燕 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 nginx rtmp 服务质量 方法 装置 | ||
本发明提供提高nginx‑rtmp拉流服务质量的方法及装置,所述方法包括:S1,当后端服务连接出现异常时,调用中继会话关闭方法,判断当前中继会话是否为拥有主备的拉流;S2,若判断结果为是,则从所述中继会话中获取会话加载时所注册的主备模式间切换的异步处理事件,并为所述异步处理事件添加第一定时器;S3,关闭当前中继会话,待所述第一定时器时间到后,调用所述异步处理事件所对应的事件处理函数,为后端服务器创建新的服务连接。本发明通过在nginx‑rtmp中添加主备逻辑,当某个服务连接断开时,启动主备用服务之间的无缝切换进行拉流转发,能使拉流转发服务质量提高一个量级,且前端展示基本不受影响。
技术领域
本发明涉及直播技术领域,更具体地,涉及提高nginx-rtmp拉流服务质量的方法及装置。
背景技术
如何保证直播的流畅性和稳定性,保证用户的观看直播体验是每个直播平台都会关注的焦点,而目前在直播流CDN拉流转发到前端展示的过程中,偶然会出现后端服务与CDN服务连接异常导致前端用户观看直播的过程中卡住或者黑屏,给用户不好的直播体验,用户可能会选择直接退出直播间。
目前解决后端服务与CDN服务连接异常的问题,通常需要人工定位关键节点,并重启相关服务。这种方案存在的问题是定位关键节点时间会较长,因为CDN后端可能又有多次跳转,使得恢复服务连接的时间较长,进而导致前端展示很长时间没有响应,用户体验仍然较差。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的提高nginx-rtmp拉流服务质量的方法及装置。
根据本发明的一个方面,提供提高nginx-rtmp拉流服务质量的方法,包括:
S1,当后端服务连接出现异常时,调用中继会话关闭方法,判断当前中继会话是否为拥有主备的拉流;
S2,若判断结果为是,则从所述中继会话中获取会话加载时所注册的主备模式间切换的异步处理事件,并为所述异步处理事件添加第一定时器;
S3,关闭当前中继会话,待所述第一定时器时间到后,调用所述异步处理事件所对应的事件处理函数,为后端服务器创建新的服务连接。
其中,在所述步骤S1之前还包括:
S0,在nginx-rtmp模块配置文件的pull配置项中添加backups参数,所述backups参数的值为备用拉流的url;
S01,通过解析所述配置文件对主备模式进行初始化,并根据解析结果创建主备模式间切换的异步处理事件和第二定时器,并注册所述异步处理事件触发后的事件处理函数;
S02,启动第二定时器任务,若主服务连接异常,则待所述第二定时器超时后,执行所述事件处理函数。
其中,所述步骤S01进一步包括:
S011,解析所述配置文件,将解析所述backups参数所得的结果和解析主服务所对应的url所得的结果同时存入拉流所对应的target结构中,并在所述target结构中添加初始化后的控制切换标识;
S012,根据所述target结构中的数据,创建主备模式间切换的事件处理对象;
S013,注册所述事件处理对象的事件处理函数,并为所述事件处理对象添加第二定时器。
其中,步骤S011中解析所述配置文件进一步包括:
在nginx-rtmp relay模块中添加解析backups参数的命令,将主服务和备用拉流所对应的url均解析为ip地址、端口地址和http参数。
其中,所述步骤S012进一步包括:
从nginx-pool中申请一个新的事件存储空间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710761733.0/2.html,转载请声明来源钻瓜专利网。