diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 65 |
1 files changed, 33 insertions, 32 deletions
@@ -30,11 +30,11 @@ Getting Started To fetch the sources, build and install: -:: +.. code:: git clone https://git.libcamera.org/libcamera/libcamera.git cd libcamera - meson build + meson setup build ninja -C build install Dependencies @@ -47,21 +47,16 @@ A C++ toolchain: [required] Either {g++, clang} Meson Build system: [required] - meson (>= 0.56) ninja-build pkg-config - - If your distribution doesn't provide a recent enough version of meson, - you can install or upgrade it using pip3. - - .. code:: - - pip3 install --user meson - pip3 install --user --upgrade meson + meson (>= 0.60) ninja-build pkg-config for the libcamera core: [required] libyaml-dev python3-yaml python3-ply python3-jinja2 -for IPA module signing: [required] - libgnutls28-dev openssl +for IPA module signing: [recommended] + Either libgnutls28-dev or libssl-dev, openssl + + Without IPA module signing, all IPA modules will be isolated in a + separate process. This adds an unnecessary extra overhead at runtime. for improved debugging: [optional] libdw-dev libunwind-dev @@ -71,12 +66,6 @@ for improved debugging: [optional] information, and libunwind is not needed if both libdw and the glibc backtrace() function are available. -for the Raspberry Pi IPA: [optional] - libboost-dev - - Support for Raspberry Pi can be disabled through the meson - 'pipelines' option to avoid this dependency. - for device hotplug enumeration: [optional] libudev-dev @@ -86,17 +75,20 @@ for documentation: [optional] for gstreamer: [optional] libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev +for Python bindings: [optional] + libpython3-dev pybind11-dev + for cam: [optional] libevent-dev is required to support cam, however the following optional dependencies bring more functionality to the cam test tool: - libdrm-dev: Enables the KMS sink + - libjpeg-dev: Enables MJPEG on the SDL sink - libsdl2-dev: Enables the SDL sink - - libsdl2-image-dev: Supports MJPEG on the SDL sink for qcam: [optional] - qtbase5-dev libqt5core5a libqt5gui5 libqt5widgets5 qttools5-dev-tools libtiff-dev + libtiff-dev qtbase5-dev qttools5-dev-tools for tracing with lttng: [optional] liblttng-ust-dev python3-jinja2 lttng-tools @@ -104,8 +96,14 @@ for tracing with lttng: [optional] for android: [optional] libexif-dev libjpeg-dev +for Python bindings: [optional] + pybind11-dev + for lc-compliance: [optional] - libevent-dev + libevent-dev libgtest-dev + +for abi-compat.sh: [optional] + abi-compliance-checker Basic testing with cam utility ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -125,10 +123,13 @@ setting the ``LIBCAMERA_LOG_LEVELS`` environment variable: Using GStreamer plugin ~~~~~~~~~~~~~~~~~~~~~~ -To use GStreamer plugin from source tree, set the following environment so that -GStreamer can find it. This isn't necessary when libcamera is installed. +To use the GStreamer plugin from the source tree, use the meson ``devenv`` +command. This will create a new shell instance with the ``GST_PLUGIN_PATH`` +environment set accordingly. + +.. code:: - export GST_PLUGIN_PATH=$(pwd)/build/src/gstreamer + meson devenv -C build The debugging tool ``gst-launch-1.0`` can be used to construct a pipeline and test it. The following pipeline will stream from the camera named "Camera 1" @@ -136,7 +137,7 @@ onto the OpenGL accelerated display element on your system. .. code:: - gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! glimagesink + gst-launch-1.0 libcamerasrc camera-name="Camera 1" ! queue ! glimagesink To show the first camera found you can omit the camera-name property, or you can list the cameras and their capabilities using: @@ -151,7 +152,7 @@ if desired with a pipeline such as: .. code:: gst-launch-1.0 libcamerasrc ! 'video/x-raw,width=1280,height=720' ! \ - glimagesink + queue ! glimagesink The libcamerasrc element has two log categories, named libcamera-provider (for the video device provider) and libcamerasrc (for the operation of the camera). @@ -167,7 +168,7 @@ the following example could be used as a starting point: gst-launch-1.0 libcamerasrc ! \ video/x-raw,colorimetry=bt709,format=NV12,width=1280,height=720,framerate=30/1 ! \ - jpegenc ! multipartmux ! \ + queue ! jpegenc ! multipartmux ! \ tcpserversink host=0.0.0.0 port=5000 Which can be received on another device over the network with: @@ -194,8 +195,8 @@ the build.ninja module. This is a snippet of the error message. This can be solved in two ways: -1) Don't install meson again if it is already installed system-wide. +1. Don't install meson again if it is already installed system-wide. -2) If a version of meson which is different from the system-wide version is -already installed, uninstall that meson using pip3, and install again without -the --user argument. +2. If a version of meson which is different from the system-wide version is + already installed, uninstall that meson using pip3, and install again without + the --user argument. |