summaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst65
1 files changed, 33 insertions, 32 deletions
diff --git a/README.rst b/README.rst
index b9e72d81..1da7a3d6 100644
--- a/README.rst
+++ b/README.rst
@@ -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.