雷锋网AI开发者按:近日,NVIDIA开源了适用于Python的视频处理框架「VideoProcessingFramework(VPF)」。该框架为开发人员提供了一个简单但功能强大的Python工具,可用于硬件加速的视频编码、解码和处理类等任务。
同时,由于Python绑定下的C++代码,它使开发者可以在数十行代码中实现较高的GPU利用率。解码后的视频帧以NumPy数组或CUDA设备指针的形式公开,以简化交互过程及其扩展功能。
目前,VPF并未对NVIDIAVideoCodecSDK附加任何限制,开发者可充分利用NVIDIA专业级GPU的功能。
Python中的硬件加速视频处理框架VPF
VPF是基于CMake的开源跨平台框架,它依赖于FFmpeg库来进行(de)muxing和pybind11项目从而构建Python绑定。它包含了一组开源的C++库和Python绑定,可与其封闭源代码CodecSDK进行交互。
该框架的主要功能是简化从Python开发GPU加速视频编码/解码的过程,可为视频处理任务(例如解码,编码,代码转换以及GPU加速的色彩空间和像素格式转换)提供完整的硬件加速。
尽管Python不是性能最高的语言,但它易于使用;在NVIDIA发布此视频处理框架之后,它相当于在现有VideoCodecSDKC++堆栈周围的Pythonwrapper,将用于在Kepler及更高版本上基于GPU的视频编码/解码。这使得VPF在利用基于GPU的高性能视频加速的同时,也获得了易于阅读/编写的代码。
NVIDIAVideoCodecSDK使用效果示意图
同时值得注意的是,VPF还利用NVIDIAVideoCodecSDK(一套全面的API,包括用于Windows和Linux上硬件加速视频编码和解码的高性能工具,示例和文档)来提高灵活性和性能,并为开发人员提供Python固有的易用性。目前,该代码在GitHub上已开源。
Github