0

I'd like to stream a 90 fps video captured by a raspberry pi noir camera through network. Everything works smoothly when frame rate doesn't exceed 30 fps, but higher fps shall be downrated to about 30 fps at reception, which results in displaying a delayed slow motion video.

Here are my sender / receiver gstreamer pipes:

90 fps video stream sent over network via UDP

raspivid -n -t 0 -w 640 -h 480 -vf -hf -fps 90 -b 4000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=192.168.0.5 port=5000

Received video stream over network

gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264" ! rtph264depay ! avdec_h264 ! videoconvert ! autovideosink sync=false

Adding a videorate ! "video/x-raw,framerate=30/1" pipe to the receiver would solve delay issue, but as I want to keep a 90 fps video stream, this is not a valid option.

Is there any way to keep a high fps stream at reception ?

gnou
  • 1,282
  • 1
  • 10
  • 11

1 Answers1

0

You could include the size of the buffer on the receiving pipeline. Also, the raspberry pi camera has a maximum frame rate of 30fps. Also, you could include 'queue' before h264parse on the source pipeline.