我要写一个堆栈软件。因此,我想将一个或多个视频文件的帧提取到opencl缓冲区中,然后使用opencl kernel处理它们。

但是我不知道如何加载视频帧,因为我从未使用过视频。
当我使用opencl时,我的主要重点显然是高性能!

我知道有类似ffmpegopencv之类的库,但是由于我不喜欢它,所以我不知道哪个库最适合我的需求。

那么,您能否与opencl一起给我建议使用哪个库/函数最有效(最快)?

我还没有找到有用的东西。我从哪里开始? (诸如简短的文档或教程之类的东西会很友好)

提前致谢!

我正在使用nvidia卡在Linux(不需要跨平台)下工作,而我的(首选)编程语言是c++。我更喜欢h264作为视频格式,但是avimovmp4,...也可以。

最佳答案

我的一个 friend 很高兴在OpenGL的图像处理框架中使用ffmpeg,因此OpenCL也应该没有问题。我会选择特定于供应商的库。如果您使用的是OpenCV,请记住,即使您的应用程序不需要所有多余的东西,即浪费用户计算机上的HDD空间,也可能必须将其与OpenCV共享库一起提供。大约2年前,我发现ffmpeg易于使用。

使用OpenCV读取帧的唯一原因是您是否还需要一些图像处理功能。如果没有,那么我将使用ffmpeg。

关于c++ - OpenCL视频处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20953729/

10-14 16:26