在 C# 中使用 VLC 流式传输网络摄像头

时间:2021-02-09 12:27:34

标签: c# video-streaming vlc rtsp libvlc

我目前正在做一个学校项目,我必须在 C# 中使用 VLC 开始我的网络摄像头流。 我面临的主要问题是我认为编解码器(媒体选项)是错误的。 每次我尝试在 VLC 中查看我的 Stream 时,我都会收到一个错误或只是一个没有任何音频的黑屏。

代码:

public void StartStream()
    {

        var currentDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);

        var libDirectory = new DirectoryInfo(Path.Combine(currentDirectory, "libvlc", IntPtr.Size == 4 ? "win-x86" : "win-x64"));

        using (var mediaPlayer = new VlcMediaPlayer(libDirectory))
        {
            var mediaOptions = new[]
            {
                ":sout =#transcode{vcodec=h264,scale=Auto,acodec=s16l,ab=128,channels=2,samplerate=44100,scodec=none}",
                ":rtp{sdp=rtsp:" + _ip + ":8554/live.sdp}",
                ":no-sout-all",
                ":sout-keep"
            };

            //_ip = Local IPv4 Address 

            mediaPlayer.SetMedia(new Uri(@"dshow://"), mediaOptions);

            mediaPlayer.Play();
            MessageBox.Show("Streaming on rtsp://" + _ip + ":8554/live");
        }
    }

亲切的问候,

马可

0 个答案:

没有答案