Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Áttekintés
A PlayReady tesztkiszolgáló támogatja a Base64 JSON-szintaxist a licenckonfigurációhoz, és kompakt és URL-biztonságos módszert biztosít az összetett licencparaméterek beágyazásához. Ez a megközelítés a JSON-konfigurációs adatokat Base64 formátumban kódolja, így alkalmassá teszi az URL-paraméterek és a HTTP-fejlécek megadására.
Kódolási folyamat
A Base64 JSON szintaxisa két lépésből áll:
- JSON-konfigurációs objektum létrehozása
- A JSON-sztring kódolása Base64 kódolással
JSON Configuration → Base64 Encoding → URL Parameter
Alapszintű JSON-struktúra
Kódolás előtt hozzon létre egy JSON-konfigurációt:
{
"licenseType": "persistent",
"keyId": "12345678-1234-1234-1234-123456789012",
"outputProtection": {
"digital": "required",
"analog": "optional"
}
}
Base64-kódolási példák
Egyszerű konfiguráció
Eredeti JSON:
{"licenseType": "persistent", "keyId": "12345678-1234-1234-1234-123456789012"}
Base64 Kódolás:
eyJsaWNlbnNlVHlwZSI6InBlcnNpc3RlbnQiLCJrZXlJZCI6IjEyMzQ1Njc4LTEyMzQtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMiJ9
Összetett konfiguráció
Eredeti JSON:
{
"licenseType": "rental",
"keyId": "87654321-4321-4321-4321-210987654321",
"expirationDate": "2024-12-31T23:59:59Z",
"outputProtection": {
"digital": "required",
"analog": "never"
}
}
Base64 Kódolás:
eyJsaWNlbnNlVHlwZSI6InJlbnRhbCIsImtleUlkIjoiODc2NTQzMjEtNDMyMS00MzIxLTQzMjEtMjEwOTg3NjU0MzIxIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI0LTEyLTMxVDIzOjU5OjU5WiIsIm91dHB1dFByb3RlY3Rpb24iOnsiZGlnaXRhbCI6InJlcXVpcmVkIiwiYW5hbG9nIjoibmV2ZXIifX0=
URL-használat
Lekérdezési paraméter formátuma
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data=BASE64_ENCODED_JSON
Példa URL-címeinek kitöltése
Állandó licenc
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data=eyJsaWNlbnNlVHlwZSI6InBlcnNpc3RlbnQiLCJrZXlJZCI6IjEyMzQ1Njc4LTEyMzQtMTIzNC0xMjM0LTEyMzQ1Njc4OTAxMiJ9
Bérleti licenc
https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data=eyJsaWNlbnNlVHlwZSI6InJlbnRhbCIsImtleUlkIjoiODc2NTQzMjEtNDMyMS00MzIxLTQzMjEtMjEwOTg3NjU0MzIxIiwiZXhwaXJhdGlvbkRhdGUiOiIyMDI0LTEyLTMxVDIzOjU5OjU5WiJ9
Konfigurációs beállítások
Licenctípusok
Az összes standard licenctípus támogatása:
{
"licenseType": "persistent|non-persistent|rental|subscription"
}
Kimeneti védelmi beállítások
Digitális és analóg kimeneti védelem konfigurálása:
{
"outputProtection": {
"digital": "required|optional|never",
"analog": "required|optional|never",
"hdcp": {
"version": "1.4|2.0|2.1|2.2",
"required": true
}
}
}
Time-Based korlátozások
Lejárati és türelmi időszakok beállítása:
{
"expirationDate": "2024-12-31T23:59:59Z",
"gracePeriod": 3600,
"firstPlayExpiration": "PT48H"
}
Megvalósítási példák
JavaScript/HTML5
// Create configuration object
const config = {
licenseType: "persistent",
keyId: keyId,
outputProtection: {
digital: "required",
analog: "optional"
}
};
// Convert to JSON and encode
const jsonString = JSON.stringify(config);
const base64Data = btoa(jsonString);
// Build URL
const licenseUrl = `https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data=${base64Data}`;
C# alkalmazás
using System;
using System.Text;
using Newtonsoft.Json;
// Create configuration object
var config = new {
licenseType = "persistent",
keyId = keyId,
outputProtection = new {
digital = "required",
analog = "optional"
}
};
// Convert to JSON and encode
string jsonString = JsonConvert.SerializeObject(config);
byte[] jsonBytes = Encoding.UTF8.GetBytes(jsonString);
string base64Data = Convert.ToBase64String(jsonBytes);
// Build URL
string licenseUrl = $"https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data={base64Data}";
Python-példa
import json
import base64
# Create configuration dictionary
config = {
"licenseType": "persistent",
"keyId": key_id,
"outputProtection": {
"digital": "required",
"analog": "optional"
}
}
# Convert to JSON and encode
json_string = json.dumps(config)
base64_data = base64.b64encode(json_string.encode('utf-8')).decode('utf-8')
# Build URL
license_url = f"https://playready.directtaps.net/pr/svc/rightsmanager.asmx?cfg=base64&data={base64_data}"
Speciális konfigurációk
Többsávos tartalom
Többsávos tartalom konfigurálása:
{
"licenseType": "persistent",
"tracks": [
{
"keyId": "video-key-guid",
"trackType": "video",
"outputProtection": {
"digital": "required"
}
},
{
"keyId": "audio-key-guid",
"trackType": "audio",
"outputProtection": {
"digital": "optional"
}
}
]
}
Domain-Bound licencek
Tartományhoz kötött tartalom konfigurálása:
{
"licenseType": "persistent",
"keyId": "domain-key-guid",
"domainBinding": {
"domainId": "domain-service-id",
"domainAccountId": "account-identifier",
"required": true
}
}
Tesztelés és ellenőrzés
Dekódolás ellenőrzése
A Base64 kódolásának ellenőrzése:
// Decode Base64 back to JSON
const decodedJson = atob(base64Data);
const configObject = JSON.parse(decodedJson);
console.log(configObject);
Gyakori tesztelési forgatókönyvek
- Alapszintű licenctípusok: Az egyes licenctípusok egyenkénti tesztelése
- Kimeneti védelem: Különböző védelmi szintek ellenőrzése
- Időkorlátozások: Lejárati és türelmi időszakok tesztelése
- Összetett konfigurációk: Többsávos és tartományi forgatókönyvek tesztelése
Hibakezelés
Kódolási hibák
- Érvénytelen JSON: Hibás JSON-struktúra kódolás előtt
- Kódolási problémák: Karakterkódolási problémák a Base64-átalakítás során
- URL-biztonság: A Base64-adatok megfelelő URL-kódolásának biztosítása
Server-Side hibák
- Dekódolási hibák: HTTP 400 Base64-dekódolási hibával
- JSON-elemzés: HTTP 400 JSON-struktúrahibákkal
- Érvénytelen konfiguráció: HTTP 400 konfigurációérvényesítési hibákkal
Ajánlott eljárások
- JSON-ellenőrzés: JSON ellenőrzése kódolás előtt
- URL-kódolás: Base64-adatok megfelelő kódolása URL-címekhez
- Méretkorlátok: Az URL-korlátokhoz megfelelő méretű konfigurációk megtartása
- Tesztelés: A kódolási/dekódolási folyamat alapos tesztelése
- Hibakezelés: A kódolási és a kiszolgálói hibák kezelése kecsesen
Előnyök
- Kompakt: Kompaktabb, mint a teljes JSON URL-címekben
- BIZTONSÁGOS URL- cím: A Base64 kódolása URL-biztonságos
- Rugalmas: Támogatja az összetett konfigurációs objektumokat
- Standard: Standard Base64 kódolást használ
Kapcsolódó dokumentáció
- PlayReady Test Server Service – Fő szolgáltatás áttekintése
- CustomData JSON szintaxis – Teljes JSON-konfigurációs formátum
- Lekérdezési sztring szintaxisa – Egyszerű paraméteralapú megközelítés
- PlayReady-tesztkiszolgálók – A kiszolgáló dokumentációja
Támogatás és hibaelhárítás
A Base64 JSON szintaxisával kapcsolatos problémák esetén:
- JSON-struktúra ellenőrzése kódolás előtt
- A Base64 kódolási/dekódolási folyamatának tesztelése
- A Base64-adatok URL-kódolásának ellenőrzése
- Konfigurációs paraméterek ellenőrzése
- A részletekért tekintse át a kiszolgálói hibaválaszokat
További támogatásért tekintse meg a PlayReady tesztkiszolgálók fő dokumentációját.