0

I have a C# application which uses a LibVLC VideoView. I am trying to play a video both as a small preview in my application, and in full screen on an external monitor.

So far I am using the following solution: When creating the MediaPlayer object, I'm using the command line options "--clone-count", "--video-x" and "--video-y". This creates a seperate window ("Direct3d Output"), which is located on the secondary monitor. However, I cannot switch this "Direct 3D output" to full screen, so that it has no Window-Borders and the Windows-Taskbar is not visible. Is there any way to do that? Or is there any other reasonable solution to clone the video from the VideoPlayer-Control to a separate monitor in fullscreen?

My Code:

    string[] vlcParameter = new string[]
    {
        @"--video-splitter=clone",
        @"--clone-count=2",
        @"--video-x=" + secondaryMonitor.WorkingArea.Left,
        @"--video-y=" + secondaryMonitor.WorkingArea.Top,
        @"--video-on-top"
    };
    vlc = new LibVLC(true, vlcParameter);

2 Answers2

1

There's no way to do that. With libvlc 3, 1 media player = 1 Video view, and I don't think they have plans to change that.

You can create two video players but they might be out of sync a little.

cube45
  • 3,429
  • 2
  • 24
  • 35
  • there might be vague plans to support mutliple vouts in v4 through the multi track selection, no work done on it so far AFAIK. – mfkl Mar 24 '21 at 05:56
0

I found a solution for a pseudo-fullscreen clone with the following Command line parameters:

                        @"--video-splitter=clone",
                        @"--clone-count=2",
                        @"--video-x=" + x,
                        @"--video-y=" + y,
                        @"--no-video-deco",
                        @"--no-embedded-video",

This works as long as the video has the same resolution as the monitor. Are there command line parameters that determine the size of the "Direct3D Output" window. The --Width and --Height parameters do not work.