Stream multiple displays using one VLC instance
Solution 1
VLM is the way to go for multiple streams.
Here is a guide from the VLC docs on how to do multiple streaming.
I created two streams, both with the input of screen://
and the output being:
#transcode{vcodec=MJPG,vb=800,fps=20,scale=0.5,acodec=none,user=admin,pwd=admin}:duplicate{dst=http{mux=mpjpeg,dst=:8181/screen1},dst=display}
Obviously with a different URL path for the different streams.
To add the screen options on the second and third screens use the setup option
command.
Here are all of the commands I issued to make it work on my machine:
new Screen1 broadcast enabled
setup Screen1 input screen://
setup Screen1 output #transcode{vcodec=MJPG,vb=800,fps=20,scale=0.5,acodec=none,user=admin,pwd=admin}:duplicate{dst=http{mux=mpjpeg,dst=:8181/screen1},dst=display}
new Screen2 broadcast enabled
setup Screen2 input screen://
setup Screen2 output #transcode{vcodec=MJPG,vb=800,fps=20,scale=0.5,acodec=none,user=admin,pwd=admin}:duplicate{dst=http{mux=mpjpeg,dst=:8181/screen2},dst=display}
setup Screen2 option screen-width=1920
setup Screen2 option screen-height=1080
setup Screen2 option screen-top=0
setup Screen2 option screen-left=-1920
control Screen1 play
control Screen2 play
Solution 2
I had a similar problem; I wanted have a 3-wide array of 1080p displays. My solution was to invent a custom resolution for the host computer, in this case 5760x1080. I then installed screen splitting software; I think it was SplitView. One annoying thing about using such a large display with VLC is that the frame rate dropped and I abandoned it.
Related videos on Youtube
Steve LaBiss
Updated on September 18, 2022Comments
-
Steve LaBiss over 1 year
Trying to figure out a way to start an instance of VLC from the command line to stream 3 displays on a Win7 box. We can start an instance of each one individually, and connect to each (though not at the same time, hence the need for 1 instance; we are assuming this will fix it).
Constraints & progress thus far:
- HTTP stream/connect method with authentication = working individually
- Same IP and Port (192.168.x.x & 8181 respectively) = working individually
- Different paths (/screen1, /screen2, /screen3) = working individually
- Running separate instances using multiple IP's and/or NIC's = works as alt solution; not desirable as final solution
Sample cmd string for primary monitor with local display option (nothing fancy):
vlc screen:// :screen-fps=20.000000 :live-caching=300 :sout=#transcode{vcodec=MJPG,vb=800,fps=20,scale=0.5,acodec=none,user=admin,pwd=admin}:duplicate{dst=http{mux=mpjpeg,dst=:8181/screen1},dst=display} :sout-keep
Sample cmd string for second monitor with local display option:
vlc screen:// :screen-fps=20.000000 :screen-width=1600 :screen-height=900 :screen-top=-900 :screen-left=-1280 :live-caching=300 :sout=#transcode{vcodec=MJPG,vb=800,fps=20,scale=0.5,acodec=none,user=admin,pwd=admin}:duplicate{dst=http{mux=mpjpeg,dst=:8181/screen2},dst=display} :sout-keep
Again, is there a way to combine them into same cmd string, resulting in 2+ streams (1 for each monitor/display), within said instance? Started looking at VLM and MOSAIC, but seemed overkill? Stuck for the moment.
-
Shane Di Dona almost 9 yearsAlso, this meant that the actual display had a very weird resolution which the display driver said might damage my monitor; I'm unsure how true that threat is.