Как настроить FFMPEGInterop для использования DRM playready - PullRequest
0 голосов
/ 01 ноября 2019

Я использую класс FFMPEGInterop для воспроизведения видео UWP. Мне нужно воспроизвести его с настройкой playready, но у меня возникают проблемы.

Я могу воспроизвести игру только с mediaplayerelement и созданием менеджера защиты, но когда я создаю FFMPEGMSS для потоковой передачи, это не удается. Говорит, что значение выходит за пределы диапазона при добавлении менеджера защиты в MediaStreamSource.

var StreamSource = FFmpegMSS.GetMediaStreamSource();
var protectionManager = new Windows.Media.Protection.MediaProtectionManager();
Windows.Foundation.Collections.PropertySet cpSystems = new Windows.Foundation.Collections.PropertySet();
cpSystems.Add("{F4637010-03C3-42CD-B932-B48ADF3A6A54}", "Microsoft.Media.PlayReadyClient.PlayReadyWinRTTrustedInput"); //Playready
protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionSystemIdMapping", cpSystems);
protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionSystemId", "{F4637010-03C3-42CD-B932-B48ADF3A6A54}");
protectionManager.ServiceRequested += ProtectionManager_ServiceRequested;
protectionManager.ComponentLoadFailed += ProtectionManager_ComponentLoadFailed;

protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionContainerGuid", "{9A04F079-9840-4286-AB92-E65BE0885F95}");

var supportsHardwareDrm = PlayReadyStatics.CheckSupportedHardware(PlayReadyHardwareDRMFeatures.HardwareDRM);
if (!supportsHardwareDrm)
{
    protectionManager.Properties["Windows.Media.Protection.UseSoftwareProtectionLayer"] = true;
}
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

Header.Text = supportsHardwareDrm ? "SUPPORTED" : "NOT SUPPRTED";

StreamSource.MediaProtectionManager = protectionManager;

mediaElement.Source = MediaSource.CreateFromMediaStreamSource(StreamSource);

Я должен иметь возможность воспроизводить DRM playready с менеджером защиты установки, чтобы начать, но вниз получить любую информацию о нем, настолько запутанную наследующий шаг для этого.

1 Ответ

1 голос
/ 01 ноября 2019

UWP MediaElement не обеспечивает необходимой поддержки контента PlayReady, поступающего из внешних источников. То есть, при воспроизведении FFmpegMSS.

воспроизведение UWP PlayReday отсутствует. Вы можете использовать PlayReady только с собственными источниками Microsoft для потоковой передачи мультимедиа.

...