0
Answered: Discussion Open

Swann NVR camera feeds using VLC to transcode.

edmond 2 months ago in Media Tiles / Video Camera Feeds • updated by Sprink6 1 week ago 4

i have a swann nvr8000 with 4 4k cameras and 2 4mp ptz's running on onvif on the nvr, 6 channels in all. im using vlc to transcode the 6 rstp channels from the nvr into an http mjpeg feed, ive added the transcoded feeds to my media in actiontiles, but im only able to see the feeds in windows running firefox, no other browser and os seems to pull up the feeds on the tiles, which is a real bummer because i had a fire hd10 ready to wall mount, now it looks like i need to go with a windows based wall tablet. ive read through a bunch of posts regarding the user:pass part of the rstp url causing problems with various browsers, but does that still apply if im letting vlc handle the rstp url and im using the http that vlc spits out. if anyone has any suggestions or troubleshooting ideas, id love to sort it out.

here are some technical details for anyone interested in the nvr configuration

swann nvr8000 rstp format is rtsp://192.168.1.199:1085/Streaming/Channels/102 (change ip and port to match yours.102 is channel 1 (02) substream 101 for channel 1 (01) mainstream. 201, 202 and so forth.

the code to transcode in vlc commad promp is below (replace bold sections with your details)

vlc.exe -R rtsp://user:pass@192.168.1.199:1085/Streaming/Channels/102 --sout "#transcode{vcodec=mjpg,vb=2500,scale=1.0,fps=10,acodec=none}:standard{access=http{mime=multipart/x-mixed-replace; boundary=7b3cc56e5f51db803f790dad720ed50a},mux=mpjpeg,dst=:8888/videostream.cgi}

the resulting http that vlc generates is http:// ip adress of device running vlc:8888/videostream.cgi

so mine was http://192.168.1.164:8888/videostream.cgi this is the url i input in my media for the tile

bonus points if you forward port 8888 and then use your ddns service if you want to use out of local network, i use dyndns and works great

Answer

PINNED

Always great to hear back from staff, a co-founder none the less, i think its awesome that you find the time to engage with your users.

All the devices and hardware that are associated with this setup all run on the same LAN, even though i can reach the

http://192.168.1.164:8888/videostream.cgi from outside with my ddns using the 8888 port forward, i kept things simple and kept it in-house so to speak.

So, this morning i came back to my setup to mess around with it a bit more after i read your reply. i noticed the frame rate on the vlc code was set to 10 frames per second, i decided to play around with it and switched it to 15 fps, and just like that, the tiles are showing the live stream, all six, including the ptz's running on onvif on the nvr. so that's great news. not sure why some browsers don't like the 10fps, but that seems to have done the trick. i now got it working on just about all browsers and devices including Fully with 192.x.x.x and with my ddns. the only browser that's still giving me a hard time is windows/ie, its prompting me to either run or save videostream.cgi instead of just streaming the camera, i clicked save and it will sit there and download at a constant download speed, the file just gets bigger and bigger but no video is displayed.

Waiting for Customer

Thanks for this write-up, Edmond.

I've read through a bunch of posts regarding the user:pass part of the rstp url causing problems with various browsers, but does that still apply if im letting vlc handle the rstp url and im using the http that vlc spits out.

No. The "user:password@address" is only blocked if that is in the embedded URL (i.e., the URL inside the Media Tile definition). Some browsers will also block non-SSL content (i.e., you need to serve over https://, not http:// - but actually, I've found that problem is usually on desktop not mobile).

So this format should be compatible with the Fire Tablet if on the same LAN with no firewall or VLAN blocking the server:   http://192.168.1.164:8888/videostream.cgi

Did you test this exact format of URL in the URL bar of Silk? How about as the Start URL of Fully?

What happens in desktop/Windows Chrome? If it doesn't work there, use F12 to view the Browser Debugger - Console pane to see what error is occuring.

PINNED

Always great to hear back from staff, a co-founder none the less, i think its awesome that you find the time to engage with your users.

All the devices and hardware that are associated with this setup all run on the same LAN, even though i can reach the

http://192.168.1.164:8888/videostream.cgi from outside with my ddns using the 8888 port forward, i kept things simple and kept it in-house so to speak.

So, this morning i came back to my setup to mess around with it a bit more after i read your reply. i noticed the frame rate on the vlc code was set to 10 frames per second, i decided to play around with it and switched it to 15 fps, and just like that, the tiles are showing the live stream, all six, including the ptz's running on onvif on the nvr. so that's great news. not sure why some browsers don't like the 10fps, but that seems to have done the trick. i now got it working on just about all browsers and devices including Fully with 192.x.x.x and with my ddns. the only browser that's still giving me a hard time is windows/ie, its prompting me to either run or save videostream.cgi instead of just streaming the camera, i clicked save and it will sit there and download at a constant download speed, the file just gets bigger and bigger but no video is displayed.

Answered: Discussion Open

Glad to hear of some success, Edmond.  It certainly is odd that a faster frame rate would make a difference, but who knows what underlying mechanism is getting quirked up.

As for Internet Explorer:  IE has always done many things differently than Chrome & Firefox. I can only presume the "save as" behavior is IE not conforming to the standards followed by Chrome & Firefox, and since those are leading browsers, we recommend just not using IE for ActionTiles.

Thanks,

...Terry.

I also have a Swann camera system, however I am new to this and did not understand what you did to get it to work. If possible, could you simplify it for a novice and list step by step how you were able to accomplish this? Thank you for your help.