我使用nginx RTMP模块来广播视频流。数据从远程设备推送到nginx / RTMP服务器,这些设备通过3G连接挂钩,我们支付每MB传输的费用,所以只有当有听众/播放器时才将视频流传输到服务器。
(不幸的是,对于那些不熟悉RTMP的人来说,即使没有听众观看直播,服务器总是“吞咽”数据。)
我找到了一种开始流式传输到nginx / RTMP服务器的方法,所以我可以通过3G保存数据(简单地将web链接重定向到rtmp链接,没问题),但我找不到任何可靠的方法来检测RTMP客户端(播放器)关闭连接,以阻止设备流入nginx。
所以我的问题是:有没有办法指示nginx(或其RTMP模块)在建立与特定RTMP URL的连接时触发事件,信号,创建/删除文件?我可以通过观察创建/删除文件来生活,通过incron,这样就可以了。
或者我是否需要进入API级别甚至更深入的源代码?
答案 0 :(得分:0)
希望你已经得到了答案。无论哪种方式,我建议在https://github.com/arut/nginx-rtmp-module/wiki/Directives
的指令中查找标题,如 exec_publish,exec_record_done,on_play和on_publish 事件on_publish 可能有助于检查状态并允许或拒绝信息流