#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
Posted rabitvision
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ffmpeg+cuda+opencv相关的知识,希望对你有一定的参考价值。
为了让ffmpeg使用gpu进行解码,可以按以下步骤:
1 下载nvidia官网提供的ffmpeg,编译安装
https://developer.nvidia.com/ffmpeg
注意原来的选项上还需要添加上 --enable-shared
如果出现编译错误
ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec
参考:https://superuser.com/questions/1299064/error-cuvid-requested-but-not-all-dependencies-are-satisfied-cuda-ffnvcodec
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
make
sudo make install
2 编译opencv
可以采用2.4.13.6
注意会出现报错
error: ‘CODEC_FLAG_GLOBAL_HEADER’ was not declared in this scope
解决办法参考 https://stackoverflow.com/questions/46884682/error-in-building-opencv-with-ffmpeg
即把以下三行拷贝到 cap_ffmpeg_impl.hpp
开头
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
以上是关于ffmpeg+cuda+opencv的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV4.7.0FFmpeg5.1 2080TI视频硬解码
Linux下安装opencv with-ffmpeg解决无法读取视频的问题
opencv系列之ubuntu系统下编译python版本的opencv(指定特定的ffmpeg)
opencv系列之ubuntu系统下编译python版本的opencv(指定特定的ffmpeg)