我一直试图使用nginx + rtmp模块从我的openshift墨盒中流出flv内容。
在我的本地机器上,通过附加的配置,一切都可以正常工作(我使用ffplay进行测试,例如ffplay rtmp://localhost:8080/test/streamkey)
在openshift上尝试使用相同的配置时,会出现以下错误:
HandShake: Type mismatch: client sent 3, server answered 60 f=0/0
RTMP_Connect1, handshake failed.但是,如果我启用端口转发并使用ffplay rtmp://127.0.0.1:8080/ test /streamkey测试流服务器,那么一切都正常。这是我的港口货运:
rhc port-forward myappname
Checking available ports ... done
Forwarding ports ...
To connect to a service running on OpenShift, use the Local address
Service Local OpenShift
------- -------------- ---- -----------------
nginx 127.0.0.1:8080 => 127.10.103.1:8080我的墨盒是"diy-0.1“墨盒。Nginx1.7.6(也测试了1.4.4) +rtmp-模块。
我怀疑某些代理(apache?)存在一些问题。它使用openshift来处理齿轮,也许它不允许rtmp头(?)
注意:只配置nginx http--很好。
有人能帮忙吗?我被困住了,我想这是我第一次问堆叠溢出的问题:-)
nginx配置(NB:"play“路径和IP:PORT使用openshift环境变量):
rtmp {
server {
listen 127.10.103.1:8080;
chunk_size 8192;
application test {
play /var/lib/openshift/54da37644382ece45c000139/app-root/runtime/repo/public;
}
}
}发布于 2015-02-11 16:39:09
在OpenShift Online上的应用程序前面有一个apache代理,并且有可能内容试图被流为HTTP流量而不是RTMP流量,这就是为什么您要获得内容不匹配的原因,但是如果您通过端口转发来实现它,您就可以直接访问您的应用程序并绕过代理。这就是为什么它可以很好地与港口前进。目前无法通过公共ip绕过apache反向代理,有关如何将请求路由到应用程序的更多信息,请参见本开发人员门户文章:https://developers.openshift.com/en/managing-port-binding-routing.html。
https://stackoverflow.com/questions/28449559
复制相似问题