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
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-cuda --enable-cuvid --enable-libx264 --enable-libx265 --prefix=/usr/local/ffmpegmake -j6
make install
添加环境变量
export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH
可以将上述环境变量写入 ~/.bashrc
6. 验证
ffmpeg -codecs

如果出现
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
然后
ldconfig
参考资料
- jetson agx xavier ffmpeg源码编译支持cuda 编解码h265推拉流
- jocover/jetson-ffmpeg
- rtmp和http-flv推流及rtsp-server 区别及搭建提示
相关文章:
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…...
某某某小说app接口抓包分析
详细说明查看原文 https://sdk.qzbonline.com/ver9/shuhuajs/sdk/ioszh_shuhuajs_conf.htmlhttps://sdk.qzbonline.com/prov8/ymqxs/sdk/ios_ymqxs_conf.htmlhttps://sdk.qzbonline.com/prov8/ymqxs/sdk/ios_ymqxs_conf2.htmlhttps://sdk.qzbonline.com/prov8/fqhyxs/sdk/iosz…...
开发一个RISC-V上的操作系统(四)—— 内存管理
目录 往期文章传送门 一、内存管理简介 二、Linker Script 链接脚本 三、动态分配内存 四、测试 往期文章传送门 开发一个RISC-V上的操作系统(一)—— 环境搭建_riscv开发环境_Patarw_Li的博客-CSDN博客 开发一个RISC-V上的操作系统(二…...
区块链:可验证随机函数
本篇主要介绍可验证随机函数的定义及其在区块链上的作用。 1 可验证随机函数 1.1 定义 可验证随机函数(Verifiable Random Function,VRF)本质上还是一类具有验证功能的伪随机函数。对于一个特定的输入 m m m以及输入者的私钥 S K SK SK,VRF会输出一个随…...
Flask中flask-session
Flask中flask-session Flask-Session是一个为Flask应用程序开发的工具,允许您轻松处理服务器端会话。会话是存储和追踪用户特定数据的方式。例如,当用户登录到应用程序时,他们的状态(即登录状态)可以保存在会话中&…...
react-Native init初始化项目报错”TypeError: cli.init is not a function“
文章目录 一、问题:二、解决: 一、问题: 在react-native init appDemo 创建项目时,报错TypeError: cli.init is not a function。 二、解决: 产生这个问题的原因是:使用这种方式创建工程,rea…...
【gitlib】linux系统rpm安装gitlib最新版本
目录 下载gitlib安装包 安装需要的依赖 设置开机启动 安装邮件服务器并设置开机启动 rpm执行安装gitlib 修改gitlib.rb文件的属性 修改完毕后执行更新配置 查看gitlib运行 查看gitlib初始化root密码 gitlib入口访问地址 下载gitlib安装包 Index of /gitlab-ce/yum/el7/…...
iOS开发-检查版本更新与强制更新控制
iOS开发-检查版本更新与强制更新控制。 在开发中经常遇到需要检查版本,检查版本及请求appstoreLookUrl查看版本号与当前的版本号进行比对,看是否需要更新。强制更新控制,是将获取到当前版本号传给服务端,服务端判断当前的版本是否…...
自动化运维工具——Ansible
自动化运维工具——Ansible 一、Ansible概述二、ansible 环境安装部署1.管理端安装 ansible2.ansible 目录结构3.配置主机清单4.配置密钥对验证 三、ansible 命令行模块1.command 模块2.shell 模块3.cron 模块4.user 模块5.group 模块6.copy 模块7.file 模块8.hostname 模块9&a…...
W2NER详解
论文:https://arxiv.org/pdf/2112.10070.pdf 代码:https://github.com/ljynlp/W2NER 文章目录 W2NER介绍模型架构解码 源码介绍数据输入格式模型代码 参考资料 W2NER 介绍 W2NER模型,将NER任务转化预测word-word(备注ÿ…...
ElementUI tabs标签页样式改造美化
今天针对ElementUI的Tabs标签页进行了样式修改,更改为如下图所属的样子。 在线运行地址:JSRUN项目-ElementUI tabs标签页样式改造 大家如果有需要可以拿来修改使用,下面我也简单的贴上代码,代码没有注释,很抱歉&#x…...
出海周报|Temu在美状告shein、ChatGPT安卓版上线、小红书回应闪退
工程机械产业“出海”成绩喜人,山东相关企业全国最多Temu在美状告shein,跨境电商战事升级TikTok将在美国推出电子商务计划,售卖中国商品高德即将上线国际图服务,初期即可覆盖全球超200个国家和地区ChatGPT安卓版正式上线ÿ…...
2023年7月26日 单例模式
单例模式 饿汉模式 package com.wz.cinema.platform.server.util;public class DataManager {/*** 单例模式:整个类在运行中只会有一个实例* 既然是在运行中只有一个实例,那么就必须* 考虑多线程环境** 单例模式分为懒汉模式和饿汉模式* 饿汉模式本身就是…...
[ 容器 ] Docker 安全及日志管理
目录 Docker 容器与虚拟机的区别Docker 存在的安全问题Docker 架构缺陷与安全机制Docker 安全基线标准容器相关的常用安全配置方法限制流量流向镜像安全避免Docker 容器中信息泄露DockerClient 端与 DockerDaemon 的通信安全 容器的安全性问题的根源在于容器和宿主机共享内核。…...
游游的排列构造
示例1 输入 5 2 输出 3 1 5 2 4 示例2 输入 5 3 输出 2 1 4 3 5 #include<bits/stdc.h> using namespace std; typedef long long ll; const int N1e55; int n,k; int main(){scanf("%d%d",&n,&k);int xn-k1;int yn-k;int f1;for(int i1;i&l…...
拯救者Y9000K无线Wi-Fi有时不稳定?该如何解决?
由于不同品牌路由器的性能差异,无法完美兼容最新的无线网卡技术,在连接网络时(特别是网络负载较大的情况下),可能会出现Wi-Fi信号断开、无法网络无法访问、延迟突然变大的情况;可尝试下面方法进行调整。 1…...
【业务功能篇59】Springboot + Spring Security 权限管理 【下篇】
UserDetails接口定义了以下方法: getAuthorities(): 返回用户被授予的权限集合。这个方法返回的是一个集合类型,其中每个元素都是一个GrantedAuthority对象,表示用户被授予的权限。getPassword(): 返回用户的密码。这个方法返回的是一个字符…...
性能优化 - 前端性能监控和性能指标计算方式
性能优化 - 前端性能监控和性能指标计算方式 前言一. 性能指标介绍1.1 单一指标介绍1.2 指标计算① Redirect(重定向耗时)② AppCache(应用程序缓存的DNS解析)③ DNS(DNS解析耗时)④ TCP(TCP连接耗时)⑤ TTFB(请求响应耗时)⑥ Trans(内容传输耗时)⑦ DOM(DOM解析耗时) 1.3 FP(f…...
git stash clear清空本地暂存代码
git stash clear清空本地暂存代码 git stash 或者 git stash list 查看本地暂存的代码。 清除本地暂存的代码修改: git stash clear git回退代码仓库版本_git回退到之前的版本会影响本地代码嘛_zhangphil的博客-CSDN博客git回退代码版本_git回退到之前的版本会影…...
消防应急照明设置要求在炼钢车间电气室的应用
摘 要:文章以GB51309—2018《消防应急照明和疏散指示系统技术标准》为设计依据,结合某炼钢车间转炉项目的设计过程,在炼钢车间电气室的疏散照明和备用照明的设计思路、原则和方法等方面进行阐述。通过选择合理的消防应急疏散照明控制系统及灯具供配电方案…...
创意随笔:智能转录便携终端
创意随笔|智能转录便携终端 项目构想 核心亮点 以独立麦克风拾音为核心入口,实现全链路闭环实时翻译 从收音、ASR 识别、翻译、TTS 合成到语音播放/耳机输出,全程不依赖手机或电脑算力,自成一套完整翻译系统,真正做到端…...
Flowable 7.x 实战:手把手教你从前端按钮到后端接口,完整实现流程图查看功能
Flowable 7.x 实战:从前端按钮到后端接口的流程图查看全链路实现 在Spring Boot与Vue/React技术栈的企业级应用中,流程引擎的集成往往需要前后端协同完成功能闭环。本文将以查看流程图功能为切入点,完整呈现从权限控制到图像渲染的全链路实现…...
药流会不会落下月子病?药流后修护要点
药流作为终止早期妊娠的常见方式,其术后养护是否到位,直接关系到女性后续健康,“药流会不会落下月子病”也是行业内及女性群体重点关注的问题。事实上,药流虽无需手术创伤,但对身体的隐性损伤不容忽视,若忽…...
杰理之SDK 增加通话翻译(OPUS 立体声)功能【篇】
AI 翻译功能...
基于单片机的全自动咖啡机控制系统设计
一、摘要 全自动咖啡机控制系统控制系统对于现今的日常家居生活和商业模式售卖都有着重大的影响力,随着社会快节奏的发展,传统的人工冲泡模式效率远远满足不了人们的日常需求,并且在冲调多口味咖啡方面,也没有良好的原料精准配比。…...
解密Prompt系列69. 从上下文管理到Runtime操作系统
AM)”,将 Runtime 视为“状态(State)”,构建一套属于智能体的“操作系统”。 最近,ByteDance 的 Context-Folding、MIT 的 RLM、以及热门项目 Ralph 的出现,共同指向了一个极其明确的趋势&…...
考研408计算机学科专业基础综合——计算机网络复习
考研408计算机学科专业基础综合 计算机网络复习 核心说明:本笔记聚焦考研408计算机网络高频考点、必背知识点,贴合命题规律(选择题为主、大题集中在核心协议),剔除冗余内容,突出重难点,适配冲刺…...
Delphi经典8大天坑|第五篇:ShortString与String混用,导致字符串截断/乱码
一、现象描述项目中同时使用ShortString和string两种字符串类型,赋值时出现字符串被莫名截断(超过255字符的部分丢失),或出现乱码,尤其是在Delphi D7及以下版本中,问题更常见。典型场景:将一个长…...
docker零基础入门:用快马ai生成带详细注释的容器化示例项目
最近在学习Docker技术,发现对于新手来说,从零开始配置容器环境确实会遇到不少坑。好在发现了InsCode(快马)平台,它提供的AI辅助功能可以快速生成带详细注释的Docker示例项目,特别适合像我这样的初学者。下面分享下我的学习过程&am…...
实战指南:基于业务数据,用快马平台AI模型快速生成定制化图表代码
今天想和大家分享一个实战经验:如何用InsCode(快马)平台的AI模型,快速生成符合业务需求的数据可视化图表代码。这个需求源于我们团队最近接到的紧急项目——需要在三天内为客户的销售系统集成十几张动态报表。 需求痛点与解决方案选择 传统开发方式需要手…...
