Как я могу расшифровать (.m3u8) видеофайл, используя метод AES-128, и воспроизвести его в видеопроигрывателе ?.
. Я использовал метод ниже для преобразования файла:
Future<String> decryptFile(filePath) async {
var encodedKey = '//enckey';
var encodedIv = '//ivkey';
var text = new File(filePath).readAsStringSync();
final key1 = enc.Key.fromBase64(encodedKey);
final iv = enc.IV.fromBase64(encodedIv);
final encrypter = enc.Encrypter(enc.AES(key1, mode: enc.AESMode.cbc));
final decrypted = encrypter.decrypt(enc.Encrypted.fromBase64(text), iv: iv);
final filename = '${p.basenameWithoutExtension(filePath)}.m3u8';
final directoryName = p.dirname(filePath);
final newFilePath = p.join(directoryName, filename);
List<int> bytes = utf8.encode(decrypted);
print(bytes);
var newFile = new File(newFilePath);
await newFile.writeAsBytes(bytes);
return newFilePath;
}
ниже - инициализация видеопроигрывателя
VideoPlayerController _controller;
var decUrl = await decryptFile(url); // here i am calling to decrypt the encrypted url file path
_controller = VideoPlayerController.network(decUrl);
Используемый плагин
encrypt: ^4.0.0
video_player: ^0.10.5+2
Не работает. Ошибка: "Исключение необработанное: FileSystemException: Невозможно открыть файл, путь = 'https://example.com/playlist.m3u8' (ошибка ОС: нет такого файла или каталога, errno = 2) "
, поэтому помогите мне разобраться, как расшифровать видео файл и воспроизведение.
Заранее спасибо.