- 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
148 lines
8.0 KiB
Plaintext
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.
|