1

我已经使用 VideoView 构建了一个媒体播放器,以使用多播从 VLC 流式传输。我已经提供了 url,并且应用程序确实流式传输了视频。但是,当我检查网络活动(在资源监视器中)时,它显示 VLC 已连接到多播地址以及 android 设备的 IP,因此应用程序正在单播流式传输。

我正在使用的代码:

VideoView videoView = (VideoView) findViewById(R.id.video);

Uri uri= Uri.parse("rtsp://192.168.137.159:8554/test.sdp");
videoView.setVideoURI(uri);
videoView.start();

我还确保不会使用以下代码过滤掉多播数据包:

WifiManager wifi = (WifiManager)getSystemService( Context.WIFI_SERVICE );
if(wifi != null)
{
    WifiManager.MulticastLock lock = wifi.createMulticastLock("Log_Tag");
    lock.acquire();
}

为了告诉 VideoView 从多播地址而不是直接从服务器流式传输,我还缺少其他什么吗?

我已经使用以下参数将 VLC 设置为流式传输到多播地址:#rtp{mux=ts,dst=239.255.12.42,sdp=rtsp://:8554/test.sdp}

4

1 回答 1

0

我认为 RTSP 的重点在于按需设置单播流。这按预期工作。如果需要,请使用 RTP 多播,也不要使用 RTSP。

于 2013-12-09T00:17:44.603 回答