Gstreamer reducing one second delay from IP camera

I am using the ofxGStreamer addon to receive and display an rtsp h264 IP security camera stream. I am trying to get it to be as close to realtime as possible. I can use some software on my windows machine called iSpy which has a latency/delay of a matter of a few hundred milliseconds, while my OF app has a delay of 0.5-1 second.

The strange thing is that reducing the bitrate or resolution doesn’t have an effect on the latency at all. I am completely new at this, and have been working at it for weeks (I can go on with what I tried but I don’t want this post to be too long), I can’t seem to get a lower latency/processing speed.
this is my pipeline at the moment

camWidth = 640;
camHeight = 480;

gstv.setPipeline("rtspsrc location=rtsp://admin:@;stream=0;user=system;pass=system; width=640,
                     height=480,framerate=15/1 gop-size=1 bitrate=20
                     drop-on-latency=true  latency=0 ! queue2 max-size-buffers=0
                     ! decodebin ! videoconvert ! videoscale", OF_PIXELS_RGB, true, camWidth,

Please let me know if there is something obvious I should try, this is my first time using Gstreamer, I am happy I was able to get it down from 3 second latency to 1 second but I’ve been stuck here for a while now. I don’t care about quality or artifacts, just that it is close to realtime as possible. I believe that because it is RTSP I as the client make requests to how it is being streamed so I can’t blame how the camera is sending the stream.

How can I make it so that reducing resolution will speed up processing? It’s the same if its 1280x960 or 64x48. Should I switch to windows? Thank you for reading, any insights are appreciated!