Android Widevine DASH реализация + ExoPlayer
Я хочу играть в Widevine Modular - DASH видео в моем приложении, и я хочу использовать VideoView
или же ExoPlayer
для этого.
Есть ли образец, как я могу его настроить? Или вы можете предоставить мне пример кода, как получить лицензию? У меня есть URL видео, а также URL сервера Widevine.
До того, как мы использовали Widevine classic, запрос на лицензию выглядит так:
private void prepareDrmInfoRequest()
{
mDrmInfoRequest = new DrmInfoRequest(DrmInfoRequest.TYPE_RIGHTS_ACQUISITION_INFO, "application/mp4");
mDrmInfoRequest.put("WVVideoUrlKey", "http://some_url.com/dash/1.mpd");
mDrmInfoRequest.put("WVDRMServerKey", "http://some_url.com/video/widevine_modular/?auth_token=haslůkfjlksjfljnvlakhnsufn");
mDrmInfoRequest.put("WVCAUserDataKey", "LJKHlklkhkljhKJLHuzgztfZTFZTUFzutf");
mDrmInfoRequest.put("WVPortalKey", "provider");
}
а потом
public int processDrm()
{
DrmInfo df = mDrmManagerClient.acquireDrmInfo(mDrmInfoRequest);
if(df != null)
{
return mDrmManagerClient.processDrmInfo(df);
}
}
После этого видео воспроизводилось на VideoView или ExoPlayer.
2 ответа
Я понимаю, что это старый вопрос, но если кто-то все еще ищет это, стандартная демонстрация ExoPlayer также включает в себя широкий пример.
Демо-плеер доступен здесь:
И примеры манифестов Widevine можно увидеть в конфигурации в следующем месте:
ExoPlayer / playbacktests / SRC /androidTest/ Java/ COM / Google / Android/exoplayer2/playbacktests/ ГСТ /DashTest.java
Чтобы увидеть его, используйте поиск "DefaultDrmSessionManager" в репозитории.
После загрузки демоверсии exoplayer, в демоверсии exoplayer вам просто нужно изменить media.exolist.json в активе
как это лет:
[
{
"name": "Widevine DASH DRM Tests",
"samples": [
{
"name": "tes DRM -acquire license",
"uri": "https://YOURlinkto.mpd",
"drm_scheme": "widevine",
"drm_license_url": "https://drm-widevine-licensing.axtest.net/AcquireLicense",
"extension": "mpd",
"drm_key_request_properties": {
"X-AxDRM-Message": "YOUR-xrdm-value"
}
}
]
}
]