Оценете темата:
  • 0 гласа - средно 0
  • 1
  • 2
  • 3
  • 4
  • 5
Използване на MPEG-DASH и Microsoft smooth streaming
#1
С течение на времето, все повече доставчици на съдържание преминават от HLS и HDS към MPEG-DASH или ако не са добре с централния, към Microsoft smooth streaming. В самите стандарти е заложено да избират адаптивно подходящ битрейт и качество:
Код:
DEBUG: AddOnLog: InputStream Adaptive: Selecting stream with conditions: w: 1920, h: 1005, bw: 14006795
Понеже в FFmpeg все още няма заложена подръжка за обработване на MPEG-DASH манифестите и по дефиниция самите стриймове може да изискват content decryption module (DRM) от сорта на Widevine, разработчиците на Kodi поеха сами щафетата за да отговорят на mainstream течението. С появата на Kodi 17 Krypton ще бъде официално регламентирано инсталирането на двоични/бинарни addon-и т.е. такива, които вече са компилирани на някакъв си език (C++, C#...). Дори и да не са с отворен код, идеята е да бъде възможно създаването на читави addon-и за легалните стрийминг провайдери като YouTube, Netflix, Hulu, Amazon Prime и др. използващи защити с DRM.

Ако използвате Kodi 17 или по-нов и сте инсталирали и разрешили InputStream Adaptive addon, тогава имате вече поддръжка на новите DRM формати. Обърнете внимание, че горепосочения модул е наличен само за Krypton и по-нови "Кодита" т.е. в старите няма да бъде възможно зареждането на тези два формата!

В директория ...addons/inputstream.adaptive/lib се намират всички CDM/DRM модули, които модула има на разположение. По подразбиране идва с libssd_wv.so/.dll , но може да му добавите Widevine например, копирайки libwidevinecdm.so/.dll от локалната ви инсталация на Google Chrome, Opera или Steam (проверете т.6).

Гледане на MPEG-DASH през .strm файл:
Код:
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
http://a.files.bbci.co.uk/media/live/manifesto/audio_video/simulcast/dash/uk/dash_pc/llnw/bbc_one_hd.mpd


Гледане на MPEG-DASH през m3u плейлиста:
Код:
#EXTM3U
#EXTINF:-1,BBC One
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
http://a.files.bbci.co.uk/media/live/manifesto/audio_video/simulcast/dash/uk/dash_pc/ak/bbc_one_hd.mpd
#EXTINF:-1,BBC Two
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
http://a.files.bbci.co.uk/media/live/manifesto/audio_video/simulcast/dash/uk/dash_pc/ak/bbc_two_hd.mpd


Код за addon с поддръжка на inputstream.adaptive:
Код:
headers = 'User-Agent=Some user agent&Cookie=some_cookie'
li = xbmcgui.ListItem(iconImage=iconimage, thumbnailImage=iconimage, path=stream)
li.setInfo('video', { 'title': name })
if dash=='true':
  li.setProperty('inputstreamaddon', 'inputstream.adaptive')
  li.setProperty('inputstream.adaptive.manifest_type', 'mpd')
  li.setProperty('inputstream.adaptive.stream_headers', headers)
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, li)

Забележка: Посочените стриймове са с илюстративна цел и са ограничени по геолокация за Великобритания.

Както виждате, технологията е налице и още в този момент можете да я изпробвате през актуалния YouTube addon за Kodi 17, ако сте разрешили inputstream.adaptive функционалността в настройките на въпросния addon.

? Откъде да си набавя inputstream.adaptive?  Ами докато се появи в официалните хранилища, можете да го инсталирате през бинарното хранилище на kodinerds.net.

? Има ли повече информация по темата?  ТУК, например.
[Изображение: PEnGs.jpg]
? Това означава ли, че най-сетне ще може да се направи addon за HBOGO ? Вероятно ДА. В този случай се използва Майкрософтската технология, където манифеста е ism:
[Изображение: BUL.jpg]
[Изображение: notrobosmall.jpg]
Отговори
#2
хубаво инфо
Отговори
#3
Очаквайте скоро... нативна поддръжка на Netflix: https://github.com/asciidisco/plugin.video.netflix  А точно колко скоро - няма да е по-рано от 2018г., когато ще излезе Kodi v18.

