Skip to content

Commit 8033244

Browse files
authored
README initial commit
1 parent 3b515e3 commit 8033244

File tree

1 file changed

+38
-2
lines changed

1 file changed

+38
-2
lines changed

README.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
11
# camera-caps
2-
Examine the camera capabilities for V4l2 cameras
3-
WORK IN PROGRESS
2+
This is a graphical user interface over the v4l2-ctl command line tool. This program supports an upcoming JetsonHacks article and video.
3+
4+
### Intended Spirit
5+
This app is a simple software sketch built to support a demonstration. It is not fully featured, and certainly not production quality code, but you may find it useful for your own study and experimentation.
6+
7+
On the NVIDIA Jetson family of products, connected cameras generally stream through the V4L2 module. USB cameras go through the uvcvideo
8+
module which interfaces with the v4l2 module. Cameras connected through the CSI/MIPI ports (Raspberry Pi camera, GMSL cameras for example) interface with the tegra-video module, which in turn interfaces with the v4l2 module.
9+
10+
Connected cameras show up as /dev/videoX (where X is the ID number) when connected with the proper drivers installed. Properly connected and registered, you can use the v4l2-ctl utility to examine the properties of the cameras. This includes the available pixel formats, frame sizes, frame rates, and properties. There are controls to adjust the properties of the camera. The GUI provides a consolidated view:
11+
12+
![Screenshot](camera-caps-screenshot.png)
13+
14+
### Note
15+
Not all cameras provide a V4L2 interface. Some cameras have proprietary interfaces that are not exposed through V4L2.
16+
17+
### Installation
18+
19+
```
20+
$ sudo apt update
21+
$ sudo apt install python3-pip
22+
$ pip3 install dataclasses
23+
# Install v4l2-ctl
24+
$ sudo apt install v4l-utils
25+
```
26+
### Running the Program
27+
Before running the program, first make sure that the cameras you want to examine are attached. The program does not detect dynamic attachment. If you plug/unplug a camera, restart the program. Also note that USB cameras do not have a guaranteed address in their /dev/videoX designation. In other words, the address may change when the machine reboots or other cameras are added. To run:
28+
29+
```
30+
$ python3 camera_caps.py
31+
```
32+
33+
The preview button attempts to build a GStreamer pipeline and run it in a preview window. The preview window is not the full size of the video image size.
34+
35+
## Releases
36+
### January, 2022
37+
* Initial Release
38+
* JetPack 4.6, L4T 32.6.1
39+
* Test on Jetson Nano, Jetson Xavier NX - Other Jetsons should work

0 commit comments

Comments
 (0)