Files
LlamaCasty/THIRD-PARTY-NOTICES.txt
T
gramps 9f3c154d84 TASK 51 slice 1: background-effects engine — bundled MediaPipe Selfie Segmenter (ONNX) + Remove (Unit: bg-effects engine)
- Model: Google's official MediaPipe Selfie Segmenter (landscape, Apache-2.0 per model card),
  converted to ONNX by tools/selfie-seg/convert_tflite_to_onnx.py (custom op
  Convolution2DTransposeBias -> ConvTranspose) and verified against MediaPipe's own runtime
  (verify_against_mediapipe.py: max |diff| 5e-5, 100% binary agreement). Embedded resource, 430 KB.
- Services/BackgroundEffects: IPersonSegmenter seam, OnnxPersonSegmenter (onnxruntime 1.31.0 CPU,
  never throws), BackgroundEffectProcessor (None passthrough, Remove = alpha mask). Not wired yet.
- Tests: Remove integration test (fake segmenter) + bundled-model contract test vs MediaPipe
  reference mask. Full suite 407/408 — the one failure is the documented interactive-desktop flake
  RealMouseDrag_OnTheLayerList_PersistsTheReorder (passed in the run before; code path untouched).
- Docs: ai.md reversal + section + licensing guard, THIRD-PARTY-NOTICES 11-12, TASK 51, indexes,
  MyMistakes recipe, HANDOFF.

References: obs-backgroundremoval (approach only — ONNX Runtime on CPU, 2 threads; GPL-3.0, no code
used) https://github.com/royshil/obs-backgroundremoval ; MediaPipe image segmenter
https://ai.google.dev/edge/mediapipe/solutions/vision/image_segmenter
2026-10-09 09:24:13 -07:00

148 lines
8.0 KiB
Plaintext

