See a stream by open QR code on the phone

Barabba

Member
Hi, I have this particular request, a friend wants to show to other person's phone a video stream, just providing them a QR code. OBS is able to serve this in such way?

I suppose the QR code contains the URL, OBS will be places on the same LAN (phone is connected by WiFi), can OBS run a simple web server able to show a web page (compatible with most devices) where it shows a stream? These is any addon for it? May you eventually suggest me another program for that? Serviio?
Thank you!
 

AaronD

Active Member
There are lots of free online tools to create QR codes. Paste in what you want the phone to get, and then copy the QR image that it gives you.

It then becomes a question of, "Given a suitable URL, how to stream from OBS to a phone?"
For that, I think you need a server in between. OBS streams to that server, same as any other streaming service, and the phone streams from that server, same as any other streaming service. I don't think they go together directly.

Again, there are several of those to choose from, with different ways that they work. You could actually use a big-name platform over the internet, and inherit the support (and baggage) that goes along with that. Or you could use a server that you install on the same machine as OBS or at least on the same local network, and not require internet at all.
Which way are you leaning towards?
 

Barabba

Member
Hi, thanks for kind answer and help,
absolutely all should work on Local area network, to be sure I explained it correctly I summarize the goal:
DVR has rtsp port opened
A program that host a proper software (could not be OBS if there is something more direct) connecto to RTSP stream and be ready to server phones.
To the phone is shown a QR code contaning something,probably an url for the local server (http? rtp? whatever else format running on most platforms?), I can suppose the most compatible is by browser (but may be a media player too, I have no idea to le latest recent protocols, standards, compatibility, streaming, and so on, so I'm asking here which way is the more compatible/best), the phone connect locally to the server (running something that connects to rtsp of DVR) and shows the camera.
What you suggest to use?
 

AaronD

Active Member
So, conceptually, take a standard DVR -> TV rig, and replace the TV with any number of phones? The DVR is still a literal DVR box, that has a network stream in addition to HDMI?

If I got it right, does the DVR actually have its own server that multiple phones can connect to directly? That would be a question for the DVR company. If so, then you're done.

Or it could be that the DVR's network stream actually goes the wrong way. You might connect it to a streaming service and it records that, and then plays it back to HDMI. So check the directions too. Just because it "has something" doesn't necessarily mean it's useful for what you're doing.
 

Barabba

Member
I think you make a bit of confusion, but thanks to try to help :)
Let's forget about HDMI, the DVR has an RTSP server on its network interface, ready to serve up to 20 clients simoltaniusly, that server is ready to stream individually each camera, and I need to show on phones only one specific camera. No need here to use/think about HDMI.

I prefer the DVR streams (continuosly) only one stream, and have a server (a software) running on a windows server on the same LAN, that connects to that stream and stream it again by unicas or multicast to phones, on the same LAN by WiFi. I hope it's clear :)
Maybe Serviio is abe to do that, it has a web interface, but I don't like the user need to select the stream, I want the stream starts without doing nothing after QR code
 

AaronD

Active Member
...the DVR has an RTSP server on its network interface, ready to serve up to 20 clients simoltaniusly...
...I prefer the DVR streams (continuosly) only one stream, and have a server (a software) running on a windows server on the same LAN, that connects to that stream and stream it again by unicas or multicast to phones, on the same LAN by WiFi. I hope it's clear :)
Why? What's wrong with 20 phones connecting directly to a server that supports that, that you want to insert something in between?

...that server is ready to stream individually each camera, and I need to show on phones only one specific camera...
How are these cameras involved? I think I'm about as confused with that as you are about my mention of HDMI.

---

This is starting to feel like an XY problem to me:
 

Barabba

Member
I suppose there is no chance to open directly and easly an rstp stream by QR code on any phone.
For this reason I need to insert something between, I'm looking for that, any suggestion?
I need to show only one camera.
 

chrisw63

New Member
vMix can do this. It has a feature called Live Lan that lets you stream to your local network. It does use a separate stream per user, but . Here's a video on how to set it up.
 

