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

Ubuntu 20.04 下**安装 FFmpeg 5.1

下面是在 Ubuntu 20.04 下安装 FFmpeg 5.1 的完整步骤,特别针对你想用于读取 MP4 文件中的 H.264 视频数据与编码元数据的场景。包括添加官方源或源码编译、自定义常用依赖、检测安装,以及如何调用 FFmpeg 读取元数据信息的实际用法。


一、先卸载系统旧版 FFmpeg(如已装)

sudo apt-get remove ffmpeg
sudo apt-get autoremove

二、安装依赖库

FFmpeg 编译和功能常用的依赖:

sudo apt-get update
sudo apt-get install \autoconf automake build-essential cmake git-core libtool \pkg-config texinfo zlib1g-dev libssl-dev \libx264-dev libx265-dev libnuma-dev libfdk-aac-dev \libmp3lame-dev libopus-dev libvpx-dev libass-dev \libfreetype6-dev libsdl2-dev yasm

这些确保 h264 等常用编解码可用。


三、下载安装 FFmpeg 5.1 源码

cd ~
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout n5.1 # 切换到5.1版本分支

四、配置和编译 FFmpeg

./configure --prefix="$HOME/ffmpeg-5.1-build" \--enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 \--enable-libfdk-aac --enable-libmp3lame --enable-libopus \--enable-libvpx --enable-libass --enable-libfreetype \--enable-shared
make -j$(nproc)
make install

说明:

  • --enable-gpl --enable-nonfree 让 FFmpeg 支持 GPL/LGPL 和非自由库。
  • --enable-libx264 等是为 h264 编解码准备。
  • --prefix 指定安装目录,不会覆盖系统 FFmpeg。

五、配置环境变量

echo 'export PATH="$HOME/ffmpeg-5.1-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

确认新版本已安装:

ffmpeg -version   # 应输出5.1.X

六、使用 FFmpeg 获取 MP4 的 H.264 数据和元数据

1. 获取文件元数据(编码信息等):

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name,codec_type,codec_tag_string,profile,width,height,r_frame_rate,avg_frame_rate -of default=noprint_wrappers=1 demo.mp4

返回类似于:

codec_name=h264
codec_type=video
profile=High
width=1920
height=1080
r_frame_rate=25/1
avg_frame_rate=25/1

2. 提取裸流(h264码流):

ffmpeg -i demo.mp4 -an -c:v copy -bsf:v h264_mp4toannexb output.h264
  • -an:去音频
  • -c:v copy:不转码,直接拷贝
  • -bsf:v h264_mp4toannexb:把 MP4 的 H.264 样本转成裸流 annexb 格式

七、其它建议

  • 推荐源码安装,因 Ubuntu 官方仓库一般没有 5.1 这么新。

  • 可用 ffprobe 直接提取所有元数据,支持 json 输出(方便程序解析)

    ffprobe -v quiet -print_format json -show_streams demo.mp4
    

总结

  1. 卸载旧版,安装依赖
  2. 编译安装 FFmpeg 5.1
  3. 配置环境变量
  4. 使用 ffprobe 提取元数据,ffmpeg 提取裸 h264 流
http://www.lryc.cn/news/584270.html

相关文章:

  • Lua嵌入式爬虫实现步骤
  • Redis性能基准测试
  • 观众信息设置与统计(视频高级分析与统计功能)
  • Windows下VScode配置FFmpeg开发环境保姆级教程
  • vue中token的使用与统计实践
  • 机器学习11——支持向量机上
  • 快速合并多个CAD图形为单一PDF文档的方法
  • 机器学习之逻辑回归和k-means算法(六)
  • 机器学习:反向神经元传播公式推导
  • C#基础:Winform桌面开发中窗体之间的数据传递
  • 机器学习13——支持向量机下
  • Linux - firewall 防火墙
  • Spring MVC 1
  • C语言<数据结构-链表>
  • 基于Catboost算法的茶叶数据分析及价格预测系统的设计与实现
  • CH9121T电路及配置详解
  • 《Stata面板数据分析:数据检验、回归模型与诊断技术 - 以NLSW工资研究(公开数据)为例》
  • 时间显示 蓝桥云课Java
  • 数据分析中的拉链表解析
  • 整数反转(C++)
  • JDK的Closure闭包详解
  • x86汇编语言入门基础(三)汇编指令篇3 位移运算
  • expect 安装入门手册
  • window显示驱动开发—XR_BIAS 和 BltDXGI
  • 图书管理系统(完结版)
  • windows11桌面部分区域无法点击
  • Netron的基本使用介绍
  • Django+DRF 实战:自定义异常处理流程
  • QT数据交互全解析:JSON处理与HTTP通信
  • 原生微信小程序研发,如何对图片进行统一管理?