Source Code
Norri includes components licensed under the GNU General Public License (GPL) and GNU Lesser General Public License (LGPL). Source code for these components is provided below.
norri-transcoder
A build of FFmpeg for media server transcoding, streaming, and codec operations. Based on an upstream media-server FFmpeg fork, itself derived from FFmpeg.
License
norri-transcoder enables GPL components and --enable-version3, and is therefore licensed under the GNU General Public License v3 or later (GPL-3.0+).
The build configuration and all license texts are included in the source tarball.
Attribution
- FFmpeg. ffmpeg.org. Copyright (c) 2000-2025 the FFmpeg developers.
- Upstream media-server FFmpeg fork. Full attribution is preserved in the source tarball.
Changes from upstream
norri-transcoder is derived from an upstream media-server FFmpeg fork with the following changes:
- Removed fdk-aac. The third-party FDK AAC encoder has been removed; norri-transcoder uses FFmpeg’s native AAC encoder instead. The upstream patch that reclassified fdk-aac-stripped as a standard library has also been removed, reducing the patch count from 93 to 92.
- Rebranded. Package name, installation paths, and version string changed to norri-transcoder.
The remaining 92 media-server patches from upstream are preserved unmodified.
Modified files carry notices identifying the changes and their date, as required by GPL v2 Section 2(a).
Source code
norri-transcoder-7.1.3-1.tar.gz
sha256: 9c9f67e7b93335e7380c90fbbc8b05b5b70359876818985859f2c9a63a5077de
norri-wasm
A WebAssembly build of the libass subtitle renderer for the browser, used by Norri’s web client to render ASS/SSA subtitles. Forked from an actively maintained downstream JavascriptSubtitlesOctopus branch, itself a fork of the upstream github.com/libass/JavascriptSubtitlesOctopus project.
License
The package license expression is:
LGPL-2.1-or-later AND (FTL OR GPL-2.0-or-later) AND MIT AND MIT-Modern-Variant AND ISC AND NTP AND Zlib AND BSL-1.0
The dominant license for the relinkable browser subtitle renderer is GNU Lesser General Public License v2.1 or later (LGPL-2.1+). Bundled libraries retain their own licenses, including FreeType under FTL or GPL-2.0-or-later, plus MIT, MIT-Modern-Variant, ISC, NTP, Zlib, and BSL-1.0 components. All license texts are included in the source distribution.
Attribution
- libass. github.com/libass/libass. Copyright (c) the libass contributors.
- JavascriptSubtitlesOctopus (upstream). github.com/libass/JavascriptSubtitlesOctopus. Originally by Dador / JustAMan.
- JavascriptSubtitlesOctopus (active downstream fork). Full attribution is preserved in the source tarball’s README and COPYRIGHT files.
Changes from upstream
norri-wasm is derived from the actively maintained JavascriptSubtitlesOctopus fork with the following changes:
- Rebranded. Package name and homepage changed; npm
nameis nownorri-wasm. - No code modifications. The renderer, worker, and WebAssembly artifacts are preserved unmodified to retain upstream subtitle-rendering fixes.
Source code
Norri provides complete corresponding source as a componentized source set. The root archive contains the norri-wasm source tree, build scripts, .gitmodules, SUBMODULES.txt, COPYING.LESSER, and COPYRIGHT. The submodule archives contain the pinned source trees for the bundled libraries. Unpack all archives into the same parent directory to reconstruct the complete source tree without contacting external repositories.
| Archive | SHA-256 |
|---|---|
| norri-wasm-4.2.5-norri.1-src.tar.gz | 0f94bd3b1c55e4f15adff5dd0b3ffb30ee439a76fbae341379e2b78779bbe7f1 |
| norri-wasm-4.2.5-norri.1-submodule-libass.tar.xz | 25f635845b5bd41fe937ea122f2c2269d9330d2f3be7ba8a8439db1656b74432 |
| norri-wasm-4.2.5-norri.1-submodule-fribidi.tar.xz | fbebbcbeea6b4b7262907ab7b72629c6ea2ee7beabb180ee1af015704cf3038f |
| norri-wasm-4.2.5-norri.1-submodule-fontconfig.tar.xz | 7e40446ce2c392a01294fb88630b0b86016b08457ab34f2d7923bc3cfc8bccc1 |
| norri-wasm-4.2.5-norri.1-submodule-freetype.tar.xz | ac030f39b8565997db806fe747b1b75b6a40f7b37705148e61fafe90a15526a7 |
| norri-wasm-4.2.5-norri.1-submodule-expat.tar.xz | f5964fb7e097e16e4dc90f709f1b212b557738945a061316551c329176f2712e |
| norri-wasm-4.2.5-norri.1-submodule-harfbuzz.tar.xz | 247a0a0a5ef65077d8844d627ad932cdd272cd1101a999b6c9192eb20e36b70c |
| norri-wasm-4.2.5-norri.1-submodule-brotli.tar.xz | c4ed7a34bae97e65e14c1fc0327cc2a88d94537cf97c0de237bfc38c2707c793 |
This split keeps each file under the static hosting file-size limit while preserving a complete, machine-readable source distribution for relinking.
norri-airplay
AirPlay audio sending to speakers and devices like HomePods. Translated from the AirPlay component of OwnTone (formerly forked-daapd).
License
GNU General Public License v2 or later (GPL-2.0+)
Attribution
- OwnTone (formerly forked-daapd). github.com/owntone/owntone-server. Copyright (c) 2009-2011 Julien BLACHE, Copyright (c) 2012-2020 Espen Jürgensen, and OwnTone contributors.
- FFmpeg (ALAC encoder). ffmpeg.org. Copyright (c) 2000-2025 the FFmpeg developers.
Changes from upstream
norri-airplay is a translation of OwnTone’s AirPlay implementation from C to Go, extracted as a standalone component with an integrated ALAC encoder.
| norri-airplay | OwnTone source |
|---|---|
internal/airplay2/ | src/outputs/airplay.c |
internal/raop/ | src/outputs/raop.c |
internal/hap/ | src/pair_ap/ |
internal/rtp/ | src/outputs/rtp_common.c |
internal/discovery/ | src/mdns.c |
internal/audio/ | src/outputs/raop.c (ALAC encoding) + FFmpeg |
Each Go source file carries a header identifying the original OwnTone source it is derived from.
Source code
Source downloads will be available here when Norri reaches public release.
Building from source
Each source tarball includes a build script and instructions needed to reproduce the distributed binaries.
Written offer for source code
In accordance with the GNU General Public License and GNU Lesser General Public License, we will provide the complete corresponding source code for any GPL-licensed or LGPL-licensed component distributed with Norri to any party, for a period of at least three years from the date of each release, at no charge beyond the cost of distribution.
To request source code, contact hello@norri.tv.