Цитат:Kodi 17 only supports decrypting via Widevine. But Netlfix (like Amazon these days) follows a "decrypt and decode" DRM policy. Unfortunately inputstream.adaptive and Kodi 17 did not support decoding by Widevine. They´ve changed that in Kodi-Agile (and the inputstream.adaptive agile branch). That´s why it also isn't possible with the Kodi 18 mainline project to use the plugin (which will change, as changes in Agile will be merged back one day).
[Изображение: notrobosmall.jpg]
Отговори
#4
Ако настроите InputStream.Adaptive на предпочитаното от вас максимално качество/резолюция, той ще се опита да го спазва във всички добавки, които разчитат на него за видео възпроизвеждане:
[Изображение: inputstreamadaptive.png]
InputStream.Adaptive поддръжа също и TTML субтитри, разпространявани чрез манифестите mpd, ism,... паралелно с видео-потока. Тези субтитри използват глобалните настройки за субтитри в Коди и за момента, липсват настройки за тях в самия InputStream.Adaptive.
[Изображение: notrobosmall.jpg]
Отговори
#5
Намерих много добро демо за тестване на inputstream.adaptive приставката с различни конфигурации на Smooth Streaming, HLS и MPEG-DASH. 
С некриптираните стриймове няма проблем и работят перфектно, но криптираните въобще не мога да ги подкарам. Те са достъпни за всички на сайта https://demo.castlabs.com/ 
Ако някой има успех да подкара  MPEG-DASH DRM и да каже как.

Код:
#EXTM3U
#EXTINF:-1,APPLE HLS - Некриптирана - РАБОТИ
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=hls
https://demo.cf.castlabs.com/media/prestohls/master.m3u8?v=5.1.8

#EXTINF:-1,MPEG-DASH - Некриптирана - РАБОТИ
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
https://demo.cf.castlabs.com/media/prestodash/Manifest.mpd?v=5.1.8

#EXTINF:-1,SMOOTH STREAMING - Некриптирана - РАБОТИ
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=ism
https://usp-demo.castlabs.com/video/piff/31245689abb7c52a3d0721447bddd6cd_Tears_Of_Steel.ism/Manifest?v=5.1.8

#EXTINF:-1,MPEG-DASH DRM - Криптирана - НЕ РАБОТИ
#KODIPROP:mimetype=application/vnd.apple.mpegurl
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://lic.staging.drmtoday.com/license-proxy-widevine/cenc/|User-agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36&dt-custom-data=eyJ1c2VySWQiOiJwdXJjaGFzZSIsInNlc3Npb25JZCI6InAwIiwibWVyY2hhbnQiOiJzaXgifQ==&Origin=https://demo.castlabs.com&Referer=https://demo.castlabs.com|R{SSM}|J
https://demo.cf.castlabs.com/media/bbb_abr/Manifest_new.mpd?v=5.1.8
Отговори
#6
Това на castlabs inputstream на Коди не го пуска, пробвай vlc ще го отвори без проблем, аз също имах подобен проблем през mtelnow
Отговори
#7
Какво им е особеното, че да не искат да работят?
С последните промени, които направих в license_key темплейта (показан по-долу) успявам да си изпратя заявката за лиценз, но лицензния сървър нещо не харесва тона с който му говоря и ми казва "Аре чупката" т.е. "HTTP error 500" Sad .


Код:
#EXTINF:-1,MPEG-DASH DRM - Криптирана - НЕ РАБОТИ
#KODIPROP:mimetype=application/vnd.apple.mpegurl
#KODIPROP:inputstreamaddon=inputstream.adaptive
#KODIPROP:inputstream.adaptive.manifest_type=mpd
#KODIPROP:inputstream.adaptive.license_type=com.widevine.alpha
#KODIPROP:inputstream.adaptive.license_key=https://lic.staging.drmtoday.com/license-proxy-widevine/cenc/|User-agent=Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36&dt-custom-data=eyJ1c2VySWQiOiJwdXJjaGFzZSIsInNlc3Npb25JZCI6InAwIiwibWVyY2hhbnQiOiJzaXgifQ==&Origin=https://demo.castlabs.com&Referer=https://demo.castlabs.com|R{SSM}|J
https://demo.cf.castlabs.com/media/bbb_abr/Manifest_new.mpd?v=5.1.8
Отговори


Отваряне на: