0

我正在使用以下 libavformat 函数读取音频文件(各种格式),然后将其写入磁盘上的新文件:

  • avformat_open_input(开始读取新流)
  • avio_open(开始写入新文件)
  • avformat_write_header(写与我开始阅读相同的标题)
  • av_read_frame(获取帧)
  • av_write_frame(将帧写入磁盘)

我想知道是否可以为此添加加密,无论是对于标题部分还是对于 while 文件。也就是说,我想在数据实际写入新文件之前加密数据,然后在下次读取之前解密。

是否有任何 FFMPEG 支持使用 AES 加密在读取时加密和在写入时解密?

如果没有,我是否可以在使用上述功能时拦截和更改正在读取或写入的数据?

我知道在 libavutil 中有一个 AES 加密/解密函数(在 aes.h 中),但我找不到任何关于如何将其放入我正在使用的其他 libavformat 函数的好信息。

谢谢

4

1 回答 1

0

经过大量研究,我找不到在 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)
于 2013-09-26T16:37:21.340 回答