C# 将RTSP存储到文件位置

C# 将RTSP存储到文件位置,c#,winforms,rtsp,vlc,C#,Winforms,Rtsp,Vlc,我能够通过C#Winform应用程序在Windows7 64位计算机上传输rtsp。这是我使用的库-下面是播放RTSP流的代码示例: LocationMedia media = new LocationMedia(@"rtsp://192.168.137.73:554/live.sdp"); vlcControl1.Media = media; vlcControl1.Play(); 我想将流存储到我的PC中的一个文件中,只需单击一个按钮,然后用另一个按钮停止。如何实现这一点?以下是代码: V

我能够通过C#Winform应用程序在Windows7 64位计算机上传输rtsp。这是我使用的库-下面是播放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();

从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);

`

您好,此代码将rtsp流存储到mp4文件中?我有一个项目,在那里我接收带有H264有效负载的RTP数据包,这个代码对我有用吗?@user1662033:是的,它将rtsp流存储到mp4文件中。您可以尝试此代码并检查它是否适合您。请稍候。。这不是本地流的代码吗?在我的情况下,我有一个服务器在我的局域网流RTP给我。。该文件为.mkv文件(流路径为“rtsp://192.168.30.11/MyVideo.mkv"). 代码是否适用于此?尝试使用代码-I get exception“媒体尚未初始化时无法设置选项”。代码在这个问题中-您能用文本解释一下这是如何解决这个问题的吗?要使rtsp协议正常工作,您需要输入这一行VlcContext.StartupOptions.AddOption(“--rtsp tcp”);对于调试,我添加了这些调试语句,然后您可以添加Vinshi发布的答案。
var opts = new string[] { @":sout=file/ogg:C:\video.ogg" };
vlc.MediaPlayer.Play(new Uri(videoURI), opts);