0

次の libavformat 関数を使用して、オーディオ ファイル (さまざまな形式) を読み取り、それをディスク上の新しいファイルに書き込みます。

  • avformat_open_input (新しいストリームの読み取りを開始)
  • avio_open (新しいファイルの書き込み開始)
  • avformat_write_header (読み始めたのと同じヘッダーを書きます)
  • av_read_frame (フレーム取得)
  • av_write_frame (フレームからディスクへの書き込み)

これに暗号化を追加することが可能かどうか疑問に思っています。これは、ヘッダー部分または while ファイルのいずれかです。つまり、実際に新しいファイルに書き込む前にデータを暗号化し、次に読み取る前に復号化したいということです。

AES 暗号化を使用して読み取り時に暗号化し、書き込み時に復号化する FFMPEG サポートはありますか?

そうでない場合、上記の関数を使用するときに読み書きされているデータを傍受して変更できる方法はありますか?

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 に答える