In the new Debian 11, Bullseye, you can only capture live video with a streaming framework, like GStreamer or FFmpeg. This is an example of libcamera working on a Raspberry Pi with an 64-bits OS.
To run the application, you have to:
- A Raspberry Pi 4.
- GStreamer 1.18.4 installed. Install GStreamer
- OpenCV 64 bit installed. Install OpenCV 4.5
- Code::Blocks installed. (
$ sudo apt-get install codeblocks
) - A working Raspicam
To extract and run the app in Code::Blocks
$ mkdir MyDir
$ cd MyDir
$ wget https://github.com/Qengineering/Libcamera-OpenCV-RPi-Bullseye-64OS/archive/refs/heads/main.zip
$ unzip -j master.zip
Remove master.zip, LICENSE and README.md as they are no longer needed.
$ rm master.zip
$ rm LICENSE
$ rm README.md
Your MyDir folder must now look like this:
GStreamer_RPi_64_Bullseye.cpb
main.cpp
To run the application load the project file GStreamer_RPi_64_Bullseye.cbp in Code::Blocks.
Next, follow the instructions at Hands-On.
On this page you can see how to make the webcam work.
The Raspicam supports many sizes and frame rates, as you can see here.
You can switch between the different options by altering the parameters in the pipeline.
As long it's a valid combination, it will work. For instance:
//pipeline parameters
int capture_width = 640 ;
int capture_height = 480 ;
int display_width = 640 ;
int display_height = 480 ;
int framerate = 90 ;