我正在尝试在我的LibVLC rtsp流中实现一个记录按钮。录制有效,但是当我尝试录制时,它仅录制RTSP流3秒钟,录制时,流完全停止。如何在录制RTSP流时使其连续流?代码如下。我仍在学习C#,请给我一次机会!
void RecordButton_Click(object sender, RoutedEventArgs e)
{
var currentDirectory = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
var destination = Path.Combine(currentDirectory, "record.mp4");
rtsp1.AddOption(":screen-fps=24");
rtsp1.AddOption(":sout=#transcode{vcodec=h264,vb=0,scale=0,acodec=mp4a,ab=128,channels=2,samplerate=44100}:file{dst=record1.mp4}");
rtsp1.AddOption(":sout-keep");
VideoView2.MediaPlayer.Play(rtsp1); // start recording
//await Task.Delay(5000); // record for 5 seconds
System.Threading.Thread.Sleep(5000);
VideoView2.MediaPlayer.Stop(); // stop recording and saves the file
}
虽然您可以使用VLC应用程序本身来做到这一点,但它属于libvlc API尚不具备的少数事物之一,因此对LibVLCSharp不可用。