다음을 통해 공유


쿼리 문자열 구문 설명서

매개 변수는 쿼리 문자열에 쉼표와 대괄호로 구분되어 입력됩니다. 이 구문은 PlayReady 3 기능을 완벽하게 지원하기 위해 2017년에 도입되었습니다.

  • JSON 구문과 유사합니다(실제 JSON은 아님).
  • 쉽게 읽고 편집할 수 있습니다.
  • 안전하지 않은 문자(예: 앰퍼샌드)를 포함하지 않으며 이스케이프할 필요가 없습니다.
  • 참고: 쿼리 문자열에는 공백 문자(' ')가 포함되어서는 안 됩니다.
  • 참고: '+' 문자는 base64로 인코딩된 인수에서 허용됩니다.
  • 하나의 라이선스 응답에서 여러 라이선스에 대한 요청을 허용하고 각 라이선스에 대한 매개 변수를 설정할 수 있습니다.
  • 예: SL3000에서 하나의 키 집합으로 암호화된 비디오 트랙과 SL2000에서 다른 키 집합으로 암호화된 오디오 트랙.
  • 새 날짜 시간 형식 yyyymmdd(예: 20171231) 및 설정 시간, 분 및 초 허용: yyyymmdd[hhmmss](예: 20171231235959)

참고: 영구 라이선스를 받으려면 매개 변수에 persist:true를 포함해야 합니다.

예시

