ffmpeg NVIDIA编解码一:ffmpeg编译安装

ffmpeg NVIDIA编解码系列

ffmpeg NVIDIA编解码一:ffmpeg编译安装

ffmpeg NVIDIA编解码二:英伟达硬解码

ffmpeg NVIDIA编解码三:英伟达硬编码

★我的音视频编解码开源项目-FFmpeg-Media-Codec-Pipeline

1、依赖安装

sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
sudo apt-get install yasm
sudo apt-get install nasm

2、音视频编解码库安装

        视频:

sudo apt-get install libx264-dev
sudo apt-get install libx265-dev


        音频:

sudo apt-get install libfdk-aac-dev
sudo apt-get install libmp3lame-dev
sudo apt-get install libopus-dev

3、源码下载、编译安装

        这里以4.0.5版本为例

wget https://ffmpeg.org//releases/ffmpeg-4.0.5.tar.bz2
tar xjvf ffmpeg-4.0.5.tar.bz2

        nv-codec-headers下载安装

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers 
make 
sudo make install

        ffmpeg支持NVIDIA编解码编译安装(需要安装cuda),进入到解压后的ffmpeg-4.0.5目录

./configure \
  --prefix="/usr/local" \
  --extra-cflags="-I/usr/local/cuda/include" \
  --extra-ldflags="-L/usr/local/cuda/lib64" \
  --extra-libs=-lpthread \
  --extra-libs=-lm \
  --bindir="/usr/local/bin" \
  --enable-shared \
  --enable-gpl \
  --enable-libfdk_aac \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libopus \
  --enable-libvorbis \
  --enable-libx264 \
  --enable-libx265 \
  --enable-nonfree \
  --enable-cuda \
  --enable-cuvid \
  --enable-nvenc \
  --enable-libnpp

make -j
make install

        如果configure报错,是因为nv-codec-headers版本不对,先切换版本重新编译:

git clone -b n11.1.5.3 https://github.com/FFmpeg/nv-codec-headers.git
cd nv-codec-headers 
make 
sudo make install

        然后重新进入ffmpeg-4.0.5目录configure。

4、环境配置

1、sudo vi /etc/ld.so.conf 添加一行库路径:/usr/local/lib
2、sudo ldconfig
3、vi ~/.profile 添加下面内容
FFMPEG=/usr/local
PATH="$PATH:$FFMPEG/bin"
4、source ~/.profile

        如果是安装在/usr/local下面,可以不用进行上面的配置,如果没安装在/usr/local下面就需要进行上面的配置,路径用ffmpeg安装的实际路径。

5、测试

ffmpeg -codecs | grep cuvid

ffmpeg -hwaccels

         

        我的开源:

         1、Nvidia视频硬解码、渲染、软/硬编码并写入MP4文件。项目地址:https://github.com/BreakingY/Nvidia-Video-Codec
        2、Jetson Jetpack5.x视频编解码。项目地址:https://github.com/BreakingY/jetpack-dec-enc
        3、音视频(H264/H265/AAC)封装、解封装、编解码pipeline,支持NVIDIA、昇腾DVPP硬编解码。项目地址:https://github.com/BreakingY/Media-Codec-Pipeline
        4、simple rtsp server,小而高效的rtsp服务器,支持H264、H265、AAC、PCMA;支持TCP、UDP;支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-server

        5、simple rtsp client,rtsp客户端,支持TCP、UDP、H264、H265、AAC、PCMA,支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-client

         6、libflv,flv muxer/demuxer,支持H264/H265、AAC。项目地址:https://github.com/BreakingY/libflv

        7、mpeg2 ts ps muxer/demuxer,支持H264/H265/MPEG1 audio/MP3/AAC/AAC_LATM/G711。项目地址:https://github.com/BreakingY/libmpeg2core

posted @   BreakingY  阅读(15)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示