【问题标题】:Proxy a rtmp stream代理一个rtmp流
【发布时间】:2015-04-22 17:57:40
【问题描述】:

如何代理 rtmp 流?

我的局域网上有两个树莓派流式传输来自 raspicam 的实时视频。每个树莓派将视频发送到 ffmpeg,ffmpeg 包装在 flv 中并发送到 crtmpserver。

第三台使用 nginx 的服务器有一个静态 html 页面,其中包含两个 jwplayer 实例,每个实例都指向一个树莓派。

设置就像this one

网络服务器使用身份验证,我也希望流不要公开。

我正在考虑尝试 nginx-rtmp-module,但我不确定它是否对我有帮助。此外,它似乎处于休眠状态并且有许多未解决的问题。

我愿意接受建议,在此先感谢!

【问题讨论】:

    标签: nginx ffmpeg video-streaming rtmp


    【解决方案1】:

    您可以使用MonaServerthis client(将其复制到 MonaServer 的 www/ 目录)侦听 udp 端口​​ 6666 并等待名为“file”的 flv 文件发布。

    那么您应该已经可以使用 jwplayer(地址为 rtmp:///file)或任何其他播放器播放您的流了。 MonaServer 支持 HTTP 协议,因此您可以根据需要在没有 nginx 的情况下托管您的 html 页面。

    现在如果你想过滤对“文件”的订阅,你需要在你的 main.lua 脚本中写一个client:onSubscribe 函数,就像这样:

    function onConnection(client)
        INFO("Connection from ",client.address)
    
        function client:onSubscribe(listener)
           INFO("Subscribing to ", listener.publication.name, "...")
    
           if not client.right then
              error("no rights to play it")
           end
        end
    end
    

    (这里你需要更改“not client.right”并为你的目的实现你的认证功能)

    更进一步,您可以使用另一个支持 RTMFP 的 Flash 视频客户端来处理大量客户端。联系我(jammetthomas AT gmail.com)了解更多信息。

    【讨论】:

      猜你喜欢
      • 2017-10-28
      • 2013-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2012-08-17
      • 2023-04-02
      相关资源
      最近更新 更多