Open
Description
我正在使用 ffmpeg 将视频读取接入深度学习的工具链条。
我想实现的等效的代码如下:
ffmpeg -loglevel warning -hwaccel cuda -hwaccel_device 0 -vcodec h264_cuvid -resize 640x480 -i "/home/lchenxf/ml-project/sample_720p.mp4" -pix_fmt rgb24 -f rawvideo pipe:
看到您的教程中,有关于 hwaccel cuda
的编码和解码示例,比较基础。实际应用中,我还要给解码器的传递配置参数。例如 -resize 640x480
,这是利用NVENC实现的图像缩放,实测比CPU版本的 vfilter 或 swscale 性能更高。类似的还有 -crop
。能否请大神提供的指导?
此外,hwaccel cuda
解码出的pix_fmt 为NV12,后期转化为深度学习的 rgb24 像素使用的是CPU,因此CPU占用率很高,而且还有多次GPU-CPU的内存拷贝。为了最大化利用GPU的性能,我想自己实现一版 CUDA 版本的 NV12 -> rgb24 的转化器。能否访问hwaccel cuda
解码存放在 GPU中的图像数组,这样我就可以用CUDA 编程了。请大神指导。
Metadata
Metadata
Assignees
Labels
No labels