NVIDIA GPU is required for fast video coding.
If you do not have access to a CUDA-capable GPU, it is possible to modify the video coding support to use software codec, e.g., x265). Although video coding performance will be significantly worse.
Ubuntu 22.04 (x86_64)
To support more than one camera, add the following line to /etc/rc.local or analogous file:
echo 0 > /sys/module/usbcore/parameters/usbfs_memory_mb
OpenCV, JsonCpp
sudo apt-get update
sudo apt install libopencv-dev libjsoncpp-dev
FFMPEG (Compile from source to get the latest AV1 codec support on NVIDIA RTX 4000 Series GPU)
mkdir build
cd build
cmake ..
make -j
./build/app/camera_stream ../camera_config.json
Under the root project directory, you'll find saved video output_0.mp4
, and associated per-frame epoch timestamp output_timestamps_session_0.txt
The output filename can be changed in the camera_config.json
.