FFMPEG libavformat для чтения и записи заголовка с шифрованием AES

Я использую следующие функции libavformat, чтобы прочитать аудиофайл (различные форматы), а затем записать его в новый файл на диске:

  • avformat_open_input (начать чтение нового потока)
  • avio_open (начать новый файл для записи)
  • avformat_write_header (напишите тот же заголовок, который я начал читать)
  • av_read_frame (получить кадр)
  • av_write_frame (запись на кадр на диск)

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

Есть ли поддержка FFMPEG для шифрования при чтении и дешифрования при записи с использованием шифрования AES?

Если нет, могу ли я как-то перехватить и изменить данные, которые читаются или записываются при использовании функций выше?

Я знаю, что в libavutil есть функции шифрования / дешифрования AES (в aes.h), но я не могу найти никакой хорошей информации о том, как вписать ее в другие функции libavformat, которые я использую.

Спасибо

1 ответ

Решение

После долгих исследований я не смог найти встроенный способ сделать это в FFMPEG.

Вместо этого я решил зашифровать и расшифровать файл, прежде чем использовать его с FFMPEG.

Однако я нашел в libavutil/aes.h функцию, которая помогла мне выполнить шифрование:

void av_aes_crypt (AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt)
Другие вопросы по тегам