Потоки (воспроизводимый контент)
Теперь у вас есть каталоги и метаданные. Добавим потоки — реальные источники видео.
Потоки — это ссылки на медиаресурсы. Они не содержат видео, а сообщают EMET Surf, где его воспроизвести.
Обновляем манифест
Добавьте "stream" в ресурсы:
{
"id": "my.first.emet.addon",
"version": "1.0.0",
"name": "Hello, World",
"description": "My first EMET Surf add-on",
"logo": "https://example.com/logo-256.png",
"resources": [
"catalog",
{"name": "meta", "types": ["movie"], "idPrefixes": ["hiwrld_"]},
"stream"
],
"types": ["movie"],
"catalogs": [{"id": "movieCatalog", "type": "movie", "name": "Hello, Movies"}]
}
Структура папок
Windows:
mkdir stream
mkdir stream\movie
macOS/Linux:
mkdir -p stream/movie
Структура:
my-emet-addon/
├── manifest.json
├── catalog/
│ └── movie/
│ └── movieCatalog.json
├── meta/
│ └── movie/
│ └── hiwrld_jellyfish.json
└── stream/
└── movie/
├── tt0032138.json
├── tt0017136.json
└── hiwrld_jellyfish.json
Примеры потоков
Торрент поток (stream/movie/tt0032138.json):
{
"streams": [
{"title": "Torrent - HD", "infoHash": "1588987DB4C7D98F74FB436AD8FEDE1CBE9F1F63"}
]
}
Прямой URL (stream/movie/tt0017136.json):
{
"streams": [
{"title": "Direct - HD", "url": "https://example.com/metropolis-hd.mp4"}
]
}
Несколько качеств (stream/movie/hiwrld_jellyfish.json):
{
"streams": [
{"title": "Web - 3 Mbps HD", "url": "http://jell.yfish.us/media/jellyfish-3-mbps-hd-h264.mkv"},
{"title": "Web - 15 Mbps HD", "url": "http://jell.yfish.us/media/jellyfish-15-mbps-hd-h264.mkv"},
{"title": "Web - 120 Mbps 4K", "url": "http://jell.yfish.us/media/jellyfish-120-mbps-4k-uhd-h264.mkv"}
]
}
Типы потоков:
{"title": "Direct", "url": "https://example.com/movie.mp4"}
{"title": "Torrent", "infoHash": "1588987DB4C7D98F74FB436AD8FEDE1CBE9F1F63"}
{"title": "External", "externalUrl": "https://example.com/stream"}
Правила:
- Всегда возвращайте валидный ответ. Если потоков нет —
{"streams": []} - Можно возвращать несколько потоков для одного элемента
- Давайте понятные названия потокам
Тестирование
- Обновите манифест
- Создайте файлы потоков
- Переустановите дополнение
- Проверьте, что в UI появились варианты воспроизведения