我要写一个堆栈软件。因此,我想将一个或多个视频文件的帧提取到opencl
缓冲区中,然后使用opencl kernel
处理它们。
但是我不知道如何加载视频帧,因为我从未使用过视频。
当我使用opencl时,我的主要重点显然是高性能!
我知道有类似ffmpeg
或opencv
之类的库,但是由于我不喜欢它,所以我不知道哪个库最适合我的需求。
那么,您能否与opencl
一起给我建议使用哪个库/函数最有效(最快)?
我还没有找到有用的东西。我从哪里开始? (诸如简短的文档或教程之类的东西会很友好)
提前致谢!
我正在使用nvidia卡在Linux(不需要跨平台)下工作,而我的(首选)编程语言是c++
。我更喜欢h264
作为视频格式,但是avi
,mov
,mp4
,...也可以。
最佳答案
我的一个 friend 很高兴在OpenGL的图像处理框架中使用ffmpeg,因此OpenCL也应该没有问题。我会选择特定于供应商的库。如果您使用的是OpenCV,请记住,即使您的应用程序不需要所有多余的东西,即浪费用户计算机上的HDD空间,也可能必须将其与OpenCV共享库一起提供。大约2年前,我发现ffmpeg易于使用。
使用OpenCV读取帧的唯一原因是您是否还需要一些图像处理功能。如果没有,那么我将使用ffmpeg。
关于c++ - OpenCL视频处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20953729/