Frame rate
James
jam at tigger.ws
Wed Oct 26 07:30:03 UTC 2022
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.
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