1

我想做一个 C++ 程序,改变要播放的 MPEG2 文件的每一帧像素的 RGB 值,并在播放的同时读出并保存电视屏幕上每一帧像素的改变值。如果必须将屏幕的所有像素值或屏幕的某条扫描线读出并保存,是否可以与广播同时工作?最好的方法和硬件要求是什么?你能给我一些关于我的程序的提示吗?

4

3 回答 3

3

泰坦尼克号沉没的冰山通常是海量数据。主配置文件中未压缩的 mpeg2 为 720 像素 hor x 576 ver x 3 字节/像素 x 30 帧 = 37 兆字节/秒。硬盘太多了。而且每帧花费的时间不能超过 30 毫秒。而且你很容易从上下文切换中失去更多。关注那些基本的限制。

于 2011-08-19T12:17:04.820 回答
0

OpenCV 将能够执行您需要的功能。流 I/O 延迟是否足够小取决于您的要求和可用的硬件。

通过 CUDA/OpenCL 在图形服务器上利用处理可能是最好的方法。

于 2011-08-19T12:13:53.910 回答
0

在处理大量图形(通常是游戏图形)时,人们经常使用图形卡功能。大多数显卡都有一个 GPU(图形处理器单元),这些 GPU 可以运行称为像素着色器和顶点着色器的程序,它们可以非常快速地处理大量像素。

我不确定这是否适合您尝试做的事情,但可能值得您花时间研究一下,看看您是否可以使用 GPU 而不是使用 CPU。

我认为 OpenGL 库可用于访问 GPU 功能,但我不是这方面的专家。

于 2011-08-19T13:39:49.880 回答