ytLlive — Third-Party Notices
================================
ytLlive is a paid, closed-source product. This file lists every third-party
component the product distributes, its license, and where to get
its source, so the LGPL/BSD/MIT obligations are met. Distribution obligations
are NOT optional: they attach because this product ships these components.
Note on FFmpeg (items 1-2): it used to be DOWNLOADED at first run. As of
TASK 48 item 1 (2026-09-28) it is BUNDLED — the exact pinned build is fetched
at BUILD time by scripts/fetch-ffmpeg.sh, verified against a SHA-256, and
shipped inside the package. The product fetches no executable at runtime.
If this file changes, update it here AND in the app's About screen (the About
overlay's licensing panel surfaces this file in-app). See TASKS.md (TASK 4) and
ai.md ("Licensing — do not violate") for the guardrails — the "never do" list is
there on purpose.
--------------------------------------------------------------------------------
1. FFmpeg (dynamic libraries + ffmpeg.exe, LGPL v2.1+)
Copyright (c) 2000-2026 the FFmpeg developers
License: GNU Lesser General Public License v2.1 or later
Home: https://ffmpeg.org/
Source: https://git.ffmpeg.org/ffmpeg.git
Used as: the streaming encoder/RTMP subprocess. This product distributes the
UNMODIFIED binaries; it never links FFmpeg into its own code (it is
launched as a separate process fed raw frames over a pipe).
Bundled: ffmpeg.exe, ffprobe.exe and the libav*.dll family, unmodified, in a
single `ffmpeg\` folder beside the application executable. They are the
lgpl-SHARED build, so the DLLs must stay siblings of the exe — Windows
resolves them from the executable's own directory.
Why LGPL (not GPL): a GPL build (e.g. gyan.dev, or BtbN's "gpl" variant)
would contaminate this proprietary product. Do NOT use one.
Why "shared" (not static): LGPL v2.1 §6 requires "relinkable" materials for
statically-linked libraries. The shared build links dynamically, so
the user can replace the DLLs — compliance is this notice plus the
source offer below, with no relink material required.
Compliance supplied by this product:
- The license text: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
- The corresponding source / written offer to obtain it:
FFmpeg source https://ffmpeg.org/download.html
Exact binary https://github.com/BtbN/FFmpeg-Builds
Exact artifact ffmpeg-N-126342-gf88b741dbf-win64-lgpl-shared.zip
Build tag: autobuild-2026-08-31-13-27 (variant lgpl-shared)
Archive SHA-256: 46ea6521ed3877689d2ff0bd03640ac2637104415f6237d42625d13408767146
- The binaries are unmodified and the LGPL notices therein are intact.
- The SHA-256 above is the integrity record for the bundled copy; it is
asserted by scripts/fetch-ffmpeg.sh before extraction and re-derivable
from the artifact URL in that script.
2. BtbN FFmpeg-Builds (the build system that produced the bundled binary)
License: MIT (build scripts + repository) — the produced binaries are
covered by FFmpeg's LGPL (item 1).
Home: https://github.com/BtbN/FFmpeg-Builds
3. OpenH264 (the H.264 software fallback encoder, libopenh264)
Copyright (c) 2010-2026 Cisco Systems, Inc. (and contributors)
License: BSD 2-Clause + Cisco's H.264 patent grant
Home: https://www.openh264.org/
Note: Cisco grants the patent license for its own H.264 implementation;
it is COMPILED INTO avcodec-63.dll in the bundled build above (verified
2026-09-28: the encoder is registered in that DLL; there is no separate
openh264 binary to ship). So item 1's LGPL obligations apply to the FFmpeg
code and Cisco's BSD terms plus its patent grant apply to the OpenH264
code inside it. This is the product's software H.264 fallback when no
hardware encoder (NVENC/QSV/AMF) is available — it is deliberately never
libx264, which would be GPL.
4. SQLite (bundled via SQLitePCLRaw's e_sqlite3 native bundle)
License: public domain (no rights reserved)
Home: https://www.sqlite.org/
5. Microsoft.Data.Sqlite (.NET data provider, statically linked into this app)
Copyright (c) .NET Foundation and contributors
License: MIT
Home: https://github.com/dotnet/efcore
6. SQLitePCLRaw (raw SQLite bindings + bundles)
Copyright (c) 2012-2026 Eric Sink and contributors
License: Apache-2.0
Home: https://github.com/ericstj/SQLitePCLRaw
7. .NET runtime / WPF / Windows SDK projections, incl.
System.Security.Cryptography.ProtectedData
Copyright (c) .NET Foundation and contributors
License: MIT
Home: https://github.com/dotnet/
8. Simple Icons (bundled SVG logo path data for the social bar, e.g. the
mastodon/peertube/pixelfed fediverse logos)
Copyright (c) Simple Icons contributors (public domain dedication)
License: CC0 1.0 Universal (no rights reserved, no attribution required)
Home: https://simpleicons.org/
Source: https://github.com/simple-icons/simple-icons
Used as: path data compiled into the app's `SocialServiceIcons` so each
social entry renders the service's real logo. CC0 imposes no
obligations; it is listed here per this file's "list everything"
policy.
9. NAudio (WASAPI audio capture — loopback + mic)
Copyright (c) Mark Heath and contributors
License: MIT
Home: https://github.com/naudio/NAudio
Used as: the WASAPI loopback (desktop/game audio) and mic capture sources
behind the `IAudioSource` seam (TASK 4 ship step 4). MIT imposes
no source offer; this notice is kept per this file's policy.
10. Notification.Wpf + Notification.CoreUI (toast notifications, TASK 24)
Copyright (c) Platonenkov and contributors
License: MIT
Home: https://github.com/Platonenkov/Notification.Wpf
Used as: the in-window toast area (bottom-right) behind the
`INotificationService` seam — non-blocking user-facing messages.
Transitive dependencies (Microsoft.Xaml.Behaviors.Wpf,
Microsoft.Extensions.DependencyInjection.Abstractions) are MIT,
covered by item 7's .NET notice policy; this notice is kept per
this file's "list everything" policy.
11. ONNX Runtime (Microsoft.ML.OnnxRuntime — runs the webcam background model, TASK 51)
Copyright (c) Microsoft Corporation
License: MIT
Home: https://github.com/microsoft/onnxruntime
Used as: the CPU inference runtime (managed package + native onnxruntime.dll)
behind the `IPersonSegmenter` seam. MIT imposes no source offer.
12. MediaPipe Selfie Segmenter (landscape) (webcam background Remove/Blur, TASK 51)
Copyright (c) Google LLC (authors: Tingbo Hou, Siargey Pisarchyk, Karthik
Raveendran — model card "MediaPipe Selfie Segmentation", 2021-05-06)
License: Apache License 2.0
Home: https://ai.google.dev/edge/mediapipe/solutions/vision/image_segmenter
Source: https://storage.googleapis.com/mediapipe-models/image_segmenter/selfie_segmenter_landscape/float16/latest/selfie_segmenter_landscape.tflite
Changes (Apache-2.0 §4b): converted from TensorFlow Lite to ONNX format by
tools/selfie-seg/convert_tflite_to_onnx.py — float16 weights widened
to float32, NHWC graph re-expressed in NCHW; the weights and the
network are otherwise unmodified. Embedded in the application as
selfie_segmenter_landscape.onnx. Runs entirely on the user's PC.
--------------------------------------------------------------------------------
MISCELLANEOUS
- The full text of every license named above is available at the linked
canonical locations. The v1 (GA) release MUST additionally bundle the full
license texts alongside this file (a `licenses/` folder beside it, still
reachable from the About screen) — TASK 4 requirement 9, a release blocker.
- No warranty is expressed or implied for any third-party component.