ios - 使用 RTSP 传输视频

标签 ios video networking streaming rtsp

我有一个 iOS 应用程序,它为流视频创建 RTSP URL,然后我可以使用该 URL 在 VLC 中播放视频。

当我与运行 VLC 的计算机位于同一 WiFi 网络时,我的 IP 地址是:rtsp://192.168.0.134/

该网址可以正常播放视频流。

当我切换 WiFi 网络时,我的 URL 更改为 rtsp://172.20.10.2/

但现在我使用的是不同的 wifi 网络,所以我的视频不会流式传输。

为什么手机和 VLC 在同一 wifi 网络时视频流,但当手机在不同 wifi 网络时视频流不工作?

最佳答案

许多 WiFi 网络仅充当接入点,其他接入点之间没有合作 - 不像企业 Wifi 或机场 wifi,其中各个接入点都通过 Controller 合作,您可以漫游。

鉴于您在两个不同的 WiFi 网络上,每个网络都有自己的私有(private)寻址范围(您可以从 IP 地址中看出这一点),那么您的上游网络将需要一种方法将地址从一个网络映射到另一个网络。

如果两个 WiFi 网络都是您自己的,那么解决此问题的通常方法是让 Wifi 网络向上游网络询问它们的地址以及它们应该提供的地址范围。

更新

假设您想从任何网络的 iOS 设备流式传输到播放器,通常的方法是通过流媒体服务器。

流程是:

iOS device ---> Streaming Server ---> Device with Player

如果您希望 iOS 设备跨网络工作,则 iOS 设备需要公开可用的流媒体服务器 URL 或 IP 地址。然后 iOS 设备将流发送到服务器,服务器可能会或可能不会重新打包它,也可能会存储它,以便稍后可用或“时移”。播放器连接到流媒体服务器以访问流并从那里播放。

这里有一个使用通用网络播放器和通用流媒体引擎的示例,这可能会帮助您指明正确的方向并解释一些常见步骤:

关于ios - 使用 RTSP 传输视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37462735/

相关文章:

ios - Xcode 4.4,使用 ARC 为 iOS 4.2 构建应用程序

objective-c - MPMoviePlayerController 音频仅在应用程序激活后

java - java中的最大对象大小

python - 如何在 Windows 上使用 Python 访问远程文件系统?

ios - 使用搜索栏的问题

ios - 在 iOS 中加密数据

iphone - UIModalTransitionStylePartialCurl 不会触发 ViewWillAppear

video - Windows中的ffmpeg关键帧提取

ios - 缺少音频/视频 SDP 问题

php - 如何根据用户的国家显示不同的主页?