我目前有代码返回一个有效的 URI 用于从 IP 摄像机流式传输。我把那个 uri 传递给一个流式传输的对象。我可以配置对象以便它们通过 TCP 流式传输吗?VLC 应用程序有一个设置,我可以通过 TCP 流式传输相同的 URI,因此我知道相机具有该功能。当我使用 VLC 应用程序时,它只是通过端口 554 强制 RTP 用于 TCP 视频流。目前使用此代码,它通过 554 设置 RTSP 并开始从不同端口通过 UDP 流式传输 RTP。我错过了什么?
Establish Objects
_libVLC = new LibVLC();
_mp = new MediaPlayer(_libVLC);
videoView.MediaPlayer = _mp;
////GET local uri////
bool check = Uri.IsWellFormedUriString(local_uri.Uri.ToString(), UriKind.RelativeOrAbsolute);
if (check)
{
_mp.Play(new LibVLCSharp.Shared.Media(_libVLC, local_uri.Uri));
check = false;
uri 字符串返回格式为 Rtsp://MY-IP
我已经尝试了其他一些人推荐的方法,将其重新格式化为... rtsp-tcp://MY-IP,但它似乎不起作用(或者我做错了)。
//////////////////////////////// 编辑: //////////////// ////
LibVLCSharp.Shared.Media media = new Media(_libVLC, local_uri.Uri);
media.AddOption(":rtsp-tcp"); //<---- Is this passing the option correctly.
_mp.Play(media);