当前位置: 首页 > news >正文

基于ffmpeg库,在AGX上编译jetsonFFmpeg库带有硬件加速的h264_nvmpi视频编解码器

以下预装版本是ffmpeg4.2.11!!!!!

 1、安装yasm:
​wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make
make installyasm --version
2、安装nasm(2.13以上版本)
​wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar xvf nasm-2.14.02.tar.bz2
cd nasm-2.14.02
./configure
make 
make installnasm --version
3、安装其他依赖(如果自己安装了就不用安装了)

检查是否安装(如果安装了会有输出)

cmake --version

未安装:

apt install cmake -y
4、编译x264(只编译静态库)

x264下载地址:
http://ftp.videolan.org/pub/videolan/x264/snapshots/

选择好下载的版本后,可以离线下载好,也可以wget在线下载,下方的命令需要对应你安装的文件名:

wget http://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20191024-2245-stable.tar.bz2tar xvf x264-snapshot-20191024-2245-stable.tar.bz2cd x264-snapshot-20191024-2245-stable./configure --enable-static --prefix=../x264 --enable-pic make -j16make install4、验证
x264 --version

看到输出版本号代表安装成功

5、编译安装ffmpeg

ffmpeg下载地址:Download FFmpeg

1、解压
tar -zxvf ffmpeg-4.2.tar.gz2、配置(记得修改输出路径)
./configure --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-pic --prefix=/home/nvidia/ffmpeg --enable-version3 --enable-postproc --enable-pthreads --enable-static --enable-libx2643、编译&安装
make -j8 && sudo make install4、配置环境变量(永久配置)
vim ~/.bashrc
#  将下面内容写入,路径按照2、配置中prefix的绝对路径填写
export PATH=/home/nvidia/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/home/nvidia/ffmpeg/lib/
#  刷新配置
source ~/.bashrc5、验证
ffmpeg --version

出现配置信息即安装成功

(py38) nvidia@xl:~$ ffmpeg
ffmpeg version 2ec7f8e Copyright (c) 2000-2025 the FFmpeg developersbuilt with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)configuration: --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-pic --prefix=/home/nvidia/ffmpeg --enable-version3 --enable-postproc --enable-pthreads --enable-static --enable-libx264libavutil      56. 70.100 / 56. 70.100libavcodec     58.134.100 / 58.134.100libavformat    58. 76.100 / 58. 76.100libavdevice    58. 13.100 / 58. 13.100libavfilter     7.110.100 /  7.110.100libswscale      5.  9.100 /  5.  9.100libswresample   3.  9.100 /  3.  9.100libpostproc    55.  9.100 / 55.  9.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...Use -h to get full help or, even better, run 'man ffmpeg'
6、编译安装jetson-ffmpeg
1、编译与安装库
git clone https://github.com/Keylost/jetson-ffmpeg.git
如果因为网络原因无法clone,则离线下载后拷贝过来
(https://github.com/Keylost/jetson-ffmpeg/archive/refs/heads/master.zip)cd jetson-ffmpeg
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig2、打补丁并构建ffmpeg
git clone https://gitee.com/mirrors/ffmpeg.git -b release/4.2 --depth=1
(如果clone缓慢,直接用上面下载好的ffmpeg源码包,版本需一致)3、获取与系统相匹配的补丁
拷贝ffmpeg_patches文件夹下的ffmpeg4.2_nvmpi.patch补丁文件到ffmpeg源码包内4、应用对应ffmpeg版本的补丁
cd ffmpeg
git apply ../ffmpeg4.2_nvmpi.patch####---------------------------------------------------------#####
#如果应用不成功,jetson-ffmpeg项目提供了一个自动补丁脚本,可以避免手动操作:
# 回到 jetson-ffmpeg 根目录
cd ~/Downloads/jetsonffmpeg/jetson-ffmpeg
chmod +x ffpatch.sh
# 使用补丁脚本(会自动处理路径问题)
./ffpatch.sh ./build/ffmpeg返回以下代表应用补丁成功:
./build/ffmpeg/configure is successfully patched!
./build/ffmpeg/libavcodec/Makefile is successfully patched!
./build/ffmpeg/libavcodec/allcodecs.c is successfully patched!
Success!
####---------------------------------------------------------#####5、进入 FFmpeg 源码目录​
cd ./build/ffmpeg6、配置文件(记得修改输出路径)
./configure \--enable-shared \--enable-swscale \--enable-gpl \--enable-nonfree \--enable-pic \--prefix=../jetsonffmpeg \--enable-version3 \--enable-postproc \--enable-pthreads \--enable-static \--enable-libx264 \--enable-nvmpi7、编译及安装
make -j$(nproc)
sudo make install8、配置环境变量(永久配置)
vim ~/.bashrc
#将下面内容写入,路径按照改成install后生成的jetsonffmpeg的绝对路径填写
export PATH=/home/nvidia/ffmpeg/bin:$PATH
export LD_LIBRARY_PATH=/home/nvidia/ffmpeg/lib/
#刷新配置
source ~/.bashrc
​​#更新动态链接库缓存​
sudo ldconfig8、验证
ffmpeg -version
http://www.dtcms.com/a/479773.html

相关文章:

  • wordpress熊掌号自动提交seo如何使用wordpress优化
  • 网站维护费一般多少钱湖南好搜网站建设
  • 机器人软件开发和网站开发wordpress后台登录
  • 3d演示中国空间站建造历程牡丹江建站
  • 服务器网站管理系统泰山信息科技有限公司
  • 网站备案是域名备案还是服务器备案长沙房价一览表
  • 行业网站名称广州公司网站托管
  • wordpress站点地址写错网页设计师考试报名
  • 保定涿州网站建设网站开发人员的工作
  • [Qlib] 数据处理`DataHandlerLP` | `Alpha158`
  • wordpress批量拿站263企业邮箱腾讯登录入口
  • 网站图片设置方法在网站上做远程教育系统多少钱
  • 深度学习(三)
  • 珠海本地网站设计公司做网站售后好的公司
  • 门户网站宣传方案做一个网站如何赚钱
  • 网站开发设计流程文档广告网页推广方案
  • 网站维护模式移动网站适配
  • 营销网站建设的目的北京百度总部电话
  • C++STL---静态数组array
  • 东莞樟木头网站设计使用vue做简单网站教程
  • 济南想建设网站长宁网站建设价格
  • 【开题答辩全过程】以 保定基于java的超市库存管理系统为例,包含答辩的问题和答案
  • 设计好的建设专业网站上海新建设建筑设计有限公司网站
  • 建立一个团购网站需要多少钱昭通微网站建设
  • 基于 Oracle 数据泵(expdp/impdp) 的数据导入导出
  • Oracle RAC Global Cache Load Profile
  • 关于做网站的毕业设计如何制作简单的网站
  • AI大模型的市场目前怎么样?
  • self attention, masked self attention, cross attention
  • 基于51单片机心率温度语音播报、显示时间