将nginx流模块与Buildroot配合使用

0sgqnhkj  于 2022-10-06  发布在  Nginx
关注(0)|答案(1)|浏览(221)

我有一个我继承的系统,正在努力寻找一个替代的视频编码板。我们尝试使用的主板不允许更改RTSP端口。我正在尝试使用nginx端口转发,在系统其余部分期望看到的原始端口上广播来自新视频编码器的帧。

我正试着做这样的事情

stream{
    server {
        listen 192.168.0.127:8080;         #original port
        proxy_pass 192.168.0.127:8554;     #new video encoder port
    }
}

该系统使用Buildroot创建图像,我在图像中加载了nginx 1.15.7。在menuconfig中,我找到了“流代理模块”,这是我使用这个流指令所需要的吗?

查看STREAM的文档,它提到为了使用STREAM指令“--WITH-STREAM”必须包括在内,当我尝试并使用它时,我得到了一条错误消息“UNKNOWN DIRECTION--WITH-STREAM”,根据这个线程https://serverfault.com/questions/858067/unknown-directive-stream-in-etc-nginx-nginx-conf86,我需要使用一个加载模块并提供我需要的模块的目标文件的路径。然而,在我正在构建的图像中,我似乎找不到任何对象文件。

我有点困惑,因为看着这个页面http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html,有另一个模块似乎不需要使用STREAM指令来执行代理传递?

关于下一步在哪里寻找一些东西来让它运行,有什么建议吗?

我正在研究的另一个选择是使用Socat,我将其加载到一个图像中,并试图使用Socat tcp4开始-听着,但我想不出如何实现这一点。

ruarlubt

ruarlubt1#

如果它只是将一个TCP端口转发到另一个端口,则以下命令应执行此任务:

socat -d -d TCP4-LISTEN:8080,reuseaddr,bind=192.168.0.127,fork TCP4:192.168.0.127:8554

相关问题