1

我在我的 Android 应用程序中使用 libVLC 从我通过 WiFi 连接的相机通过 rtsp 流式传输视频。

一般来说,流媒体工作正常,但如果我通过 WiFi(不提供互联网)连接相机并且还打开了移动数据,则似乎存在流媒体问题。我bindProcessToNetwork用来确保流媒体是通过我的 WiFi 网络完成的。在某些设备(如搭载 Android 9 的华为 Mate 10)上,流媒体工作正常(似乎使用 WiFi 并忽略开启移动数据),但在其他设备(如搭载 Android 10 的三星 Note 10)上,当我使用新的网络 API 时似乎 VLC 正在尝试通过移动数据进行连接,并且只有在失败一段时间后,它才决定使用我相机的 WiFi(尽管我使用了bindProcessToNetwork)。我收到错误日志

VLC-std: Unable to determine our source address: This computer has an invalid IP address: 0.0.0.0

令人惊讶的是,如果我从系统设置连接到我的 WiFi,它工作正常......

我发现一些评论说媒体流是在一个单独的过程中完成的,它忽略了调用,bindProcessToNetwork但在某些设备(和 Android 版本)上似乎可以工作,而在其他设备上则不行。

我已经在 Videolan 论坛上问过这个问题,但没有运气。

有没有办法强制 libVLC 使用指定的网络进行流式传输?

4

1 回答 1

0

我不认为 LibVLC 可以做到这一点,而且它有点超出了多媒体框架的范围。

如果我是你,我会在应用程序端处理这个问题,使用如何以编程方式连接到 Android 中的特定 Wi-Fi 网络?

于 2021-02-01T02:18:15.460 回答