Jetson Docker 编译 FFmpeg 支持硬解nvmpi和cuvid

这篇具有很好参考价值的文章主要介绍了Jetson Docker 编译 FFmpeg 支持硬解nvmpi和cuvid。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 设备和docker信息

设备为NVIDIA Jetson Xavier NX,jetpack版本为 5.1.1 [L4T 35.3.1]
使用的docker镜像为nvcr.io/nvidia/l4t-ml:r35.2.1-py3,详见https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml

使用下列命令拉取镜像:

sudo docker pull nvcr.io/nvidia/l4t-ml:r35.2.1-py3

使用下列命令启动镜像:

sudo docker run --runtime nvidia -it nvcr.io/nvidia/l4t-ml:r35.2.1-py3

1. 编译x264、x265

APT安装

apt update
apt install libx264-dev libx265-dev

或者按照下面的步骤从源码编译

x264

git clone https://code.videolan.org/videolan/x264.git
cd x264
./configure --prefix=/usr/local --enable-pic --enable-shared
make -j6
make install

x265

git clone https://github.com/videolan/x265.git
cd x265/build/linux
./make-Makefiles.bash
make -j6
make install

2. nvmpi硬解支持

git clone https://github.com/Keylost/jetson-ffmpeg.git
cd jetson-ffmpeg
mkdir build
cd build
cmake ..
make -j6
make install
ldconfig

3. cuda cuvid硬解支持

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

Jetson 不支持NVCDVID硬件解码,使用nvv4l2dec解码器。

4. 一些依赖

此镜像中缺少pkg-config,会使得ffmpeg的configure过程报错"ERROR: XXXX not found using pkg-config"。

apt update
apt install libnuma-dev pkg-config

5. 编译ffmpeg

git clone git://source.ffmpeg.org/ffmpeg.git -b release/6.0 --depth=1
cd ffmpeg
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-static --enable-shared --enable-nvmpi --enable-gpl --enable-libx264 --enable-libx265 --prefix=/usr/local/ffmpeg

make -j6
make install

添加环境变量

export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH

可以将上述环境变量写入 ~/.bashrc

6. 验证

ffmpeg -codecs

nvmpi,docker,ffmpeg,容器,jetson

如果出现
libavdevice.so.58: cannot open shared object file: No such file or directory
或者
ffmpeg: symbol lookup error: ffmpeg: undefined symbol: avio_protocol_get_class, version LIBAVFORMAT_58

新建下面的文件

vim /etc/ld.so.conf.d/ffmpeg.conf 

在ffmpeg.conf 文件中写入

/usr/local/ffmpeg/lib

然后文章来源地址https://www.toymoban.com/news/detail-720023.html

ldconfig

参考资料

  1. jetson agx xavier ffmpeg源码编译支持cuda 编解码h265推拉流
  2. jocover/jetson-ffmpeg
  3. rtmp和http-flv推流及rtsp-server 区别及搭建提示

