如何在 C# 中通过 VLC api 流式传输视频
How to streaming video via VLC api in C#
我正在从事视频广播的小型家庭项目。我找到了一些示例 Example,但它不起作用,因为需要旧版本的库 0.8.6。所以我找到了它,但是当我试图从 API 获取组件时,非托管代码出现异常。所以也许有人使用 VLC 进行视频广播我想请您提供任何示例。
我找到了解决方案并使用了 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 媒体播放器并进入我的 link。我得到了我的视频流
rtsp://192.168.1.162:8008/test
我正在从事视频广播的小型家庭项目。我找到了一些示例 Example,但它不起作用,因为需要旧版本的库 0.8.6。所以我找到了它,但是当我试图从 API 获取组件时,非托管代码出现异常。所以也许有人使用 VLC 进行视频广播我想请您提供任何示例。
我找到了解决方案并使用了 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 媒体播放器并进入我的 link。我得到了我的视频流
rtsp://192.168.1.162:8008/test