将RTSP存储到文件位置



我能够通过C#Winform应用程序在Windows 7 64位机器上流式RTSP。这是我使用的库-VLCDOTNET,这是播放RTSP流的代码样本:

LocationMedia media = new LocationMedia(@"rtsp://192.168.137.73:554/live.sdp");
vlcControl1.Media = media;
vlcControl1.Play();

我想在按钮单击按钮上将流将流存储到我的PC中,然后使用另一个按钮停止。我该如何实现?

这是代码:

Vlc.DotNet.Core.Medias.MediaBase media1
= new Vlc.DotNet.Core.Medias.PathMedia("rtsp://192.168.137.73:554/live.sdp");
media.AddOption(":sout=#transcode{vcodec=theo,vb=800,
scale=1,acodec=flac,ab=128,channels=2,samplerate=44100}:std{access=file,mux=ogg,
dst=D:\123.mp4}");
VlcControl control = new VlcControl();
control.Media = media;
control.Play();
VlcContext.StartupOptions.IgnoreConfig = true;
VlcContext.StartupOptions.LogOptions.LogInFile = true;
VlcContext.StartupOptions.LogOptions.ShowLoggerConsole = true;
VlcContext.StartupOptions.LogOptions.Verbosity = VlcLogVerbosities.Debug;
// Disable showing the movie file name as an overlay
// VlcContext.StartupOptions.AddOption("--no-video-title-show");                
// VlcContext.StartupOptions.AddOption("--no-audio");
VlcContext.StartupOptions.AddOption("--rtsp-tcp"); //this line was important to make this work

vlc.dotnet.core 2.1.62,这样做的方法是使用VLC控件上的 .Play的额外opts参数。

var opts = new string[] { @":sout=file/ogg:C:video.ogg" };
vlc.MediaPlayer.Play(new Uri(videoURI), opts);

`

最新更新