到了这里,关于Jetson Docker 编译 FFmpeg 支持硬解nvmpi和cuvid的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 支持 flv+h265 的ffmpeg编译安装

    ffmpeg 官方分支没有支持flv+h265,国内金山云发了补丁版本,地址: 1. h264 2. h265 更多操作可参考:https://blog.csdn.net/xundh/article/details/100760114 3. 编译ffmpeg 如果不成功,可以尝试在最后添加: --pkg-config=\\\"pkg-config --static\\\" 4. 截屏命令示例 1. x264_bit_depth 未定义 原因:应该是x264的x26

    2023年04月12日
    浏览(41)
  • FFMPEG android mac 编译 支持DASH/OPENSSL问题汇总

    一 下载源码 FFMPEG  https://github.com/FFmpeg/FFmpeg/tree/release/4.3 二 编写脚本 支持https 就必须添加open SSL 的编译 具体可以查看我的另一个关于open SSL 的 然后我们配置的一些路径 涉及 ndk 的一定要查看你用的ndk 版本 是否存在这些路径这是第一步 然后如果支持dash 需要你加入 --enabl

    2024年02月16日
    浏览(44)
  • 对于jetson nano 的docker部署jetson-inference等模型

    对于Nvidia jetson nano来说是一款十分优秀的网络模型部署设备我对于nano来说也是学习了2个星期左右.这也是对我这一阶段做一个复习总结吧! 目录 烧录  下载jetson-inference dock镜像部署操作  跑个例程助助兴 找到函数接口进行调整 我用的是jetson nano a02 版本 是4GB内存大小的 首先

    2024年02月05日
    浏览(35)
  • N5105 软路由安装 ESXi 7 直通核显给 Debian / Ubuntu 虚拟机通过 Docker 实现 jellyfin 硬件转码视频文件(硬解/编码)

    在ESXi 7.0u3e里直通N5105的核显给虚拟机Debian 11/Ubuntu 22.04(更新到5.18内核),再套用Docker镜像nyanmisaka/jellyfin (10.8.1) 启用硬件转码。 测试片源 America.Wild.National.Parks.Adventure.2016.BluRay.2160p.x265.10bit.HDR.2Audio.mUHD-FRDS.mkv ,关硬件转码1080p 10Mbits CPU 100%+卡顿,开硬件转码不报错CPU 50%左右流

    2023年04月14日
    浏览(57)
  • jetson-inference----docker内运行分类任务

    jetson-inference入门 jetson-inference----docker内运行分类任务 jetson-inference----训练自己的目标检测模型(一) 继jetson-inference入门 官方运行命令 进入jetson-inference的docker 这个命令就不用手动删除,容器id记得改成自己的 官方文档 https://gitcode.com/dusty-nv/jetson-inference/blob/master/docs/imagene

    2024年02月22日
    浏览(29)
  • 《WebRTC系列》实战 Web 端支持 h265 硬解

    Web 端实时预览 H.265 需求一直存在,但由于之前 Chrome 本身不支持 H.265 硬解,软解性能消耗大,仅能支持一路播放,该需求被搁置。 去年 9 月份,Chrome 发布 M106 版本,默认开启 H.265 硬解,使得实时预览支持 H.265 硬解具备可行性。 然而 WebRTC 本身支持的视频编码格式仅包括

    2024年02月07日
    浏览(45)
  • 【opencv-python Gstreamer支持】Jetson Agx Orin手动编译opencv4.5.1加入gstreamer库,实现opencv简洁驱动GMSL2 IMX390相机

    # opencv官网下载opencv4.5.1源代码 opencv下载网址 # libtiff官网下载libtiff4的包,解决opencv编译问题 libtiff4下载地址 # libtiff安装 下载对应的安装包 tiff-4.0.10.zip ,( tiff-4.0.x.zip 都可以),解压之后,然后编译安装: # 编译安装

    2024年02月10日
    浏览(46)
  • Chrome已实现对H.265/HEVC的硬解支持

    H.265/HEVC作为ITU-T VCEG继H.264/AVC之后所制定的新视频编码标准,能够在有限带宽下传输质量更高的视频。超高清视频的普及与流行,使得各大网站不得不用H.265来代替老旧的H.264编码做视频传输,当使用H.265标准的视频时,浏览器对于H.265的支持不友好一直是用户及厂商们的应用之

    2023年04月09日
    浏览(35)
  • 【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用

    在jetson上使用docker跑opencv和pytorch其实主要是要找对镜像,docker官方的hub里并没有适合的能直接跑的镜像,但是nvidia自己提供了L4T的pytorch和ML镜像。 单独pytorch的镜像: https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-pytorch 整合了opencv,pytorch,tensorflow的ML镜像: https://catalog.ngc.n

    2024年02月12日
    浏览(39)
  • 【边缘端环境配置】英伟达Jetson系列安装pytorch/tensorflow/ml/tensorrt环境(docker一键拉取)

    Jetson系列板卡是算法边缘端部署无法避开的一道坎,作为英伟达旗下产品,可以使用tensorrt加速,因此用户较多,生态较好;但是由于是ARM架构,因此无法使用x86部署方式,用过的都有一堆血泪史可以诉说,以下是英伟达官方介绍: NVIDIA® Jetson™ 是适用于自主机器和其他嵌入

    2023年04月22日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包