rtsp

I’m new to IP cameras and the RTSP protocol.
Any way to deal with video streams in Vuo via RTSP?

Hi,
I have some work with IP cameras and I use some apps to capture the stream and then pass it to syphon.

There are cameras that have the option to choose between two protocols: http and rtps. There are also different codecs for streaming: MJPEG, H.264, …

If you use the HTTP protocol and MJPEG encoding, there are two applications you can use to convert the stream to a syphon feed.

IPCAM2SYPHON

SyphonNetCamera

If you use the RTSP protocol you can use:

ManyCam (payable)

ardrone-ffmpeg

I hope it can be of help.

Best.

Javi

ardrone-ffmpeg.app_.zip (8.66 MB)  

2 Likes

I was going to create a feature request for RTSP support (it’s not there as of Vuo 1.2.6), but then my excellent coworker discovered that it only took a small change to get it to work. So that should be in the next major release.

In the meantime, if there’s an RTSP-to-Syphon solution that works for your situation (thanks, @jandraka, for the list!), that is what I’d recommend.

Any idea when this release with this feature/release would be available ?

And will this be processed by the GPU or the CPU ?

@jayeazy, we don’t have a release date yet. The node will use the CPU to decode the image from the network, then transfer it to the GPU for whatever further image processing you want to do.

As of Vuo 1.2.7, the Play Movie node now supports RTSP.

I’ve managed to watch an example RTSP link from the web, but can’t see any cameras from something like insecam. I’ve been tasked with setting up some screens and cameras in two places that can stream to each other, a kind of collaboration wall, how would I go about doing this?

@bLackburst, we checked the first several cameras on https://www.insecam.org/en/byrating/, and they all use MJPEG-over-HTTP rather than RTSP. I’ve created a feature request: https://community.vuo.org/t/-/6132

But do you have any recommendations for how to steam a camera over the net that vuo can pick up?

I building trying to build my video setup with the RTSP from my Dahua Cams, but it don’t seem to give any picture. VLC does … and also the ardrone app does work with these steams… ( see also screenshot)

I know the Play movie rtsp does work, cause i tested it just after relaese of 2.1.7 with a foscam , which gave me video… So i thought i’m good to go …

Any suggestions ? Specific codecs / settings which work ?

I need it next week on a event… so would be nice if a can get it to work.

Regards
Jelte

Hello,
As I can see in the screenshot the “Fire on start” node is connected to the input event of the node rather than the “Play” input. Maybe this helps.
Best.

Javi

1 Like

Hi Javi,

Allready tried that earlier, connecting both, didn’t work.

regards,
Jay

Anyone , who can help ???

