为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 C# 中通过 VLC api 流式传输视频

如何在 C# 中通过 VLC api 流式传输视频

C#
侃侃无极 2021-11-07 20:38:10
我正在从事视频广播的小型家庭项目。我找到了一些示例Example,但它不起作用,因为需要旧版本的库 0.8.6。所以我找到了它,但是当我尝试从 API 获取组件时,我对非托管代码有例外。所以也许有人与 VLC 合作进行视频广播,如果您有任何示例建议,我想。
查看完整描述

1 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

我找到了一个解决方案并使用了Vlc.DotNet包装器我已经安装了 nuget 包并编写了控制台应用程序:


 class Program

{

    static void Main(string[] args)

    {

        FileInfo file = new FileInfo(@"C:\Users\Jman\VideoMaker.avi");


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

        // Default installation path of VideoLAN.LibVLC.Windows

        var libDirectory =

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


        using (var mediaPlayer = new Vlc.DotNet.Core.VlcMediaPlayer(libDirectory))

        {


            var mediaOptions = new[]

            {

                ":sout=#rtp{sdp=rtsp://192.168.1.162:8008/test}",

                ":sout-keep"

            };


            //mediaPlayer.SetMedia(new Uri("http://hls1.addictradio.net/addictrock_aac_hls/playlist.m3u8"),

            //    mediaOptions);


            mediaPlayer.SetMedia(file, mediaOptions);


            mediaPlayer.Play();


            Console.WriteLine("Streaming on rtsp://192.168.1.162:8008/test");

            Console.WriteLine("Press any key to exit");

            Console.ReadKey();

        }

    }

}

然后我运行 VLC 媒体播放器并输入我的链接。我得到了我的视频流


rtsp://192.168.1.162:8008/test


查看完整回答
反对 回复 2021-11-07
  • 1 回答
  • 0 关注
  • 307 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信