Tomasz Góral

Active Member
OBS is only video mixer.
To play video stream - you need e.g. server video and player (html) or dedicated app on phone.
QR code can contains URL.

Simple method (maybe not simple for others) for me:
- run nginx-rtmp server
- build simple html site with player (videojs)
- generate QR code from internet as URL put local address.

OR

Other use NDI plugin in OBS, on phone install 'Monitor for NDI', this software working in LAN.

OR

Use RTSP plugin, probably you need local server, QR code contains rtsp address (i did not use).

OR

Use webrtc and local server.
 

Barabba

Member
OBS is only video mixer.
To play video stream - you need e.g. server video and player (html) or dedicated app on phone.
QR code can contains URL.

Simple method (maybe not simple for others) for me:
- run nginx-rtmp server
- build simple html site with player (videojs)
- generate QR code from internet as URL put local address.

OR

Other use NDI plugin in OBS, on phone install 'Monitor for NDI', this software working in LAN.

OR

Use RTSP plugin, probably you need local server, QR code contains rtsp address (i did not use).

OR

Use webrtc and local server.
Thank you for your lovely post, trying to find a solution, you helped me clearing my ideas.

I would mark here 2 important aspects that should be considered:
1) Reduce at maximum the delay, it means the stream has not to be decoded by the software/server and reencoded, that means not less than 10 seconds and CPU usage, which is completely a waste since the surce stream is already compatible with all phones, it's a simple h264 without audio. The key here is to encapsulate it properly "as it is" and send it properly to the phone. I need then a software which translates rtsp into a more compatible format which can be seen on any browser, by a static http simple page, it should exist something like that!
2) The result should be as esiest and compatiblest as possible, that means it should work with any browser (or most of them), it should't be an app to install (!).

So at the end, I need an http server (ok windows has IIS), a simply http page, a software that extract h264 from rtsp and encapsulate it in a streaming http-compatible format, and be able to generate as many straming unicast as required (can be up to 10 I suppose)
Thank you for advices!

vMix seams can't do that, it reencodes and it shows a web page where the user needs to select something, it's complicated, I need directly the video after QR without pressing nothing (or maybe just the Play button)
 

Barabba

Member
The solution is WebRTC, but I can't find anything for Windows, but a ton of solutions ofr Linux.
This is really strange
 

Barabba

Member
Simple method (maybe not simple for others) for me:
- run nginx-rtmp server
- build simple html site with player (videojs)
- generate QR code from internet as URL put local address.
Hi mate, thanks for solutions, will the video.js be compatible with all platforms? I dubt all system let run javascrip in browser. If so, better avoid spending time learning this solution.
Is the WebRTC supported by all (recent) browsers? Without any issues?
Thanks
 

Tomasz Góral

Active Member
Hi mate, thanks for solutions, will the video.js be compatible with all platforms? I dubt all system let run javascrip in browser. If so, better avoid spending time learning this solution.
Is the WebRTC supported by all (recent) browsers? Without any issues?
Thanks
videojs is javascript, is compatible with all major browser, ofcourse you can use any other player.
WebRTC is supported by major browser, but not all functionality.
Now you can use WHIP to send subsecond video to clients, i don't know any examples for IIS.
 

Barabba

Member
videojs is javascript, is compatible with all major browser, ofcourse you can use any other player.
WebRTC is supported by major browser, but not all functionality.
Now you can use WHIP to send subsecond video to clients, i don't know any examples for IIS.
Thank you, you are very kind, I've read them but can't find there an example.
Windows can't be a limit, I canemulate linux on windows if needed, my big question is to start from somethng.. )
I have the RTSP, I need a web server, which code for example should have the html page? How WebRTC or any other way I have to show a stream on the browser without any installation/etc., works? Are there some .js script files that I need to place near the html? or is this WebRTC already included on browsers? How can I call it?
Then, I need to extract from the RTSP the video stream and mabe reassemble it on HLS? who is mading this translation? ffmpeg?
Thank you!
 
Top