0

我目前有代码返回一个有效的 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);
4

1 回答 1

1

"--rtsp-tcp"作为 LibVLC 选项或:rtsp-tcp作为媒体选项传递。

https://wiki.videolan.org/VLC_command-line_help/

于 2021-02-04T22:11:34.617 回答