GStreamer clockselect element unavailable

I have recently started working with the AAEON BOXER-8645AI. It runs Jetson AGX Orin.

I’m using GStreamer to capture videos, but I find the need to set the timestamps of the video frames according to the system clock. After some research, I found out about the clockselect element, that should allow me to achieve that. This is the command I currently run:

gst-launch-1.0 v4l2src device=/dev/video0 ! clockselect mode=realtime ! "video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM), format=(string)I420, width=(int)1920, height=(int)1080" ! nvv4l2h264enc ! h264parse ! matroskamux ! filesink location=video.mkv

But it returns me the following message:

No such element or plugin ‘clockselect’

I found out I can probably solve it by installing (sudo apt install) gstreamer1.0-plugins-bad, that is the package containing the clockselect element. My doubt is: is this safe to do in an NVIDIA Jetson machine, or can it bring any compatibility issues? Is there a better, safer way to achieve the same?

Thanks in advance for any help

Hi,

For the camera basic functionality first needs to check the device and driver configuration.
You can reference to below program guide for the detailed information of device tree and driver implementation.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#sensor-software-driver-programming

Please refer to Applications Using V4L2 IOCTL Directly by using V4L2 IOCTL to verify basic camera functionality.
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html?highlight=programing#to-run-a-v4l2-ctl-test

Once confirm the configure and still failed below link help to get log and some information and some tips for debug.
https://elinux.org/Jetson/l4t/Camera_BringUp#Steps_to_enable_more_debug_messages

Thanks!

I am using a compatible camera: NileCAM25, from E-con Systems. The command that I wrote works well if only I remove the clockselect element. But then I don’t get the functionality I need. The timestamps will be relative

Hi,
It should be fine to install gstreamer1.0-plugins-bad package. Would suggest remove the cache after the installation:

$ rm ~/.cache/gstreamer-1.0/registry.aarch64.bin

Hi. Thanks for the reply.

I installed in the way you suggested:

sudo apt install gstreamer1.0-plugins-bad
rm ~/.cache/gstreamer-1.0/registry.aarch64.bin

But I keep getting the same error as before, even after rebooting the machine, as if the installation had no effect. Is there any reason for that?

Hi,
We are uncertain about it since we don’t have experience about using the plugin. Probably it’s not in the bad package now?

Yeah, it’s not. It only installed 9 out of the 12 elements shown here: debugutilsbad

I think I found the problem. The GStreamer version in my machine is 1.16.3, and clockselect was introduced in 1.18. Is it safe to upgrade GStreamer to a more recent version? The Ubuntu version in the machine is 20.04.5. It’s Tegra release 35.3.1

Hi,
You can manually upgrade it but there may be potential issues. Since the default release has passed SQA tests and shall be stable.

Please check the multimedia section in developer guide:

Jetson Linux 35.3.1 | NVIDIA Developer

And suggest rebuild the nv plugins. Please download the source code package.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.