我用VS编译了live555源代码,如果我尝试在本地传输文件,它就可以正常工作
e.g。
命令行: live555.exe myfile.mp3 VLC连接字符串 RTSP://169.254.1.231:8554 / myfile.mp3
但如果我尝试通过互联网传输,VLC与live555通信,但live555不会向他发送数据
命令行 live555.exe myfile.mp3 VLC连接字符串 RTSP://80.223.43.123:8554 / myfile.mp3
我已经转发了8554端口(都是tcp / udp)并尝试禁用我的防火墙,但这并没有解决。
怎么样?
答案 0 :(得分:3)
进行问题排查:
您是否通过RTSP传输RTP:您是否检查了VLC中的“在RTSP上使用RTP(TCP)”选项?您可以在首选项下根据首选项进行检查:input / codecs-> Demuxers-> RTP / RTSP。您可以尝试查看这是否解决了问题,在这种情况下可能会阻止UDP。
你说的是转发。你的意思是从一台机器到RTSP服务器的端口转发?如果是这样 - >如果您没有通过RTSP进行RTP,那么您还需要转发与RTSP端口(554或8554)不同的媒体端口。在RTSP SETUP期间交换这些端口。如果您通过RTSP进行RTP,则媒体在554或8554上交错,您不必担心这一点。
另外,另一个很好的调试工具是live555 openRTSP应用程序。您可以从命令行运行它,并为RTSP上的RTP指定“-t”,这基本上是VLC选项的作用。您可以为HTTP隧道等指定“-T”,它允许您将捕获的媒体数据包写入文件等。