我正在使用Digital Rapids编码器进行流式传输(RTMP)。我想在同一个VLAN中安装一个Flash服务器来读取流。因此,我下载了Adobe Media Server,并希望向集成的Adobe Sample Video Player流式传输。但是,Digital Rapids无法识别我的目标服务器URL。我想这是因为端口问题。
检查我的AMS服务器上的端口情况(cmd - > netstat -an),我意识到端口1935(接收RTMP)只是本地监听(127.0.0.1:1935)而不是外部(我想要有0.0.0.0:1935)。该应用程序似乎没有强制端口打开(我没有任何防火墙)。
查看xml代码(../conf/defaultRoot/defaultVHost/Vhost.xml),看起来该应用只能在本地而不是远程运行:< / p>
<Proxy>
<!-- A vhost may be configured to run apps locally or remotely. -->
<!-- A vhost that is not explicitly defined gets aliased to -->
<!-- the default vhost and is configured as such. A proxy server -->
<!-- runs all its apps remotely, while a normal server runs all -->
<!-- its apps locally. The following parameter defines whether -->
<!-- this vhost is running local or remote apps, the default is -->
<!-- local. It may be set to either local or remote -->
<Mode>local</Mode>
<RequestTimeout>2</RequestTimeout>
<Anonymous>false</Anonymous>
<CacheDir enabled="false" useAppName="true">
<Path></Path>
<MaxSize>32</MaxSize>
</CacheDir>
<LocalAddress></LocalAddress>
<RouteTable protocol="">
<RouteEntry></RouteEntry>
</RouteTable>
<EdgeAutoDiscovery>
<Enabled>false</Enabled>
<AllowOverride>true</AllowOverride>
<WaitTime>1000</WaitTime>
</EdgeAutoDiscovery>
<!--
<SSL>
<SSLVerifyCertificate>true</SSLVerifyCertificate>
<SSLCACertificatePath></SSLCACertificatePath>
<SSLCACertificateFile></SSLCACertificateFile>
<SSLVerifyDepth>9</SSLVerifyDepth>
<SSLCipherSuite>ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH</SSLCipherSuite>
</SSL>
-->
<AggregateMessages enabled="true">
<!-- <MaxAggMsgSize>65536</MaxAggMsgSize> -->
<!-- <MaxAggMsgDuration>10000</MaxAggMsgDuration > -->
</AggregateMessages>
</Proxy>
您是否有任何关于代码或简单配置的建议或建议?
非常感谢您的帮助!
答案 0 :(得分:0)
我最终找到了问题的根源。它不是基于代码的。事实证明,另一个需要访问端口1935的应用程序已安装在我的服务器上,并优先于AMS。我卸载了它,AMS现在收到了流。希望这有帮助!