? SDK аддона Стремио? был разработан командой Stremio как способ значительно упростить создание дополнений Node.js для нашей потоковой платформы.
Stremio в настоящее время поддерживает Windows, macOS, Linux, Android и iOS.
Важно: мы настоятельно рекомендуем развертывать дополнения на серверах BeamUp.
В этом произвольном примере создается надстройка, которая предоставляет поток для Big Buck Bunny и выводит HTTP-адрес, по которому вы можете получить к нему доступ.
const { addonBuilder, serveHTTP,PublishToCentral } = require('stremio-addon-sdk')const builder = новый addonBuilder({id: 'org.myexampleaddon',version: '1.0.0',name: 'простой пример',/ / Свойства, определяющие, когда Стремио выбирает этот аддон // это означает, что ваш аддон будет использоваться для потоков типа Moviecatalogs: [],resources: ['stream'],types: ['movie'],idPrefixes: ['tt']})// принимает function(args)builder.defineStreamHandler(function(args) {if (args.type = == 'movie' && args.id === 'tt1254207') {// отправляем один поток в Big Buck Bunnyconststream = { url: 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4' }return Promise.resolve({streams: [stream] })} else {// в противном случае не возвращать потокиreturn Promise.resolve({streams : [] })}})serveHTTP(builder.getInterface(), { порт:process.env.PORT || 7000 })//publishToCentral("https://your-domain/manifest.json") // <- вызовите это, если вы хотите опубликовать свое дополнение и оно будет доступно публично на «вашем-домене»
Сохраните это как addon.js
и запустите:
npm установить stremio-addon-sdk узел ./addon.js
Он выведет URL-адрес, который вы можете использовать для установки дополнения в Stremio.
Обратите внимание: URL-адреса дополнений в Stremio должны загружаться с использованием HTTPS (кроме 127.0.0.1
) и поддерживать CORS! Поддержка CORS автоматически осуществляется SDK, но если вы пытаетесь загрузить дополнение удаленно (не из 127.0.0.1
), вам необходимо поддерживать HTTPS.
Чтобы создать новый аддон Stremio, мы создали инструмент под названием addon-bootstrap
.
Вы можете использовать его следующим образом:
npm install -g stremio-addon-sdk # используйте sudo, если в Linuxaddon-bootstrap hello-world
Вас спросят, какие ресурсы и типы вы хотите поддерживать, после чего аддон будет создан в каталоге hello-world
, и вы сможете его запустить:
компакт-диск привет-мир установка npm npm start -- --запуск
Если вы хотите установить дополнение в версию Stremio для настольных компьютеров (которую вы можете скачать здесь), вам следует использовать npm start -- --install
Вся наша документация находится здесь, на GitHub. Взгляните на наш список примеров, чтобы получить некоторую общую информацию, или погрузитесь прямо в нашу документацию SDK, чтобы найти справочную документацию по коду.
У нас также есть пример дополнения, которое вы можете использовать в качестве руководства, которое поможет вам создать собственное дополнение.
Мы подготовили два пошаговых руководства: одно для этого SDK и одно для любого языка программирования, которое вы можете прочитать здесь.
Если вы не хотите использовать Node.js (и, следовательно, не используете этот SDK), вы можете создавать надстройки на любом языке программирования. Дополнительную информацию см. в спецификации протокола надстроек.
Также возможно создать дополнение без какого-либо языка программирования, см. наш пример статического дополнения, основанный на спецификации протокола.
Возможности SDK включают в себя:
Публикация дополнения через HTTP(s)
Публикация ссылки на аддон в общедоступной коллекции аддонов с помощьюPublishToCentral.
Создание домашней страницы для вашего дополнения с кнопкой «Установить дополнение».
Разработчики, которым нужен быстрый способ протестировать свои новые дополнения, могут:
Тест со Стремио
Протестируйте нашу веб-версию
Чтобы ваше дополнение могли использовать другие, его необходимо развернуть в Интернете.
Вы можете просмотреть наш список рекомендуемых хостинг-провайдеров для Node.js или разместить его локально с помощью localtunnel.
После публичного развертывания, чтобы ваше дополнение отображалось в Stremio (через общедоступную коллекцию дополнений), вам необходимо использоватьPublishToCentral или опубликовать вручную через пользовательский интерфейс.
Ознакомьтесь с нашим постоянно растущим списком примеров и демонстрационных дополнений. Этот список также включает примеры и руководства по разработке дополнений Stremio на PHP, Python, Ruby, C#, Rust, Java и Go. Он также включает в себя список видеоуроков.
Существует сторонняя версия этого SDK на Rust, построенная на stremio-ядре, разработанная Sleeyax.
Существует сторонняя версия Go этого SDK, разработанная doodswork здесь.
Прочтите наше руководство по расширенному использованию, чтобы понять, как можно использовать дополнения.
Если у вас есть какие-либо проблемы, связанные с SDK Stremio Addon, сообщите о них здесь.
Для перехода с версии 0.x вам необходимо:
измените new addonSDK
на new addonBuilder
, который вы можете импортировать через const addonBuilder = require('stremio-addon-sdk').addonBuilder
измените addon.run(opts)
на serveHTTP(addon.getInterface(), opts)
, который вы можете импортировать через const serveHTTP = require('stremio-addon-sdk').serveHTTP
все обработчики должны возвращать Promise
(вместо того, чтобы брать cb
)
Использование этого SDK не является обязательным для создания дополнений Stremio. Вы можете использовать любой язык программирования, поддерживающий создание HTTP-сервера, для создания дополнений Stremio. Подробности и примеры см. в нашей спецификации протокола.
Одним из полезных сценариев отказа от использования SDK является то, что вам нужны данные пользователя для вашего дополнения (например, токен аутентификации API), вы можете увидеть пример передачи данных пользователя в URL-адресе дополнения здесь. В этом примере используются Node.js и Express для получения пользовательских данных. (Обновление: Addon SDK теперь поддерживает пользовательские настройки)
создан с любовью и серьезными навыками программирования командой Stremio