Шифрование сегментов HLS путем предоставления собственного ключа
Я пытаюсь реализовать amazon эластичный транскодер.
До сих пор я могу создавать задания с "hlsContentProtection" и без него. Это лучше работает, когда я не предоставляю собственный ключ /keymd5/LicenseAcquisitionUrl, если когда aws генерирует сам ключ нормально, но когда я пытаюсь предоставить свой собственный ключ, его шифрование видео, но зашифрованные сегменты не могут воспроизводиться с ключом, который я предоставляю (на самом деле я не знаю, какие данные должны быть предоставлены в моем файле.key, который я передаю "LicenseAcquisitionUrl"). Я выполняю следующие шаги:
1.// Генерация Ключа
GenerateDataKeyResult dataKeyResponse = awsKmsClient .generateDataKey(keyRequest );
byte[] keyInBytes=Base64.encode(dataKeyResponse.getCiphertextBlob().array());
key=new String(keyInBytes);
2.// Генерация ключа MD5
byte[] b=Base64.decode(keyInBytes);
byte[] x=Md5Utils.computeMD5Hash(b);
keyMD5=new String(x);
3.// Поставка случайного IV в гексе
4.//Finally:
HlsContentProtection hlsContentProtection =new HlsContentProtection()
.withKeyStoragePolicy("NoStore")
.withMethod(aes-128)
.withLicenseAcquisitionUrl("https://s3.amazonaws.com/****se-1**/test.key")
.withInitializationVector("9uJyoNk5yggJ4winLp8E6w==")
.withKey(keyInBytes)
.withKeyMd5("j8M/upfoPERbSCv+7EjWgA==");
CreateJobPlaylist playlist = new CreateJobPlaylist()
.withName("hls_" + outputKey)
.withFormat("HLSv3")
.withHlsContentProtection(hlsContentProtection)
.withOutputKeys( hls0400k.getKey(), hls0600k.getKey(), hls1000k.getKey(), hls1500k.getKey(), hls2000k.getKey()
);
"Теперь я не уверен, что следует поместить в файл.key".
Я не могу воспроизвести зашифрованные сегменты.