Расшифровка видео для QMediaplayer без создания буфера для всего файла - PullRequest
1 голос
/ 03 июня 2019

Я пытаюсь реализовать собственный алгоритм шифрования / дешифрования для воспроизведения зашифрованного видео в Qt. Было бы довольно легко расшифровать весь файл и затем передать его в QMediaPlayer, но я пытаюсь избежать этого, потому что размер этих видеофайлов составляет несколько гигабайт.

Чтобы все было просто, я сделал очень тупую диаграмму того, чего я пытаюсь достичь. Показанный пример не является действительным алгоритмом шифрования / дешифрования.

enter image description here

Зашифрованный видеофайл разбивается на 32-байтовые фрагменты, которые нумеруются с помощью n. Тогда каждый кусок XOR'd с хэшем SHA256 n. Затем результат должен быть передан в QMediaPlayer.

Я провел некоторое исследование, но я относительно новичок в Qt. Вот ссылка на решение для аналогичной проблемы: Как я могу использовать Qt для шифрования / дешифрования / воспроизведения видео?

Это решение создает буфер для дешифрования видео на лету, но работает только путем вычисления его побайтово-байтово.

Edit:

Решение в ссылке использует 1-байтовый буфер.

Я хотел бы обработать 32-байтовые чанки, при этом имея возможность отследить, какой чанк я занят обработкой.

Предположим, я бы хотел транслировать видео размером 20 КБ. Это означало бы, что он разделен на 640 фрагментов, которые должны обрабатываться индивидуально, и при этом иметь возможность отслеживать, какой фрагмент я в данный момент дешифрую.

Как бы я мог создать буфер длиной 32 байта, который мог бы отслеживать, какую часть файла я обрабатываю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...