Video from Raspberry Pi via netcat into Jitter

dwingus's icon

Hi! I have a few raspberry pi computers with camera boards and I would like to stream the video feeds into Jitter. I can get video into Jitter by streaming the signals via rtsp but there is significant latency and the image quality is poor. Outside of jitter I can successfully stream video from a raspberry pi using nc piped to Mplayer and it looks great without much latency.

nc -l 5001 | mplayer -fps 31 -cache 1024 -

I also have tried the vipr external but i believe its only for encoding to various codecs or receiving jitter matrixes from another computer running max but I'm not positive. Maybe there is a tweak i need to do to get it to see the raw stream from nc? Anyway, my question is is there a way to get a raw video feed from nc into Jitter? I think Mplayer is just using the ffmpeg libraries to display the video. is there a set of tools for jitter that could do the same thing? or is there a raw decoder for jitter that can take a raw TCP video feed and display it. i even tried udp receive but i believe its only for messaging and not video. i would like to avoid using rtsp and quicktime due to the latency and video quality.

Anyway,I'm really hoping there is something simple I have missed! Any help or ideas is appreciated.

Rob Ramirez's icon
dwingus's icon

Hi Rob! Thanks for the response. Unfortunately the link to the actual external is inactive. However, i think that external was rolled into the vipr external:

i've tried the vipr external but i could not get it to accept the video stream that was being sent from the Raspberry pi via NC. I'm not sure if vipr designed for 'raw' video streams or if the decoder only works for streams via jit.net.send. The raspberry pi just sends 'raw' h264 video via NC using its built-in camera program . . command on the Pi is:

raspivid -t 0 -o - | nc 10.0.1.4 5001

i just need something in jitter that can accept the incoming stream on port 5001. Mplayer can accept and display the stream so maybe there is a way to locally pipe the video from MPlayer into Jitter without extra latency or re-encoding? agh! so close

Timo's icon

Hi DWINGUS
Did you find any solution for the Pi Cameras?
At the moment I'm testing a BananaPi-D1 which seems to be a quite revolutionary solution for mobile cams... but even after days of testing and searching a way to get the video into max I didn't find a solution. (I can receive the rtsp stream in vlc but not in max)
I appreciate any suggestions!

Timo

dwingus's icon

No, unfortunately I never did find a solution. It would be so nice to have a way to get the raw video feed into Jitter! I'll post back here if i figure something out.

Scott Smith's icon

Hi Dwingus--same question as TIMO, but a few years later! Scouring the internet for help on getting a live stream from a Pi Camera into Jitter. Would appreciate any ideas you've come across / come up with. Ever have any luck?

I just tracked down this openFrameworks add-on (ofxJitterNetworkSender) that could work, if I can build it out so the Pi Camera is streaming via ofx, rather than raspivid / gstreamer, or nc, as you suggest above. Will give it a shot.

Thanks,
Scott

Julien Bayle's icon

hello there, unburying !

did the OF solution works by using network ?
I have exactly the same problem to solve.

Julien Bayle's icon

Tested with Max 8 (6 years later...) and it always crashes Max.
Would love to port it to Max8 if I knew more about what is the pb

Julien Bayle's icon

NDI solution is the way (thx Rob for reminding us all the way :-)

Scott Smith's icon

Glad you got this working! Funny to get an email about this thread after a few years. I never got the OFX solution working, for reference, and gave up in the end. Would be curious to test out the NDI solution.

dwingus's icon

hi! Just an update . . I can reliably stream a PiCamera into jitter via jit.ndi.receive from the NDI package. Using a Pi4 with the standard PiCamera module. I used this library on the Pi to have it send via NDI:
https://github.com/raspberry-pi-camera/raspindi

I ordered a POE device for the Pi to hopefully have it all work via one cable.

dwingus's icon

one limitation of the raspindi library linked above is that it doesn't seem to send audio along with video. if you need audio you can use this instead:

https://dicaffeine.com/about

I connected a Mic via a Kmix interface to the Pi and it passed the audio over NDI. Dicaffeine can also be setup as an NDI receiver on the Pi which is interesting