我已经使用VideoView构建了一个媒体播放器,可以使用多播从VLC流式传输。我已经提供了网址,应用程序确实传输了视频。但是,当我检查网络活动时(在资源监视器中),它显示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}
答案 0 :(得分:0)
我认为RTSP的重点在于按需设置单播流。这按预期工作。如果需要,请使用RTP多播或RTSP。