Поделиться через


Документация по синтаксису строки запроса

Параметры вводятся в строку запроса, разделенные запятыми и скобками. Этот синтаксис появился в 2017 году для полной поддержки функций PlayReady 3:

  • Аналогично синтаксису JSON (но не реальному JSON)
  • Легко читать и редактировать
  • Не включает небезопасные символы (например, амперсанд) и не должны требовать экранирования любого из них
  • Примечание. Строка запроса не должна содержать пробелы (' ')
  • Примечание. Символы "+" допустимы в аргументах в кодировке Base64
  • Позволяет запрашивать несколько лицензий в одном ответе на лицензии и задавать параметры для каждого из них.
  • Пример: видео-трек, зашифрованный с одним набором ключей в SL3000, и звуковая дорожка, зашифрованная с другим набором ключей в SL2000.
  • Новый формат времени yymmdd (например, 20171231) и позволяет задавать часы, минуты и секунды: ггггммдд[hhmmss] (например, 20171231235959)

Примечание. Параметры, необходимые для сохранения:true, если требуется получать постоянные лицензии.

Примеры

LAURL (https://test.playready.microsoft.com/service/) Description
rightsmanager.asmx Возврат одной нестандартной лицензии с правами PLAY и уровнем безопасности 150 для ребенка, найденного в WRMHEADER, с помощью начального значения ключа теста
rightsmanager.asmx?cfg=(ckt:aescbc) НОВОЕ В PLAYREADY 4.0. Верните одну неустойную лицензию с правой игрой для ребенка, найденного в WRMHEADER, с типом ключа содержимого, установленным для шифрования AESCBC (в отличие от AESCTR).
rightsmanager.asmx?cfg=(begindate:20170101,expiration:20170101010000) Верните одну непрестантную лицензию с правой игрой для ребенка, найденного в WRMHEADER, используя начальную дату начала 1 января 2017 г. 0:00 и фиксированное истечение срока действия 1 января 2017 г. 1:00 утра
rightsmanager.asmx?cfg=(persist:true,begindate:20170101,expiration:20170201,firstexp:60) Верните одну постоянную лицензию с фиксированными датами начала и окончания, а также относительный срок действия 60 секунд после первого воспроизведения. Примечание. Необходимо явно вызывать сохранение:true для получения постоянных лицензий.
rightsmanager.asmx?cfg=(kid:B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A,sl:3000),(kid:7C9484BA-C238-467A-869C-CDD8C7167712,sl:2000) Верните две не постоянные лицензии с правами PLAY, один с уровнем безопасности 3000, один с уровнем безопасности 2000. Примечание. Эти два KID должны соответствовать KID в WRMHEADER

Параметры

Параметр Значение Ценности Комментарии, примеры, значение по умолчанию
сл Установка минимального уровня безопасности для лицензии 150, 2000, 3000 Пример: sl:3000
Значение по умолчанию — 150.
Примечание. Для видеоключа может быть задано значение sl:3000, но в целом клиенты поддерживают только звуковые ключи, которые будут иметь значение sl:2000 максимум
ключи Использование начального значения ключа, предоставленного для создания ключа содержимого в лицензиях Массив байтов base64 Пример: keyeed:Wdkg2jsl3djgqSFer26XVBoVVVEggUOSKSQaz
Значение по умолчанию — это начальное значение начального ключа теста, предоставленное здесь
козлёнок Используется в группе свойств для связывания этих свойств с одним KID Заголовок или Guid в формате реестра или строке base64 Пример 1: kid:header
Пример 2: kid:e13a7861-d8cc-4284-9245-7c835ebde9f0
Пример 3: kid:YXg64czYhEKSRXyDXr3p8A==
В случае с kid:header сервер лицензий использует KID, найденный в WRMHEADER, поступающий вместе с запросом лицензии. В этом случае WRMHEADER должен включать только один КИД
contentkey Задание ключа содержимого Массив байтов base64 Пример: contentkey:eNqVnXrElmo2NSsn7IXeEA==
Значение по умолчанию — key(TestKeySeed, kid)
ckt Указывает тип шифрования ключа содержимого (CTR или CBC) aesctr , aescbc Пример: ckt:aescbc
Значение по умолчанию — aesctr
Лицензия будет включать набор ключей содержимого для шифрования AESCBC
НОВЫЕ ВОЗМОЖНОСТИ PLAYREADY 4.0
время Установка Идентификатора транзакций в ответе на лицензию guid (произвольный) Пример: tid:3033E8F0-FB1B-4170-AD5C-60549AAB2C79
Добавляет предоставленное значение в свойство LicenseResponse.TransactionId, которое потребует от клиента отправить запрос на подтверждение лицензии с помощью указанного идентификатора транзакции обратно на сервер лицензирования.
 
драматург Добавление воспроизведения справа ложь, истина Пример: playright:true
Значение по умолчанию — true
Примечание. Лицензия, возвращенная без права, не позволит клиенту использовать содержимое.
readright Добавление правой кнопки чтения ложь, истина Пример: readright:true
Значение по умолчанию — false.
Executeright Добавление правой кнопки выполнения ложь, истина Пример: executeright:true
Значение по умолчанию — false.
extendedright Добавление расширенного права Целое число. См. пример Пример: (extendedright:(type:500,extended:(type:400, mustunderstand:true,besteffort:false,data:Ah==)))
Сохраняются Установка лицензии как сохраняемая или нет ложь, истина Пример: persist:true
По умолчанию используется значение false.
Если лицензия не является постоянной, она хранится только на клиенте в ОЗУ в контексте проигрывателя мультимедиа.
simple Использование SimpleNonPersistentLicense ложь, истина Пример: simple:true
По умолчанию используется значение false.
Использует определенный класс SimpleNonPersistentLicense для выдачи ответа лицензии. Этот класс поддерживается в более ранних версиях Silverlight.
 
begindate Установка даты и времени, перед которым лицензия отключена yyyymmdd[hhmmss] (GMT) Пример: begindate:20170101
Лицензия не позволит играть обратно до 1 января 2017 г. 00:00:00 GMT
завершение или истечение срока действия Установка даты и времени, после которого лицензия отключена yyyymmdd[hhmmss] (GMT) Пример 1. enddate:20170131
Пример 2: enddate:20170131235959 . Лицензия не позволит играть обратно после 31 января 2017 23:59:59 GMT
firstplayexpiration или firstexp Установка относительного истечения срока действия после первого воспроизведения Секунды в целочисленном значении Пример: firstexp:60
Лицензия не позволит запустить воспроизведение ровно через 60 секунд после запуска первого воспроизведения с той же лицензией.
Realtime Добавление ограничения срока действия в режиме реального времени ложь, истина Пример: realtime:true
Значение по умолчанию — false.
Если это свойство задано, он требуется клиенту для принудительного применения срока действия во время сеанса воспроизведения в режиме реального времени.
Примечание. Это поддерживается только клиентами PlayReady 3
удаление Установка даты удаления лицензии на клиенте (GMT) yymmdd[hhmmss] Пример: удаление:20170228
Обратите внимание, что клиенты могут удалять лицензии на основе этого свойства. Windows запускает этот процесс удаления при каждом приобретении лицензий.
Дополнительные ограничения по настройке этого свойства см. в документации по пакету SDK сервера.
 
isroot Требуется, чтобы запрошенная лицензия была корневой лицензией с определенным корневым КИД ложь, истина Пример: cfg=(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638)
rootid Установка корневой лицензии KID для конечной лицензии гид Пример: cfg=(rootid:3C6F3C13-6207-4916-867C-8252B3993638,kid:header),(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B39393638)
 
sourceid Установка ограничения sourceID или ограниченного идентификатора источника инт Пример: sourceid:267
Проверьте допустимые значения в разделе CRs 6.12
 
caopl Установка ограничения уровня защиты сжатых цифровых звуковых выходных данных целое число Пример: caopl:200
Значение по умолчанию — 0
Как правило, требуется безопасный звуковой драйвер для сжатого звука.
Проверьте допустимые значения в разделе CR 6.7 и 3.6.2
Код пакета SDK для сервера:
right.CompressedDigitalAudioOPL = 200;
ucaopl Установка ограничения уровня защиты от вывода цифровых аудиоданных целое число Пример: ucaopl:300
Значение по умолчанию — 0
Как правило, требуется HDCP или DTCP для несжатого звука.
Проверьте допустимые значения в разделе CRs 6.7 и 3.6.3
Код пакета SDK для сервера:
right.UncompressedDigitalAudioOPL = 300;
cvopl Установка ограничения уровня защиты выходных данных с сжатым цифровым видео целое число Пример: cvopl:500
Все допустимые значения имеют то же значение, что продукт PlayReady не должен передавать часть видео сжатого расшифрованного содержимого в любые выходные данные видео.
Проверьте допустимые значения в разделе CRs 6.7 и 3.6.4
Код пакета SDK для сервера:
right.CompressedDigitalVideoOPL = 500;
ucvopl Установка ограничения уровня защиты от вывода цифрового видео целое число Пример: ucvopl:300
Значение по умолчанию — 0
Обычно требуется HDCP в HDMI для несжатого видео.
Проверьте допустимые значения в разделе CRs 6.7 и 3.6.5
Код пакета SDK для сервера:
right.UncompressedDigitalVideoOPL = 300;
avopl Установка ограничения уровня защиты аналогового вывода видео целое число Пример: avopl:200, чтобы требовать CGMS-A копирования никогда не
Проверьте допустимые значения в разделе CRs 6.7 и 3.6.6.
Код пакета SDK для сервера:
right.AnalogVideoOPL = 200;
dvop Добавление явной защиты выходных данных цифрового видео guid и необязательные данные, закодированные в строке base 64 Пример: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==) для требования ТИПА 1 HDCP.
См. раздел CR 3.6.5.7.
Код пакета SDK для сервера:
right.AddDigitalVideoOutputProtection(new Guid("", 1))
daop Добавление явной защиты выходных данных цифрового звука guid и необязательные данные, закодированные в строке base 64 Пример: daop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6,data:AAAAAQ==) для требования SCMS.
См. раздел CR 3.6.3.8.
Код пакета SDK для сервера:
right.AddDigitalAudioOutputProtection(new Guid("{6D5CFA59-C250-4426-930E-FAC72C8FCFA6}", 1))
avop Добавление явной аналоговой защиты выходных данных видео guid и данные, закодированные в строке base 64 Пример: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)
Проверьте допустимые значения в разделе CRs 6.5.
Код пакета SDK для сервера:
right.AddAnalogVideoOutputProtection(new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}", 1)
 
