Не могли бы вы подсказать мне, как я могу непрерывно выполнять потоковую передачу моего экрана?
Я использую библиотеки: LibVLCSharp, LibVLCSharp.WPF, VideoLAN.LibVL C. Windows на NuGet
Я не знаю, как обновлять поток непрерывно, и второй videoView не может отобразить изображение экрана
Это мой код, но он не работает.
Core.Initialize(); // instantiate the main libvlc object
_libvlc = new LibVLC();
// Stream screen
var mediaPlayer = new MediaPlayer(_libvlc);
vv.MediaPlayer = mediaPlayer;
string[] options = { ":sout=#duplicate{dst=display{noaudio},dst=rtp{mux=ts,dst=10.0.100.114,port=8080,sdp=rtsp://10.0.100.114:8080/screen.sdp}" };
var stream = new MemoryStream();
var media = new Media(_libvlc, stream, options);
mediaPlayer.Play(media);
await Task.Run(() =>
{
while (true)
{
vv.Dispatcher.Invoke(() =>
{
// HOW CAN I UPDATE THE STREAM ????
//stream.Dispose();
//stream.Close();
//var bytes = CaptureScreen();
//stream = new MemoryStream(bytes);
//media = new Media(_libvlc, stream, options);
//mediaPlayer.Media.Dispose();
//mediaPlayer.Media = media;
//mediaPlayer.Play();
});
Thread.Sleep(100);
}
});
// Display from stream
vv1.MediaPlayer = new MediaPlayer(_libvlc);
var media = new Media(_libvlc, "rtsp://10.0.100.114/screen.sdp", FromType.FromLocation);
vv1.MediaPlayer.Play(media);
Спасибо.
P / S: Мой первый пост здесь: https://forum.videolan.org/viewtopic.php?f=4&t=152462