Встала задача реализовать шифрование приходящего по RTSP потока с h264 содержимым. На данный момент записываю в файл с помощью libVLC (openCV, работающий через FFmpeg, очень сильно артефактит содержимое, linVLC только первые 6-10 секунд) (
pastebin.com/WatFnF46 ), затем просматриваю файл на наличие нового содержимого, шифрую и записываю в файл для последующей расшифровки (
pastebin.com/zHXnejAU ), но 70 Мб фильма превращаются в 1.1 Гб шифрованных данных (которые я так и не осилил расшифровать), а это недопустимо.
При этом мне совсем не нравится использовать файл как промежуточный буфер между записью и шифрованием, он занимает лишнее место, которого всего 50 Гб, а видео может быть порядка 20-30 Гб. Хотел использовать линуксовые именованные пайпы (записывать видео в заранее созданный с помощью mkfifo сокет), но у меня ничего из этого не вышло.
Подскажите, пожалуйста, какими инструментами нужно пользоваться в моём случае, какого алгоритма придерживаться? Я практически не умею программировать на C++, а задачу нужно как можно скорее решить. Работать ПО будет на двухъядерном Intel Atom, поэтому нужно что-то мало потребляющее CPU.
Вообще преследуемая задача - сделать так, чтобы никто другой видеофайл вместо оригинального не подкинул, так что может быть и шифрование 5-10% файла подойдёт, может подписи есть какие-нибудь, ещё что-то такое, тогда и работа через пайпы не нужна.