Have no idea about this, but it seems the URL in Vuo is different than the one at the top of the VLC window. Try setting it to the same? (rtsp://10.10.0.229:554/cam/realmonitor)

1 Like

That sounds like good advice, but in case it doesn’t work, another thing to try would be to run Vuo in debug mode to get more information about the problem.

URL is displayed different in VLC display windows, but isn’t… so that’s not the case.

Tried it with debug, no idea what isnt working…

Did some testing, had some issue with the foscam with higher bandwith and screen size. but not all the time.
The Dahua rtsp keeps black…

# pid=9345  t= 99,1211s              VuoCompiler.cc:2094            getDependenciesForComposition() 	Gathering dependencies for '/tmp/Dahua Test-CNt3OF.bc'…
# pid=9345  t= 99,1288s              VuoCompiler.cc:2158            getDependenciesForComposition() 	Done.
# pid=9345  t= 99,1342s              VuoCompiler.cc:2755                                     link() 	Linking '/tmp/Dahua Test-CNt3OF-resource0.dylib'…
# pid=9345  t= 99,3551s              VuoCompiler.cc:2910                                     link() 	Done.
# pid=9345  t= 99,3561s              VuoCompiler.cc:2755                                     link() 	Linking '/tmp/Dahua Test-CNt3OF.dylib'…
# pid=9345  t= 99,5993s              VuoCompiler.cc:2910                                     link() 	Done.
# pid=9345  t= 99,6073s                VuoRunner.cc:1092                       replaceComposition() 	Loading composition…
# pid=9345  t= 99,8742s                VuoRunner.cc:1137                       replaceComposition() 		Done.
# pid=9667  t=  0.1439s             VuoGlContext.cc:50                     VuoGlContext_renderers() 	Renderer 0: Intel HD 5000 (Iris)
# pid=9667  t=  0.1736s             VuoGlContext.cc:54                     VuoGlContext_renderers() 	    Online             : yes
# pid=9667  t=  0.1737s             VuoGlContext.cc:58                     VuoGlContext_renderers() 	    Accelerated        : yes
# pid=9667  t=  0.1738s             VuoGlContext.cc:63                     VuoGlContext_renderers() 	    Video memory       : 1536 MB
# pid=9667  t=  0.1738s             VuoGlContext.cc:68                     VuoGlContext_renderers() 	    Texture memory     : 1536 MB
# pid=9667  t=  0.1739s             VuoGlContext.cc:73                     VuoGlContext_renderers() 	    Display mask       : 0x1f
# pid=9667  t=  0.1741s             VuoGlContext.cc:77                     VuoGlContext_renderers() 	                         Apple Computer Inc: Color LCD (2012-W48)
# pid=9667  t=  0.1742s             VuoGlContext.cc:82                     VuoGlContext_renderers() 	    OpenGL version     : 4
# pid=9667  t=  0.1855s             VuoGlContext.cc:95                     VuoGlContext_renderers() 	    OpenGL 2           : Intel Iris Pro OpenGL Engine (2.1 INTEL-10.6.33) maxTextureSize=16384
# pid=9667  t=  0.1905s             VuoGlContext.cc:113                    VuoGlContext_renderers() 	    OpenGL Core Profile: Intel Iris Pro OpenGL Engine (4.1 INTEL-10.6.33) maxTextureSize=16384
# pid=9667  t=  0.1935s             VuoGlContext.cc:122                    VuoGlContext_renderers() 	    OpenCL supported   : yes
# pid=9667  t=  0.1937s             VuoGlContext.cc:50                     VuoGlContext_renderers() 	Renderer 1: Apple Software Renderer (GenericFloat)
# pid=9667  t=  0.1939s             VuoGlContext.cc:54                     VuoGlContext_renderers() 	    Online             : yes
# pid=9667  t=  0.1940s             VuoGlContext.cc:58                     VuoGlContext_renderers() 	    Accelerated        : no
# pid=9667  t=  0.1941s             VuoGlContext.cc:73                     VuoGlContext_renderers() 	    Display mask       : 0x1f
# pid=9667  t=  0.1942s             VuoGlContext.cc:77                     VuoGlContext_renderers() 	                         Apple Computer Inc: Color LCD (2012-W48)
# pid=9667  t=  0.1943s             VuoGlContext.cc:82                     VuoGlContext_renderers() 	    OpenGL version     : 4
# pid=9667  t=  0.1972s             VuoGlContext.cc:95                     VuoGlContext_renderers() 	    OpenGL 2           : Intel Iris Pro OpenGL Engine (2.1 INTEL-10.6.33) maxTextureSize=16384
# pid=9667  t=  0.2024s             VuoGlContext.cc:113                    VuoGlContext_renderers() 	    OpenGL Core Profile: Intel Iris Pro OpenGL Engine (4.1 INTEL-10.6.33) maxTextureSize=16384
# pid=9667  t=  0.2050s             VuoGlContext.cc:122                    VuoGlContext_renderers() 	    OpenCL supported   : no
# pid=9667  t=  0.2052s             VuoGlContext.cc:139                    VuoGlContext_renderers() 	Driver: AppleIntelHD5000Graphics
# pid=9667  t=  0.2106s             VuoGlContext.cc:352                             createContext() 	Created OpenGL context 0x7fb23a089c00 on Intel HD 5000 (Iris)
# pid=9667  t=  0.2317s           VuoGraphicsView.m:439                -[VuoGraphicsView drawRect:] 	OpenGL context 0x7fb238859400's virtual screen changed to 0
# pid=9667  t=  0.2857s                 VuoAudio.cc:499                     VuoAudioOut_getShared() 	Using default device #2, name "Apple Inc.: Built-in Output".
[20:15:37.368] FigByteFlumeCustomURLOpen signalled err=-12936 (kFigByteFlumeError_BadState) (no provider) at /SourceCache/CoreMedia/CoreMedia-1562.240/Prototypes/FigHTTP/FigByteFlumeCustomURL.c line 1486
# pid=9667  t=  0.2926s         VuoAvPlayerObject.m:297                -[VuoAvPlayerObject setURL:] 	AvFoundation cannot play this asset (isPlayable=0, hasProtectedContent=0, isReadable=0).
[rtsp @ 0x7fb23c000000] SDP:
v=0
o=- 2251938844 2251938844 IN IP4 0.0.0.0
s=Media Server
c=IN IP4 0.0.0.0
t=0 0
a=control:*
a=packetization-supported:DH
a=rtppayload-supported:DH
a=range:npt=now-
m=video 0 RTP/AVP 96
a=control:trackID=0
a=framerate:25.000000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D0029;sprop-parameter-sets=Z00AKZpkA8ARPy4C3AQEBQAAAwPoAADDUOhgAEEeAABBHgu8uNDAAII8AACCPBd5cKAA,aO48gAA=
a=recvonly

# pid=9667  t=  0.5394s         VuoFfmpegDecoder.cc:125                                Initialize() 	FFmpeg context flags: 0x0
# pid=9667  t=  0.5395s         VuoFfmpegDecoder.cc:131                                Initialize() 	FFmpeg input format : 'RTSP input' (rtsp)  flags=0x1  codec=0x0
# pid=9667  t=  1.7724s         VuoFfmpegDecoder.cc:188                           InitializeVideo() 	FFmpeg video codec  : 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10' (h264)
[swscaler @ 0x7fb23b13e200] deprecated pixel format used, make sure you did set range correctly
# pid=9667  t=  1.8298s                VuoGlPool.cc:319   VuoGlTexture_getMaximumTextureBytes_block() 	1305 MB
[rtsp @ 0x7fb23c000000] method PAUSE failed: 455 Method Not Valid in This State
[h264 @ 0x7fb23883bc00] Missing reference picture, default is 0
[h264 @ 0x7fb23883bc00] decode_slice_header error
[swscaler @ 0x7fb238af4c00] deprecated pixel format used, make sure you did set range correctly
[swscaler @ 0x7fb239348a00] deprecated pixel format used, make sure you did set range correctly
[rtsp @ 0x7fb23c000000] method PAUSE failed: 455 Method Not Valid in This State
[h264 @ 0x7fb23883bc00] Missing reference picture, default is 0
[h264 @ 0x7fb23883bc00] decode_slice_header error
# pid=9667  t=  7.0600s           VuoVideoPlayer.cc:74                                     Create() 	Using FFmpeg video decoder despite optimization preference.
# pid=9667  t=  7.0611s         VuoDisplayRefresh.c:125          VuoDisplayRefresh_enableTriggers() 	Refresh: 59.9903 Hz (337750000/5630080)
# pid=9667  t=  7.0612s         VuoDisplayRefresh.c:134          VuoDisplayRefresh_enableTriggers() 	Latency: unknown
# pid=9345  t=107,8879s                VuoRunner.cc:2709                   stopBecauseLostContact() 	The connection between the composition ('VuoCompositionLoader') and runner timed out while listening for telemetry.  
1 Like

@jayeazy, in this forum post someone is using a similar URL except they have &tcp at the end. Does that help?

Or what about, as described here, trying subtype=1? Or trying /live instead of /cam/realmonitor?

Or, as described here, trying the path /video.pro2 or /videoMain?

Hi Jaymie, tried all options, none of them work in VUO. No video at all… just a black screen.

Followed up on bug report.