Jetson Xavier NX使用ffmpeg调用硬解码

有伙伴问使用Jetson Xavier NX ffmpeg进行转码时卡死,转MP4格式可转6路,但转m3u8却不行,这是因为rtsp用nx自带的视频解码器做解码不消耗cpu和gpu资源,但是要调用硬解码接口。可以通过如下方式解决

这里所使用设备为:Jetson Xavier NX 8G,系统为Jetpack4.6.1

1. nvmpi构建并安装库
git clone https://github.com/jocover/jetson-ffmpeg.git
cd jetson-ffmpeg
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
2. 安装相关依赖文件
sudo apt update
sudo apt install libnuma-dev pkg-config
3. 编译ffmpeg,在这我使用的是ffmpeg6.0进行编译的,编译过程中需注意查看这个patch是否全覆盖或缺失。
clone one of supported ffmpeg versions
git clone git://source.ffmpeg.org/ffmpeg.git -b release/4.2 --depth=1
or
git clone git://source.ffmpeg.org/ffmpeg.git -b release/4.4 --depth=1
or
git clone git://source.ffmpeg.org/ffmpeg.git -b release/6.0 --depth=1
cd ffmpeg
get and apply patch for your ffmpeg version
wget -O ffmpeg_nvmpi.patch https://github.com/Keylost/jetson-ffmpeg/raw/master/ffmpeg_patches/ffmpeg4.2_nvmpi.patch
or
wget -O ffmpeg_nvmpi.patch https://github.com/Keylost/jetson-ffmpeg/raw/master/ffmpeg_patches/ffmpeg4.4_nvmpi.patch
or
wget -O ffmpeg_nvmpi.patch https://github.com/Keylost/jetson-ffmpeg/raw/master/ffmpeg_patches/ffmpeg6.0_nvmpi.patch
git apply ffmpeg_nvmpi.patch
./configure --enable-nvmpi
make
4.ffmpeg的使用

example

ffmpeg -c:v h264_nvmpi -i input_file -f null -

运行结果如下

以上是一路转码效果,两路验证也是可行的。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值