0

Summary

I m have to display webcam on screen, record this and allow user to take snapshots. But takesnapshot return false, and no screenshot was created

My code:

        static void Main(string[] args)
        {
          
            Core.Initialize();
            LibVLC libvlc = new LibVLC(enableDebugLogs: true);
            var player = new MediaPlayer(libvlc);
          var  webCamMedia = new Media(libvlc, "dshow://", FromType.FromLocation);

            webCamMedia.AddOption(":dshow-vdev=Logitech StreamCam");
         //   webCamMedia.AddOption(":dshow-adev=Mikrofon (Logitech StreamCam)");
         //   webCamMedia.AddOption(":live-caching=300");

            webCamMedia.AddOption($":sout=#duplicate{{dst=display,dst=\"transcode{{vcodec=h264}}:standard{{access=file,mux=mp4,dst=recording{DateTime.Now.Ticks}.mp4}}\"}}");

            player.EnableHardwareDecoding = true;
            player.Play(webCamMedia);
            for (int i = 0; i < 10; i++)
            {
                Thread.Sleep(5000);
                var res = player.TakeSnapshot(0, $"snapshot{DateTime.Now.Ticks}.png", 0, 0);
            }
          
            player.Stop(); 

        }

what i do wrong ?

kashiash
  • 21
  • 4

1 Answers1

0

I think that it's the intended behavior. There is a new API in libvlc v4 to handle screenshots, but I don't know if that makes things better.

cube45
  • 3,429
  • 2
  • 24
  • 35