运行AES解密时OpenCv映像不稳定

时间:2012-09-16 17:42:40

标签: opencv openssl aes

我正在尝试使用Opencv从网络摄像头捕获视频并通过TCP传输。另外,我想用AES加密视频。但无论何时运行AES decrpt功能,视频都会不稳定。

我正在使用opencv over tcp exampleAES example

每当我运行此功能时:

img->imageData = aes_decrypt(&de, img->imageData, &imgsize);

我的视频变得不稳定。

我已经附加了编写函数的代码段。

/* start receiving images*/

while(1)
{ 

  /* get raw data */
  for (i = 0; i < imgsize; i += bytes) {
    if ((bytes = recv(sock, sockdata + i, imgsize - i, 0)) == -1) {
      quit("recv failed", 1);
    }
  }

  pthread_mutex_lock(&mutex);

  for (i = 0, k = 0; i < img->height; i++) {
    for (j = 0; j < img->width; j++) {
      ((uchar*)(img->imageData + i * img->widthStep))[j] = sockdata[k++];
    }
  }

  img->imageData = aes_decrypt(&de, img->imageData, &imgsize); 

  is_data_ready = 1;
  pthread_mutex_unlock(&mutex);

  /* have we terminated yet? */
  pthread_testcancel();

  /* no, take a rest for a while */
  usleep(1000);
}

这是我的第一篇文章,对于我糟糕的英文和帖子格式感到抱歉。

0 个答案:

没有答案