LAURL(https://test.playready.microsoft.com/service/) Description
rightsmanager.asmx 테스트 키 시드를 사용하여 WRMHEADER에서 찾은 어린이의 경우 PLAY 권한 및 보안 수준이 150인 비영구 라이선스 1개를 반환합니다.
rightsmanager.asmx?cfg=(ckt:aescbc) PLAYREADY 4.0의 새로운 기능. AESCBC 암호화에 대해 설정된 콘텐츠 키 유형(AESCTR과 반대)을 사용하여 WRMHEADER에 있는 어린이에 대한 PLAY 권한이 있는 비영구 라이선스를 반환합니다.
rightsmanager.asmx?cfg=(begindate:20170101,expiration:20170101010000) 2017년 1월 1일 0:00의 시작 날짜와 2017년 1월 1일 오전 1:00의 고정 만료가 있는 테스트 키 시드를 사용하여 WRMHEADER에 있는 어린이에 대한 PLAY 권한이 있는 비영구 라이선스를 반환합니다.
rightsmanager.asmx?cfg=(persist:true,begindate:20170101,expiration:20170201,firstexp:60) 시작 및 종료 날짜가 고정된 영구 라이선스 하나와 첫 번째 재생 후 60초의 상대 만료를 반환합니다. 참고: 영구 라이선스를 받으려면 persist:true를 명시적으로 호출해야 합니다.
rightsmanager.asmx?cfg=(kid:B6E39626-1CFB-4AA1-BCBD-4EF1ABA7843A,sl:3000),(kid:7C9484BA-C238-467A-869C-CDD8C7167712,sl:2000) PLAY 권한이 있는 두 개의 비영구 라이선스를 반환합니다. 하나는 보안 수준이 3000이며, 하나는 보안 수준이 2000인 라이선스입니다. 참고: 이 두 KID는 WRMHEADER의 KID와 일치해야 합니다.

매개 변수

매개 변수 Meaning 가치들 주석, 예제, 기본값
SL 라이선스에 대한 최소 보안 수준 설정 150, 2000, 3000 예: sl:3000
기본값은 150입니다.
참고: 비디오 키는 sl:3000으로 설정될 수 있지만 일반적으로 클라이언트는 오디오 키만 지원하여 최대 sl:2000으로 설정됩니다.
keyseed 제공된 키 시드를 사용하여 라이선스에서 콘텐츠 키 생성 base64 바이트 배열 예: keyseed:Wdkg2jsl3djgqSFer26XVVVVRPzVEggUOSKSQaz
기본값은 여기에 제공된 테스트 키 시드입니다.
꼬마 속성 그룹에서 이러한 속성을 하나의 KID에 연결하는 데 사용됩니다. 'header', 또는 레지스트리 형식 또는 base64 문자열의 Guid 예제 1: kid:header
예제 2: kid:e13a7861-d8cc-4284-9245-7c835ebde9f0
예제 3: kid:YXg64czYhEKSRXyDXr3p8A==
kid:header의 경우 라이선스 서버는 라이선스 요청과 함께 제공되는 WRMHEADER에 있는 KID를 사용합니다. 이 경우 WRMHEADER는 하나의 KID만 포함해야 합니다.
contentkey 콘텐츠 키 설정 base64 바이트 배열 예: contentkey:eNqVnXrElmo2NSsn7IXeEA==
기본값은 key(TestKeySeed, kid)입니다.
ckt 콘텐츠 키 암호화 유형(CTR 또는 CBC)을 지정합니다. aesctr, aescbc 예: ckt:aescbc
기본값은 aesctr입니다.
라이선스에는 AESCBC 암호화에 대한 콘텐츠 키 집합이 포함됩니다.
PLAYREADY 4.0의 새로운 기능
타이드 라이선스 응답에서 TransactionId 설정 guid(임의) 예: tid:3033E8F0-FB1B-4170-AD5C-60549AAB2C79
제공된 값을 LicenseResponse.TransactionId 속성에 추가합니다. 그러면 클라이언트가 지정된 트랜잭션 식별자를 사용하여 라이선스 승인 챌린지를 라이선스 서버에 다시 게시해야 합니다.
 
playright 재생 권한 추가 거짓, 참 예: 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
기본값은 거짓입니다.
라이선스가 비영구로 설정된 경우 미디어 플레이어의 컨텍스트에서 RAM에만 클라이언트에 저장됩니다.
간단한 SimpleNonPersistentLicense 사용 거짓, 참 예: simple:true
기본값은 거짓입니다.
특정 SimpleNonPersistentLicense 클래스를 사용하여 라이선스 응답을 발급합니다. 이 클래스는 이전 버전의 Silverlight에서 지원되었습니다.
 
begindate 라이선스를 사용할 수 없는 날짜 및 시간 설정 yyyymmdd[hhmmss](GMT) 예: begindate:20170101
라이선스는 2017년 1월 1일 00:00:00 GMT 이전에 재생을 허용하지 않습니다.
enddate 또는 expiration 라이선스가 비활성화된 날짜 및 시간 설정 yyyymmdd[hhmmss](GMT) 예제 1: enddate:20170131
예제 2: enddate:20170131235959 - 라이선스는 2017년 1월 31일 23:59:59 GMT 이후 재생을 허용하지 않습니다.
firstplayexpiration 또는 firstexp 첫 번째 재생 후 상대 만료 설정 초 정수 예: firstexp:60
라이선스는 동일한 라이선스로 첫 번째 재생이 시작된 후 정확히 60초 후에 재생을 시작할 수 없습니다.
실시간 실시간 만료 제한 추가 거짓, 참 예: realtime:true
기본값은 false입니다.
이 속성이 설정되면 클라이언트가 실시간으로 재생 세션 중에 만료를 적용해야 합니다.
참고: PlayReady 3 클라이언트에서만 지원됩니다.
removaldate 클라이언트에서 라이선스를 삭제할 수 있는 날짜 설정(GMT) yyyymmdd[hhmmss] 예: removaldate:20170228
클라이언트가 이 속성에 따라 라이선스를 제거하는 것은 선택 사항입니다. Windows는 모든 라이선스 취득 시 이 제거 프로세스를 실행합니다.
이 속성 설정에 대한 추가 제약 조건은 서버 SDK 설명서를 참조하세요.
 
isroot 요청된 라이선스가 정의된 루트 KID를 사용하는 루트 라이선스여야 합니다. 거짓, 참 예: cfg=(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638)
rootid 리프 라이선스에 대한 루트 KID 설정 가이드(guid) 예: cfg=(rootid:3C6F3C13-6207-4916-867C-8252B3993638,kid:header),(isroot:true,kid:3C6F3C13-6207-4916-867C-8252B3993638)
 
sourceid SourceID 또는 제한된 원본 ID 제한 설정 정수 (int) 예: sourceid:267
CRs 섹션 6.12에서 허용되는 값 확인
 
caopl 압축 디지털 오디오 출력 보호 수준 제한 설정 integer 예: caopl:200
기본값은 0입니다.
일반적으로 압축 오디오에 보안 오디오 드라이버가 필요합니다.
CRs 섹션 6.7 및 3.6.2에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.CompressedDigitalAudioOPL = 200;
ucaopl 압축되지 않은 디지털 오디오 출력 보호 수준 제한 설정 integer 예: ucaopl:300
기본값은 0입니다.
일반적으로 압축되지 않은 오디오에 HDCP 또는 DTCP가 필요합니다.
CRs 섹션 6.7 및 3.6.3에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.UncompressedDigitalAudioOPL = 300;
cvopl 압축 디지털 비디오 출력 보호 수준 제한 설정 integer 예: cvopl:500
허용되는 모든 값은 PlayReady 제품에서 압축된 암호 해독된 콘텐츠의 비디오 부분을 비디오 출력에 전달해서는 안 됨을 의미합니다.
CRs 섹션 6.7 및 3.6.4에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.CompressedDigitalVideoOPL = 500;
ucvopl 압축되지 않은 디지털 비디오 출력 보호 수준 제한 설정 integer 예: ucvopl:300
기본값은 0입니다.
일반적으로 압축되지 않은 비디오의 경우 HDMI의 HDCP가 필요합니다.
CRs 섹션 6.7 및 3.6.5에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.UncompressedDigitalVideoOPL = 300;
avopl 아날로그 비디오 출력 보호 수준 제한 설정 integer 예: avopl:200을 CGMS-A 복사하지 않아도 되도록 합니다.
CRs 섹션 6.7 및 3.6.6에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.AnalogVideoOPL = 200;
dvop 명시적 디지털 비디오 출력 보호 추가 base 64 문자열로 인코딩된 guid 및 선택적 데이터 예: dvop:(guid:ABB2C6F1-E663-4625-A945-972D17B231E7,data:AAAAAQ==) HDCP 형식 1을 요구합니다.
CRs 섹션 3.6.5.7을 참조하세요.
서버 SDK 코드:
right.AddDigitalVideoOutputProtection(new Guid("", 1))
daop 명시적 디지털 오디오 출력 보호 추가 base 64 문자열로 인코딩된 guid 및 선택적 데이터 예: daop:(guid:6D5CFA59-C250-4426-930E-FAC72C8FCFA6,data:AAAAAQ==) SCMS가 필요합니다.
CRs 섹션 3.6.3.8을 참조하세요.
서버 SDK 코드:
right.AddDigitalAudioOutputProtection(new Guid("{6D5CFA59-C250-4426-930E-FAC72C8FCFA6}", 1))
avop 명시적 아날로그 비디오 출력 보호 추가 base 64 문자열로 인코딩된 guid 및 데이터 예: avop:(guid:760AE755-682A-41E0-B1B3-DCDF836A7306,data:AAAAAQ==)
CRs 섹션 6.5에서 허용되는 값을 확인합니다.
서버 SDK 코드:
right.AddAnalogVideoOutputProtection(new Guid("{760AE755-682A-41E0-B1B3-DCDF836A7306}", 1)
 
extendedrestrictions 오른쪽에 하나 이상의 확장 제한 추가 정수 및 속성, 예제 참조 예: (extendedrestrictions:(type:400, mustunderstand:true,besteffort:false,data:Ah==),(type:401, mustunderstand:true,besteffort:false,data:Ah==))
다른 권한이 설정되지 않은 경우 Play 권한에 적용할 수 있다고 가정합니다.
playenablers 라이선스에 하나 이상의 Play 사용 기능 추가 guid 또는 guid 그룹 예제 1: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7) (알 수 없는 출력 허용).
예제 2: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7,5ABF0F0D-DC29-4B82-9982-FD8E57525BFC) (알 수 없는 출력 및 AirPlay 허용).
모든 Play Enablers에 대한 CR 을 참조하세요.
 
 
  아래 매개 변수는 위에서 설명한 특정 제한 사항 및 재생 사용 기능 조합의 약어입니다.
 
explicitacp 아날로그 비디오에 대한 자동 게인 컨트롤 및 색 줄무늬 제한 설정 정수 0,1,2,3 예: explicitacp:2
해당: avop(guid:C3FD11C6-F8B7-4D20-B008-1DB17D61F2DA,data:AgAAAA==)
CRs 섹션 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=)
CRs 섹션 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)
CRs 섹션 3.9.2를 참조하세요.
서버 SDK 코드:
right.AddPlayEnabler(new PlayEnabler(new Guid("B621D91F-EDCC-4035-8D4B-DC71760D43E9")))
allowunknownhd 모든 해상도에 알 수 없는 출력에 대한 출력 컨트롤 추가 거짓, 참 예: allowunknownhd:true
해당: playenablers:(786627D8-C2A6-44BE-8F88-08AE255B01A7)
CRs 섹션 3.9.1을 참조하세요.
서버 SDK 코드:
right.AddPlayEnabler(new PlayEnabler(new Guid("786627D8-C2A6-44BE-8F88-08AE255B01A7")))
 
clientinfo 특수 리플렉션 기능입니다. 자세한 내용은 이 페이지를 참조하세요 .