Об этом проекте
NymphCast — это программное решение, которое превращает выбранное вами оборудование в источник аудио и видео для телевизора или активных колонок. Оно обеспечивает потоковую передачу аудио и видео по сети с клиентского устройства или медиасервера, а также потоковую передачу интернет-медиа на сервер NymphCast, управляемый клиентским устройством или напрямую на приёмнике. Сервер поддерживает приложения NymphCast (в настоящее время в предварительной версии), написанные на AngelScript, для расширения функциональности, например, поддержку сторонних протоколов потоковой передачи аудио/видео на стороне сервера и настраиваемые пользовательские интерфейсы в клиентском приложении.
NymphCast требует клиентское устройство во всех режимах, кроме режима GUI («Smart TV»). Серверное приложение (приёмник) работает на целевом устройстве, а клиентское устройство функционирует как пульт дистанционного управления. Базовая функциональность на стороне клиента обеспечивается библиотекой NymphCast.
## Сценарии использования
- **NymphCast Audio**: режим приёмника только для аудио с профилем `nymphcast_audio_config.ini`.
- **NymphCast Video**: режим приёмника для аудио и видео с профилем `nymphcast_video_config.ini`.
- **NymphCast ScreenSaver**: как режим видео, но с заставкой на основе изображений, когда контент не воспроизводится, с использованием `nymphcast_screensaver_config.ini`.
- **NymphCast GUI**: как режим видео, но с включённым автономным режимом GUI (smart TV) (экспериментально), с использованием `nymphcast_gui_config.ini`.
## Сетевые порты
Сервер NymphCast использует UDP-порт 4004 для обнаружения и TCP-порт 4004 для воспроизведения. Системы, работающие с NymphCast MediaServer, также должны иметь доступные UDP и TCP порты 4005. Убедитесь, что эти порты внесены в белый список в правилах брандмауэра, если это применимо.
## Возможности и статус
- **Потоковая передача файлов** (100%): потоковая передача медиафайлов с клиента на сервер.
- **Субтитры и потоки** (75%): поддержка выбора субтитров и потоков; поддержка встроенных растровых (например, PGS) субтитров. Текстовые и внешние субтитры будут добавлены в v0.2.
- **Многокомнатная передача** (85%): синхронизированное воспроизведение в нескольких комнатах (экспериментально в v0.1).
- **MediaServer** (100%): потоковая передача с экземпляров NymphCast MediaServer.
- **URL-потоковая передача** (100%): потоковая передача по URL-адресам.
- **Поддержка кодеков** (100%): поддержка всех кодеков, поддерживаемых ffmpeg.
**Экспериментальные функции:**
- **SmartTV** (75%): автономный режим GUI с интегрированным GUI на основе EmulationStation.
- **Приложения** (25%): приложения на основе AngelScript с реализациями CLI и HTML-интерфейса.
- **Локальные медиа** (25%): воспроизведение локальных медиа с базовой реализацией в v0.2-alpha0.
## Экосистема NymphCast
- **NymphCast Server**: приёмник для клиентов.
- **LibNymphCast**: библиотека для разработки клиентов NymphCast.
- **NymphCast Client**: клиент на основе CLI.
- **NymphCast Player**: графический клиент на Qt и эталонная реализация SDK.
- **NymphCast MediaServer**: серверное приложение для предоставления медиаконтента клиентам.
## Поддержка платформ
Клиент NymphCast Player был скомпилирован и использовался на Windows (7, 10), Linux (x86, ARM: Arch, Debian), Android (8+), FreeBSD (14.1) и Haiku (R1 Beta 5). Сервер работает на любой платформе, поддерживаемой инструментарием C++17 и зависимостями LibPoco и ffmpeg, включая Windows, MacOS, Linux и BSD. Протестированные платформы включают x86_64 Windows, Linux, FreeBSD, Haiku, Raspberry Pi 4 (до 1080p при 24 FPS h.264) и другие с различной поддержкой аппаратного ускорения.
## Начало работы
Чтобы начать использовать NymphCast, вам понадобится устройство для сервера (вероятно, SBC или система Linux). Релизы доступны на GitHub, с пакетами для FreeBSD, Alpine Linux и PostmarketOS. Также доступны предварительно скомпилированные бинарные файлы для Android и Windows. Серверный бинарный файл можно запустить с флагом конфигурации, например, `./nymphcast_server -c nymphcast_audio_config.ini`. Сервер прослушивает все сетевые интерфейсы и поддерживает такие опции, как `-v` для вывода версии.
## Сборка из исходного кода
Инструкции по сборке предоставлены для сервера и плеера в папке `doc/`. Репозиторий содержит исходные коды сервера, клиентского SDK и клиента NymphCast Player.
## Руководство разработчика
Разработка сосредоточена на сервере и протоколе. Сторонним лицам рекомендуется вносить вклад в поддержку серверных приложений. Документация размещена на сайте Nyanko.
## Лицензия
NymphCast полностью открыт под лицензией BSD с 3 пунктами. Проект полагается на пожертвования через Ko-Fi или прямые пожертвования для поддержки дальнейшего развития.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.