Skip to main content

Библиотеки и лицензирование

Правовой статус программного обеспечения

Программный код 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


Предыдущий раздел: Модуль экземпляров плеера — координация множественных контекстов воспроизведения

Следующий раздел: Начало работы — установка и первичная настройка