Using OF 10.1.
Going through all the threads for ofxGstreamer solutions and still a bit lost as to how to figure out the commands and arguments for client and server side on different IP cameras. I managed to make it work with the pi4 and the HQ cam:
on the RasPi side using the command line:
raspivid -n -h 972 -w 1296 -b 10000000 -fps 30 -vf -hf -t 0 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=CLIENT_IP port=5001
on the OF side using ofGstVideoUtils gst;
gst.setPipeline("udpsrc port=5001 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! avdec_h264 ! videoconvert", OF_PIXELS_RGB, **true**); gst.startPipeline(); tex.allocate(w,h,GL_RGB); gst.play();
I am trying to do the same with the esp32-cam but I’m unsure about which arguments to use on both the Arduino IDE and OF to create the pipeline:
this is what the serial monitor in Arduino shows when the stream connects to VLC:
192.168.1.178 Stream Link: rtsp://192.168.1.178:8554/mjpeg/1 Creating TSP streamer Created streamer width=800, height=600 Creating RTSP session RTSP received OPTIONS RTSP received DESCRIBE RTSP received SETUP RTSP received PLAY
from looking at other people’s posts I think the gst.setPipeline would look something like this:
gst.setPipeline("rtspsrc location=rtsp://admin:email@example.com:8554/cam/realmonitor?channel=1&subtype=1 latency=0 ! rtpjpegdepay ! jpegdec ! queue ! decodebin ! videoconvert", OF_PIXELS_MONO, **true**, w, h);
but even though it compiles there is no stream and I get this error:
**[notice ] ofGstUtils: setPipelineWithSink(): gstreamer pipeline: rtspsrc location=rtsp://admin:firstname.lastname@example.org:8554/cam/realmonitor?channel=1&subtype=1 latency=0 ! rtpjpegdepay ! jpegdec ! queue ! decodebin ! videoconvert ! appsink name=ofappsink enable-last-sample=0 caps="video/x-raw, format=GRAY8, width=800, height=600"** **[ error ] ofGstUtils: gstHandleMessage(): embedded video playback halted for plugin, module rtspsrc0 reported: Could not read from resource.**
Any clues as to how I can make the pipeline work?