ffmpeg 加载英伟达GPU驱动

一。centos 7  cuda 驱动安装

查看是否支持

1.lspci | grep -i nvidia

2.yum install rpm

3.下载SDK

https://developer.nvidia.com/cuda-downloads


ffmpeg 加载英伟达GPU驱动_第1张图片

rpm -i cuda-repo-rhel7-8.0.61-1.x86_64.rpm

yum clean all`

yum install cuda

二。 ffmpeg 选择 3.3版本以上

1.下载  https://github.com/FFmpeg/FFmpeg/tree/n3.3

2. tar -xzvf FFmpeg-n3.3.zip

3.cd FFmpeg-n3.3

4.touch build_ffmpeg.sh

5.拷贝以下shell命令到 build_ffmpeg.sh

FFMPEG_CFG_FLAGS=

FFMPEG_CFLAGS=

FFMPEG_LDFLAGS=

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-ffmpeg"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-shared"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-gpl"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-libx264"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-libmp3lame"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-nonfree"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-libfdk-aac"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-hwaccels"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-cuda"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-cuvid"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-nvenc"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-opencl"

FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-libnpp"

FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I/usr/local/cuda/include"

FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I/usr/local/ffmpeg/ffmpeg_build/include"

FFMPEG_CFLAGS="$FFMPEG_CFLAGS -I../nv_sdk"

FFMPEG_LDFLAGS="$FFMPEG_LDFLAGS -L../nv_sdk"

FFMPEG_LDFLAGS="$FFMPEG_LDFLAGS -L/usr/local/cuda/lib64"

FFMPEG_LDFLAGS="$FFMPEG_LDFLAGS -L/usr/local/ffmpeg/ffmpeg_build/lib"

./configure \

$FFMPEG_CFG_FLAGS \

--extra-cflags="$FFMPEG_CFLAGS" \

--extra-ldflags="$FFMPEG_LDFLAGS" \

--prefix="/usr/local/ffmpeg/ffmpeg_build" \

--bindir="/usr/local/ffmpeg/bin"

6.sh build_ffmpeg.sh

7.make&&make install

8.拷贝一些连续jpg格式图片到文件夹内,执行以下命令

./ffmpeg -f image2 -i %d.jpg -c:v h264_nvenc -r 24 -s 848x480 -b:v 500000 -pixel_format yuv420p nvenc.mp4

9.code调用

codec = avcodec_find_encoder(codec_id);

替换

codec=avcodec_find_encoder_by_name("h264_nvenc");

你可能感兴趣的:(ffmpeg 加载英伟达GPU驱动)