Skip to content

HTTP API хоста

Сервер отдаёт только API — интерфейса у него нет. Кросс-доменные запросы разрешены, поэтому клиент может жить на другом origin.

Сервер и библиотека

Метод и путьНазначение
GET /api/infoданные о сервере: доступность ffmpeg, кодек, папки, число файлов
GET /api/mediaсписок библиотеки (с метаданными от плагинов)
GET /api/media/{id}одна запись + дорожки аудио и субтитров
GET /api/resolve?size=…&fingerprint=…поиск файла по отпечатку содержимого (для лаунчера)

Идентификатор файла — отпечаток содержимого (размер и хеш краёв), поэтому ссылки и метаданные переживают переименование и перенос файла.

Воспроизведение

Метод и путьНазначение
GET /raw/{id}прямой стрим с HTTP Range — для браузерных файлов
GET /hls/{id}/playlist.m3u8master-плейлист: вариант видео + рендиции дорожек
GET /hls/{id}/video.m3u8медиа-плейлист видео (VOD)
GET /hls/{id}/segment/N.tsвидеосегмент, транскодируется на лету
GET /hls/{id}/audio/K.m3u8 и …/audio/K/N.tsаудиодорожка K отдельным потоком
GET /hls/{id}/subs/K.m3u8 и …/subs/K/N.vttсегменты субтитров в WebVTT
GET /api/media/{id}/subtitle/N.vttвся дорожка субтитров одним файлом

Какой режим у файла, клиент узнаёт из поля streamType: direct — отдаётся как есть, hls — транскодируется, unsupported — воспроизвести нельзя.

Библиотека: дерево и метаданные

Эти эндпоинты появляются вместе с плагином Prism.Plugins.Library.

Метод и путьНазначение
GET /api/library/treeвсё дерево групп и членство файлов одним запросом
POST /api/library/nodesсоздать группу
PUT / DELETE /api/library/nodes/{id}переименовать, перенести, удалить ветку
PUT / DELETE /api/library/nodes/{id}/items/{mediaId}членство файла в группе
PUT / DELETE /api/media/{id}/metaсвободные пары ключ-значение у файла
PUT / DELETE /api/library/nodes/{id}/metaто же для группы
POST /api/library/scanпрогнать обслуживание немедленно; ?replace=true — очистить библиотеку и разложить заново
POST /api/library/gcудалить записи файлов, которых нет на диске

Диагностика

Метод и путьНазначение
GET /api/debug/sessionsактивные сессии транскодирования, их прогресс, CPU и память

Опубликовано под лицензией MIT