Библиотеки и лицензирование
Правовой статус программного обеспечения
Программный код TapeXPlayer зарегистрирован в Федеральной службе по интеллектуальной собственности (Роспатент) Российской Федерации.
Свидетельство о государственной регистрации программы для ЭВМ №2025688734 Дата регистрации: 22 октября 2025 года Правообладатель: Малолеткин Максим Фёдорович
Регистрация подтверждает авторское право и фиксирует дату создания программного обеспечения в рамках диссертационного исследования.
Лицензия проекта
TapeXPlayer распространяется под лицензией GNU General Public License версии 3.0 (GPL-3.0).
Выбор GPL-3.0 обусловлен использованием библиотеки FFmpeg с GPL-компонентами (libx264 для H.264, специфичные кодеки и фильтры). Согласно условиям GPL, программное обеспечение, использующее GPL-библиотеки, должно распространяться под той же лицензией.
Используемые библиотеки
FFmpeg
Лицензия: LGPL 2.1+ / GPL 2.0+ (в зависимости от конфигурации) Использование: Декодирование видео и аудио потоков, работа с контейнерами файлов Веб-сайт: https://ffmpeg.org/
Используемые компоненты:
- libavformat: демультиплексирование контейнеров (MP4, MOV, MKV, AVI)
- libavcodec: декодирование видео (H.264, H.265, ProRes, DNxHD) и аудио (AAC, MP3, PCM)
- libswscale: преобразование цветовых пространств (YUV ↔ RGB)
- libswresample: ресэмплирование аудио
- libavutil: утилитарные функции
Поддержка аппаратного декодирования: VideoToolbox (macOS), VA-API (Linux), DXVA2 (Windows).
SDL2
Лицензия: zlib License Использование: Кросс-платформенная оконная система, рендеринг, обработка событий ввода Веб-сайт: https://www.libsdl.org/
Функциональность:
- Создание и управление окнами приложения
- Инициализация графических рендереров (Metal, OpenGL, Direct3D, Vulkan)
- Рендеринг YUV текстур
- Обработка событий клавиатуры и мыши
- Таймеры и измерение времени
SDL_ttf
Лицензия: zlib License Использование: Рендеринг TrueType шрифтов для экранной индикации (OSD) Веб-сайт: https://github.com/libsdl-org/SDL_ttf
Растеризация тайм-кода, индикаторов скорости и VU-метров. Шрифт встроен в бинарный файл через массив байтов.
PortAudio
Лицензия: MIT License Использование: Воспроизведение аудио через системные API Веб-сайт: http://www.portaudio.com/
Абстракция аудио вывода для CoreAudio (macOS), ALSA/PulseAudio (Linux), WASAPI/DirectSound (Windows). Регистрация callback функции для заполнения аудио буфера.
RtMidi
Лицензия: MIT-style License Использование: Интеграция с MIDI контроллерами Веб-сайт: https://github.com/thestk/rtmidi
Поддержка протокола Mackie Control для управления воспроизведением через физические фейдеры и кнопки. Абстракция для CoreMIDI (macOS), ALSA (Linux), WinMM (Windows).
Платформенно-специфичные API
macOS
- Cocoa: нативные диалоги (
NSOpenPanel) - VideoToolbox: аппаратное декодирование видео
- CoreAudio: аудио вывод (через PortAudio)
- CoreMIDI: MIDI устройства (через RtMidi)
- Metal: графический API (через SDL2)
Лицензия: Проприетарные фреймворки Apple
Linux
- GTK+ 3 (LGPL 2.1+): нативные диалоги, контекстные меню
- X11/Wayland: оконная система (через SDL2)
- VA-API: аппаратное декодирование видео
- ALSA/PulseAudio: аудио подсистема (через PortAudio)
Windows
- Win32 API: нативные диалоги (IFileOpenDialog), оконная интеграция
- Direct3D 11/12: графический API (через SDL2)
- DXVA2: аппаратное декодирование видео
- WASAPI: аудио подсистема (через PortAudio)
Лицензия: Проприетарные API Microsoft
Предыдущий раздел: Модуль экземпляров плеера — координация множественных контекстов воспроизведения
Следующий раздел: Начало работы — установка и первичная настройка