Nimbin2git.christianimmanuel.de / Linux & System / webcam-loopback-manipulation-screensharing-and-stuff / NOTICE

webcam-loopback-manipulation-screensharing-and-stuff git · main

git clone https://git.christianimmanuel.de/linux-system/webcam-loopback-manipulation-screensharing-and-stuff.gitwget https://git.christianimmanuel.de/linux-system/webcam-loopback-manipulation-screensharing-and-stuff/archive/webcam-loopback-manipulation-screensharing-and-stuff.tar.gz
NOTICE 6.4 KB · 133 lines raw
vcam — Linux virtual webcam pipeline
Copyright (C) 2026 the vcam authors

This program is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License, version 2, as published
by the Free Software Foundation. See the LICENSE file for the full text.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.


Third-party components
======================

vcam links against and/or invokes the following components at runtime. Their
licenses are compatible with GPL-2.0; none of them impose additional
restrictions on vcam's own source.

  FFmpeg (libavcodec, libavformat, libavutil, libswscale, libavdevice)
      Licensed under the GNU LGPL-2.1-or-later, with some components under
      GPL-2.0-or-later depending on the build configuration. FFmpeg is used
      here for MJPEG decoding (linked libraries) and, for the optional
      recording feature, by invoking the `ffmpeg` binary as a separate
      process. https://ffmpeg.org/legal.html

      NOTE ON DISTRIBUTION: if you distribute a build of vcam together with
      an FFmpeg that was compiled with --enable-gpl and/or --enable-nonfree
      (for example, one including libx264 or libfdk-aac), the combined work
      must satisfy the terms of GPL-2.0 for the linked GPL parts, and
      --enable-nonfree builds are not redistributable at all. vcam itself is
      plain GPL-2.0 and links only the default LGPL FFmpeg libraries; the
      recording feature shells out to whatever `ffmpeg` is found on PATH.

  libpng
      Licensed under the PNG Reference Library License (permissive,
      GPL-compatible). Used for loading PNG image overlays.
      http://www.libpng.org/pub/png/src/libpng-LICENSE.txt

  arecord / ALSA (invoked as a separate process for audio capture)
      ALSA utilities are licensed under GPL-2.0; libasound under LGPL-2.1.
      vcam invokes the `arecord` binary as a child process during
      recording. https://www.alsa-project.org

  wf-recorder (invoked as a separate process for screen capture)
      Licensed under the MIT license (permissive, GPL-compatible). vcam
      spawns `wf-recorder` as a child process to capture a Wayland screen
      region for the `--screen` overlay; frames are piped back to vcam.
      https://github.com/ammen99/wf-recorder

  Other runtime helpers (invoked as separate processes, not linked)
      vcam and its scripts may also call these external programs when
      present. None are linked into vcam; each is installed separately and
      keeps its own license:
        - grim, slurp   — MIT (Wayland screenshot / region select)
        - swaymsg       — MIT (queries monitor layout in vcam-ctl)
        - v4l2-ctl      — GPL-2.0 (device inspection in vcam-setup)
        - ncat          — Nmap Public Source License (vcam-ctl's IPC client)
        - xdg-open      — MIT (opens output files in the diagnostics path)

  v4l2loopback (kernel module, used at runtime, not linked)
      The output device is provided by the v4l2loopback kernel module,
      licensed GPL-2.0. It is a runtime dependency installed separately and
      is not part of vcam's source or binary.


Optional ONNX Runtime backend
=============================

  ONNX Runtime (linked when built with ORT=1; default build does not)
      Licensed under the MIT License. An optional, separately-installed
      inference runtime ('vcam-setup --ort') used to run the RVM matting
      model correctly. Not bundled or redistributed with vcam.
      https://onnxruntime.ai


Optional OpenCV components
==========================

These are used ONLY when vcam is built with `make OPENCV=1`. The default
build does not link or depend on any of them.

  OpenCV 5 (linked when OPENCV=1)
      Licensed under the Apache License 2.0. Used for the optional cv*
      filters (cartoon, pencil, stylize, optical flow, background
      subtraction, face and person effects). https://opencv.org

      Note on licensing: OpenCV is an optional, separately-installed system
      library that vcam links against only when explicitly built with
      OPENCV=1. vcam does not bundle or redistribute OpenCV. If you intend
      to redistribute a binary built with OPENCV=1, be aware that Apache
      2.0 and GPL-2.0-only are considered incompatible for forming a single
      combined work; the default vcam build links no Apache-2.0 code and is
      unaffected. Building with OPENCV=1 for personal use is fine.

  YuNet face detection model — face_detection_yunet_2023mar.onnx
      Licensed under the MIT License. Downloaded on request by
      'vcam-setup --models' from the OpenCV model repository; not bundled
      with vcam. Copyright (C) Shenzhen Institute of Artificial
      Intelligence and Robotics for Society.
      https://github.com/ShiqiYu/libfacedetection

  PP-HumanSeg segmentation model — human_segmentation_pphumanseg_2023mar.onnx
      Licensed under the Apache License 2.0. Downloaded on request by
      'vcam-setup --models'; not bundled with vcam. Originates from
      PaddlePaddle/PaddleSeg. https://github.com/PaddlePaddle/PaddleSeg

  MobileFaceNet facial expression model —
  facial_expression_recognition_mobilefacenet_2022july.onnx
      Licensed under the Apache License 2.0. Downloaded on request by
      'vcam-setup --models'; not bundled. From the OpenCV Zoo.

  Fast neural style transfer models — mosaic-9 / candy-9 /
  rain-princess-9 / udnie-9 / pointilism-9 (.onnx)
      Licensed under the MIT License (ONNX Project Contributors).
      Downloaded on request by 'vcam-setup --models-style' from the ONNX
      Model Zoo mirror (huggingface.co/onnxmodelzoo); not bundled.
      Originals from pytorch/examples fast_neural_style.

  RVM — Robust Video Matting (rvm_mobilenetv3_fp32.onnx)
      Licensed under the GPL-3.0 license. Downloaded on request by
      'vcam-setup --models-rvm' from the official GitHub release
      (PeterL1n/RobustVideoMatting); not bundled with vcam. Used as an
      optional higher-quality matting engine for the personfx filter.

  None of the model files above are distributed with vcam; each is fetched by the
  user from its upstream source and retains its own license above.


The fonts embedded in filter.c (the 8x8 ASCII-art glyph ramp and the VHS
timecode digits) are original bitmap data created for this project and are
covered by vcam's GPL-2.0 license along with the rest of the source.