登录
首页 >  文章 >  linux

Linux怎么安装FFmpeg_Linux如何进行音视频格式转换处理【教程】

时间:2026-05-02 21:14:53 490浏览 收藏

小伙伴们有没有觉得学习文章很有意思?有意思就对了!今天就给大家带来《Linux怎么安装FFmpeg_Linux如何进行音视频格式转换处理【教程】》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

日常转码用系统包即可,遇H.265、libfdk-aac等需求则选静态版或源码编译;静态版解压即用,源码编译需注意--enable-gpl/--enable-nonfree等关键开关。

Linux怎么安装FFmpeg_Linux如何进行音视频格式转换处理【教程】

直接装还是自己编?先看你要干什么

如果你只是转个 MP4 为 AVI、抽个音频、截个视频片段,apt install ffmpegdnf install ffmpeg 就够了——系统仓库里的版本(比如 Ubuntu 24.04 自带 6.0,CentOS 8+ EPEL 提供 5.1)能跑绝大多数日常任务。
但一旦遇到这些情况,包管理器就容易翻车:

  • 想用 H.265 编码(libx265),但系统版默认没开
  • 需要 AAC-LC 以外的音频编码(比如 libfdk-aac,音质更好但许可证受限)
  • 要处理 ProRes、AV1(libaom)、或某些老旧封装(如 MXF 时间码校准)
  • ffmpeg -version 显示 “configuration: … --disable-libx265” —— 这就是功能被阉割了

这时候别硬扛,换静态二进制或源码编译。

新手最快能用的方案:静态预编译版

它不依赖系统库,解压即用,自带 ffmpegffprobe,版本新(当前官网镜像已提供 6.1+),适合服务器快速上线。

  • 先确认你的 CPU 架构:lscpu | grep "Architecture",大概率是 x86_64(即 amd64
  • 下载并解压:
    wget <a target='_blank'  href='https://www.17golang.com/gourl/?redirect=MDAwMDAwMDAwML57hpSHp6VpkrqbYLx2eayza4KafaOkbLS3zqSBrJvPsa5_0Ia6sWuR4Juaq6t9nq5roGCUgXuytMyerpWfcNTGoovMmtGyqZGYpKO8hWWex2topoqmk6zIqrymgGWB0cZ7h8yblbqzhJiKncSKcqC_smmpipCxpL67tKSAiX3ZvniKlIS7smmRvoKgu6tlZL6RgaWVgaiirtyzon1kidGyeJjbhqq5boatgamvhpSdvrOBZX99pGy_t7NrjayE376Ih86G0LFu' rel='nofollow'>https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz</a><br>
    tar -xJf ffmpeg-release-amd64-static.tar.xz
  • 移动到标准位置并建软链:
    sudo mv ffmpeg-6.1-amd64-static /usr/local/ffmpeg<br>
    sudo ln -s /usr/local/ffmpeg/ffmpeg /usr/bin/ffmpeg<br>
    sudo ln -s /usr/local/ffmpeg/ffprobe /usr/bin/ffprobe
  • 验证:ffmpeg -version 应显示 “static” 和完整配置(含 libx265libfdk-aac 等)

⚠️ 注意:不要用 ffmpeg-git 版本做生产环境批量转码——它可能在某次提交里悄悄改了 -crf 行为或引入内存泄漏,稳定压倒一切。

必须自己编?搞清 configure 关键开关

源码编译不是为了“高级”,而是为了可控。比如你得支持国标 GB/T 28181 流媒体,就必须启用 --enable-librtmp;要做硬件加速(Intel QSV、NVIDIA NVENC),就得加 --enable-libmfx--enable-cuda-nvcc

常见坑点:

  • yasm 或太老 → 报错 yasm/nasm not found or too old → 先装 yasm(不是 nasm,二者不兼容)
  • 忘加 --enable-gpllibx264libx265 直接不可用(它们是 GPL 协议)
  • 忘加 --enable-nonfreelibfdk-aac 编译失败(非自由许可)
  • --prefix=/usr/local 后没更新 ldconfig → 运行时报 libavcodec.so.60: cannot open shared object file
  • 编译完不运行 sudo ldconfig,也不加 /usr/local/lib/etc/ld.so.conf.d/ffmpeg.conf

一个最小可用配置示例(含常用编码器):

./configure --prefix=/usr/local \<br>
--enable-gpl \<br>
--enable-nonfree \<br>
--enable-libx264 \<br>
--enable-libx265 \<br>
--enable-libfdk-aac \<br>
--enable-libvpx \<br>
--enable-libopus

格式转换实操避坑:参数不是越多越好

很多人一上来就堆参数:-c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k,结果转出来体积大、耗时长、播放还卡顿。

实际要分场景选:

  • 上传 B 站/抖音:优先用 -c:v libx264 -profile:v high -level 4.0,避免 Level 4.2 导致部分安卓机硬解失败
  • 内部归档:用 -c:v libx265 -crf 23 -preset medium,比 H.264 省 40% 空间,但注意老设备可能播不了
  • 抽音频保留质量:-vn -c:a copy(无损提取)或 -vn -c:a libmp3lame -q:a 0(最高质量 MP3)
  • 截取 10 秒视频:-ss 00:01:20 -t 10 -i input.mp4 -c copy output.mp4 → 加 -c copy 才真正快,否则会重编码

最常被忽略的一点:时间戳处理。如果原始视频有 B 帧或非单调 DTS,-ss 放前面(输入侧)比放后面(输出侧)更准,但会略慢;追求精度就接受这点延迟。

有些服务器上 ffmpeg 装好了却报 Unknown encoder 'libx265',不是没装,是没启用——回去检查 ffmpeg -encoders | grep x265,没输出就说明 configure 没加 --enable-libx265 或编译时漏了依赖。

本篇关于《Linux怎么安装FFmpeg_Linux如何进行音视频格式转换处理【教程】》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>