dodocastӘзірлеушілергеPlayer SDK
Player SDKсайтыңыз бен серверіңізге.
@dodocast/player dodocast плеерін беттеріңізге орналастырады, тікелей HLS сілтемелерін жасайды, 24/7 арнада қазір және келесіде не жүретінін оқиды және бэкендіңізде жабық бейнеге сілтемелерге қол қояды. Тәуелділіктері жоқ, TypeScript типтері бар, MIT лицензиясы.
Төрт міндет, қарапайым функциялар.
| Міндет | Функциялар | Немен жұмыс істейді |
|---|---|---|
| Сілтемелер және embed | watchUrl(), embedUrl(), embedHtml(), mount() — адаптивті немесе тұрақты өлшем, басталу уақыты, плейлист элементі, жабық сілтеме құпиясы | бейнелер, плейлистер, трансляциялар, 24/7 арналар |
| Тікелей HLS сілтемелері | streamUrl() — fMP4/CMAF, MPEG-TS, бейнелерге byte-range | бейнелер, трансляциялар, 24/7 арналар; Pro және Business |
| Арна деректері | getChannelState() (қазір және келесі), getChannelGuide() (екі аптаға дейін), progress() | жарияланған 24/7 арналар |
| Қолтаңбалы сілтемелер | @dodocast/player/server ішіндегі signToken(), signedStreamUrl(), signedPlaylistItemUrl() — JWT, HS256, 24 сағ дейін | өз контентіңіз; Node.js 18+ |
Консольдегідей embed.
embedHtml() консольдегі «Embed» батырмасы беретін белгілеуді қайтарады; mount() оны бетіңіздегі элементке қояды.
- Әдепкі бойынша адаптивті, кез келген арақатынаспен — тік бейне үшін
aspect: [9, 16]. - Бейнені
startарқылы керекті секундтан бастаңыз, плейлисттіitemарқылы керекті элементте ашыңыз. - Плеердің қай жерде көрінетіні консольде әр бейнеге бөлек орнатылады: барлық жерде, ешқайда немесе 50-ге дейінгі доменде.
«Қазір эфирде» виджеті — бірнеше жолда.
Әр жарияланған арна өз күйін және хабарлар бағдарламасын ашық JSON түрінде береді. SDK екеуін де оқиды және сервер сағатына негізделген прогресс мәнін береді.
getChannelState(): эфирде ме, жоқ па, ағымдағы және келесі элемент, ағымдағы және келесі кестедегі хабар.getChannelGuide(): әдепкі бойынша алдағы 24 сағат,fromжәнеtoарқылы екі аптаға дейінгі кез келген аралық.- Күйді әр 10–30 секунд сайын сұраңыз; push-арна жоқ.
hls.js, Safari және теледидарларға тікелей HLS.
streamUrl() манифест URL-ін құрастырады. Ашық контент одан тікелей ойнайды; қалғаны серверіңізде сілтемеге қол қойылғанша 403 қайтарады.
- Бейнелер: fMP4/CMAF, MPEG-TS және byte-range манифестері. Трансляциялар мен арналар: fMP4/CMAF және MPEG-TS.
- Шифрланған контент стандартты HLS плеерлерде ойнайды: кілт URI-і манифесте көрсетілген.
- Ұстап қалу мен соңына дейін көруді dodocast плеері өлшейді; өз плееріңіздегі көрулер трафик ретінде есептеледі.
Кім көретінін бэкендіңіз шешеді.
Консольде «Settings» → «Signing keys» бөлімінде кілт жасаңыз. Серверіңіз бір бейнеге, плейлистке, трансляцияға немесе арнаға токен береді; қалғанын плеер өзі істейді.
- Тақырып
{ alg: HS256, kid }, денесі{ code, iat, exp }, жарамдылық мерзімі 24 сағатқа дейін. - Құпия консоль көрсеткендей, дәл сол жол ретінде пайдаланылады. Оны ешқашан браузерге жібермеңіз.
- Python, PHP және Kotlin мысалдары қолтаңбалы сілтемелер нұсқаулығында.
SDK не істемейді.
Мұны басынан ескеріп жоспарлай алуыңыз үшін.
- Ойнату API-і жоқ: ендірілген плеерде play, pause немесе seek шақыру немесе оның оқиғаларын тыңдау мүмкін емес. Интеграция — iframe; басталу уақыты мен плейлист элементі URL-де беріледі.
- Жүктеу немесе басқару API-і жоқ: бейнелерді консольде жүктеп, реттеңіз.
- DASH және DRM жоқ. Шифрлау — HLS AES-128 немесе SAMPLE-AES.
- Тікелей камера немесе энкодер кірісі жоқ: трансляциялар мен арналар жүктелген бейнелерді эфирге шығарады.
Құрастыру қадамынсыз жұмыс істей ме?
Иә. Бұл қарапайым ES модульдері: оны бандлеріңізде npm-нен немесе script тегінде ESM CDN-нен импорттаңыз.
Маған қай тариф керек?
Embed және арна деректері барлық тарифте жұмыс істейді. Тікелей HLS сілтемелері мен қолтаңбалы сілтемелер — Pro және Business тарифтерінде.
Сілтемелер қайда апарады?
Әдепкі бойынша watch.dodocast.com және stream.dodocast.com мекенжайларына. Ерте қолжетімділік кезінде сізге берілген хосттарды hosts опциясымен беріңіз.
Бұл ашық бастапқы код па?
Иә, MIT. GitHub-та issue және pull request-терді қуана қабылдаймыз.
Арнаңызға дейін — бір жүктеу.
dodocast-ты алғашқы серіктестерге ашамыз: медиа, білім, оқиғалар, корпоративтік ТВ. Эфирге не шығарғыңыз келетінін айтыңыз.
немесе жазыңыз hello@dodocast.com
dodocast консолі әзірге тек ағылшын және орыс тілдерінде қолжетімді.