Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在C语言中通过VLCAPI实现视频流#_C#_.net_Video Streaming_Vlc_Libvlc - Fatal编程技术网

C# 如何在C语言中通过VLCAPI实现视频流#

C# 如何在C语言中通过VLCAPI实现视频流#,c#,.net,video-streaming,vlc,libvlc,C#,.net,Video Streaming,Vlc,Libvlc,我正在为视频广播做一个小型家庭项目。我找到了一些示例,但它不起作用,因为需要旧版本的库0.8.6。所以我找到了它,但当我试图从API获取组件时,在非托管代码上有例外。所以也许有人和VLC合作进行视频广播,如果你有任何例子的话,我想听听 我找到了解决方案并使用了包装器 我已经安装了nuget软件包并编写了控制台应用程序: class Program { static void Main(string[] args) { FileInfo file = new Fi

我正在为视频广播做一个小型家庭项目。我找到了一些示例,但它不起作用,因为需要旧版本的库0.8.6。所以我找到了它,但当我试图从API获取组件时,在非托管代码上有例外。所以也许有人和VLC合作进行视频广播,如果你有任何例子的话,我想听听


我找到了解决方案并使用了包装器 我已经安装了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


我找到了一个解决方案并使用了包装器 我已经安装了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