расширенные ограничения Добавление одного или нескольких расширенных ограничений справа Целое число и свойства, см. пример Пример: (extendedrestrictions:(type:400, mustunderstand:true,besteffort:false,data:Ah==),(type:401, mustunderstand:true,besteffort:false,data:Ah==)))
Предполагается, что применимо к правой игре, если другое право не задано.
playenablers Добавление одного или нескольких включения воспроизведения в лицензию guid или группа guid Пример 1: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7) (разрешить неизвестные выходные данные).
Пример 2: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7,5ABF0F0D-DC29-4B82-9982-FD8E57525BFC) (разрешить неизвестные выходные данные и airPlay).
Ознакомьтесь со сведениями о CRS для всех включения воспроизведения.
 
 
  Приведенные ниже параметры являются короткими для определенных сочетаний ограничений и средств включения воспроизведения, описанных выше.
 
явныйacp Настройка ограничения автоматического получения и цветовой полосы для аналогового видео целое число 0,1,2,3 Пример: explicitacp:2
Эквивалент: avop(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAAAA==)
См. раздел 6.5.1 и 3.6.7.2.
Код пакета SDK для сервера:
right.AddAnalogVideoOutputProtection(new ExplicitOutputProtection(new Guid("C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA"), HeightBytes.Concat(WidthBytes).ToArray()))
maxres Установка ограничения максимального эффективного декодирования разрешения целое число x целое число Пример: maxres:1920x1080
Эквивалент: dvop:(guid:9645E831-E01D-4FFF-8342-0A720E3E028F,data:AAAEOAAAB4A=)
См. раздел 6.5 и 3.6.5.7.1.
Код пакета SDK для сервера:
right.AddDigitalVideoOutputProtection(new ExplicitOutputProtection(new Guid("9645E831-E01D-4FFF-8342-0A720E3E028F"), BitConverter.GetBytes((int)value))
allowunknownsd Добавление элемента управления вывода для неизвестных выходных данных для ограниченного разрешения ложь, истина Пример: allowunknownsd:true
Эквивалент: playenablers:(B621D91F-EDCC-4035-8D4B-DC71760D43E9)
См. раздел CR 3.9.2.
Код пакета SDK для сервера:
right.AddPlayEnabler(new PlayEnabler(new Guid("B621D91F-EDCC-4035-8D4B-DC71760D43E9")))
allowunknownhd Добавление элемента управления вывода для неизвестных выходных данных для любого разрешения ложь, истина Пример: allowunknownhd:true
Эквивалент: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)
См. раздел CR 3.9.1.
Код пакета SDK для сервера:
right.AddPlayEnabler(new PlayEnabler(new Guid("786627D8-C2A6-44BE-8F88-08AE255B01A7")))
 
clientinfo Специальный компонент отражения. Дополнительные сведения см. на этой странице .