FFmpeg (desktop apps)
The Windows and Mac apps include unmodified, ready-built copies of FFmpeg 6.1.1, taken from the ffmpeg-static project's release. FFmpeg is licensed under the GNU General Public License, version 3 or later (GPL-3.0-or-later).
Tenna runs FFmpeg as a separate program on your computer, only to convert audio the built-in player cannot decode and to read the subtitle tracks of films. It is not linked into Tenna. The licence text and the readme for the exact build are installed with the app, in the ffmpeg folder inside the app's resources.
You can get FFmpeg's source code from ffmpeg.org. If you would like the source that matches the build in a Tenna download, ask us on GitHub and we will point you to it.
Main components
This is not a complete list. Each project's own page has its full licence and its own dependencies.
| Component | Used for | Licence |
|---|---|---|
| React, React Native, React Native Web | The app's interface, on phones, tablets and the web | MIT |
| Expo and Expo Router | App framework, navigation and device features | MIT |
| Electron (with Chromium) | The Windows and Mac apps' window and engine | MIT; Chromium and its parts under their own licences (BSD-style and others) |
| hls.js | Playing HLS streams on the desktop | Apache-2.0 |
| mpegts.js | Playing MPEG-TS streams on the desktop | Apache-2.0 |
| FFmpeg | Audio conversion and subtitle reading, desktop apps | GPL-3.0-or-later (see above) |
| VLC / VLCKit | A fallback player for formats the built-in one cannot open, phone and tablet apps | LGPL-2.1-or-later |
| Zustand | App state | MIT |
| FlashList | Long, fast lists | MIT |
| React Native Reanimated and Gesture Handler | Animation and touch gestures | MIT |
| NativeWind and Tailwind CSS | Styling | MIT |
| electron-builder | Building the installers | MIT |
Tenna's own source
The source code for the apps is on GitHub: the app, the desktop packaging and this website. Please read the licence in each repository for the terms that apply to that code.