Frame rate

Nicolas Dufresne nicolas at ndufresne.ca
Wed Oct 26 15:00:06 UTC 2022


Le mercredi 26 octobre 2022 à 15:30 +0800, James via gstreamer-devel a écrit :
> If anyone can point me, thanks lots
> 
> I have a pipeline (that works) from v4lsrc
> 
> gst-launch-1.0 $@ v4l2src device=/dev/video0 ! \
>         video/x-raw,width=1920,height=1080,framerate=5/1! \
>         videoconvert ! \
>         ...
> 
> I have 2 usb capture cards.
> Without specifing framerate a magewell card gets 2 fps, an Amazon special 5 fps.
> Using OpenBroadcastStudio both cards will record at 1080p30 or 1080p60. (and ffprobe confirms)
> If I specify a not-native framerate I get v4lsrc internal error.

USB-2 camera will only do these rates if you use JPEG compression. There is
simply not enough bandwidth otherwise.

gst-launch-1.0 v4l2src device=/dev/video0 ! image/jpeg,framerate=30/1 \
	! jpegdec ! ...

> 
> Easy methought, each card has 2 endpoints, I'll spy with wireshark. Wireshark says that *nothing* happens of the 2nd end point !
> 
> Since OBS can tell either card what framerate to use I speculate it is a standard communication. (or it happens at the v4l point
> 
> Spelunking the src is a huge task.
> 
> Much looking, a gstreamer bit I do not grok
> 
> $ v4l2-ctl
> . . .
> Streaming Parameters Video Capture:
> 	Capabilities     : timeperframe
> 	Frames per second: 30.000 (30/1)
> 	Read buffers     : 0
> 
> So I modify my above working pipeline to say framerate=30/1
> 
> Setting pipeline to PAUSED ...
> Pipeline is live and does not need PREROLL ...
> Pipeline is PREROLLED ...
> Setting pipeline to PLAYING ...
> New clock: GstSystemClock
> ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
> Additional debug info:
> ../libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
> streaming stopped, reason not-negotiated (-4)
> Execution ended after 0:00:00.000627298
> Setting pipeline to NULL ...
> Freeing pipeline ...
> 
> I am stumped, help please
> James



More information about the gstreamer-devel mailing list