Я пытаюсь реализовать 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 .// Наконец:
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.»
Я не могу воспроизвести зашифрованные сегменты.