FFmpeg 是 Linux 系统下最强大的多媒体处理工具之一,几乎能完成所有与音视频相关的操作:从简单播放、提取信息,到复杂编辑、格式转换、字幕烧录,甚至屏幕录制。它完全免费、开源、跨平台,且在大多数发行版(如 Ubuntu、Fedora、Arch)的软件仓库中直接可用。
安装命令超级简单(以 Ubuntu/Debian 为例):
sudo apt update && sudo apt install ffmpeg

或者 Fedora:
Arch 用户直接:
安装完成后,打开终端就能开始“玩”了。

接下来分享 10 个最实用、最常见的技巧,每个都配上真实命令和场景解释。熟练掌握这些,你基本告别图形化音视频软件了!

1. 快速播放视频
很多人第一反应是用 VLC 或 mpv,但有时候你只想快速预览一个文件,不想打开大图形界面。
这时 ffplay 就是救星——FFmpeg 自带的轻量播放器。
基本播放:
循环播放(无限循环用 0):
快捷键也很直观:空格暂停、q 退出、左右箭头快进/快退、上下箭头音量调节。

这在服务器环境或轻量桌面特别实用,资源占用极低。
2. 获取媒体详细信息
想知道视频的编码、分辨率、比特率、帧率、时长、音频轨道等?不用打开 Mediainfo 或 VLC 属性,直接用 ffprobe:
简单查看:

更详细的流信息:
ffprobe -show_streams -i input.mp4

JSON 格式(脚本友好):
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4

这些信息对后续转码、剪辑非常关键,能帮你避免兼容性问题。
3. 终端录屏
Linux 录屏神器有很多(Kazam、SimpleScreenRecorder),但 FFmpeg 零依赖、参数最全。
录制全屏 10 秒(X11 环境):
ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0,0 -t 10 output.mp4
带系统音频(PulseAudio):
ffmpeg -f x11grab -video_size 1920x1080 -r 30 -i :0.0+0,0 -f pulse -i default -t 10 output.mp4
Wayland 用户可能遇到黑屏,建议临时切换到 Xorg 会话,或者使用 pipewire 抓取(更现代方案)。
屏幕尺寸查询:
xdpyinfo | grep dimensions
录屏无水印、无广告、帧率/比特率随意调,适合快速做教程、Bug 复现。
4. 从视频提取帧图
想从视频每秒抽一张图做预览集锦?
ffmpeg -i input.mp4 -r 1 frame_%04d.jpg


-r 1 表示每秒 1 帧,%04d 是序号填充 4 位(0001、0002...)。
只抽特定时间点单帧:
ffmpeg -i input.mp4 -ss 00:01:23 -frames:v 1 thumbnail.jpg
常用于生成视频封面、关键帧分析。
5. 图片序列转视频
反过来,把一堆按顺序命名的图片(img001.jpg、img002.jpg...)合成视频:
ffmpeg -framerate 1 -i frame%03d.jpg -c:v libx264 -r 30 -pix_fmt yuv420p slideshow.mp4
-framerate 1 表示输入每秒 1 张,输出 -r 30 更流畅。
加背景音乐,并以最短输入为准:
ffmpeg -framerate 1 -i img%03d.jpg -i bgm.mp3 -c:v libx264 -r 30 -shortest -pix_fmt yuv420p output.mp4
这招常用于照片回顾、产品展示、科学可视化。
6. 视频转 MP3 / GIF
提取音频到 MP3(丢弃视频流 -vn):
ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3
-q:a 2 是质量级别(0 最高,9 最低),推荐 0-5。
视频转 GIF(简单版):
ffmpeg -i input.mp4 output.gif
截取特定片段转 GIF(从 30 秒开始,持续 5 秒):
ffmpeg -ss 30 -t 5 -i input.mp4 -vf "fps=10,scale=480:-1:flags=lanczos" -c:v gif output.gif
加 fps 和 scale 能大幅减小文件体积且质量更好。
7. 硬字幕 / 软字幕
硬字幕(永久烧录,不能关闭):
ffmpeg -i input.mp4 -vf subtitles=subtitle.srt output.mp4
软字幕(可开关,推荐):
ffmpeg -i input.mp4 -i subtitle.srt -c copy -c:s mov_text output.mp4
如果字幕编码不对,可加 -sub_charenc GBK 或 UTF-8。
8. 修复损坏视频索引
视频卡顿、无法拖动进度条?往往是索引损坏。用 remux 修复:
ffmpeg -i damaged.mp4 -c copy -copyts fixed.mp4
-c copy 零损耗,只重封装容器,速度极快。
9. 视频缩放 / 改变分辨率
缩放到 720p:
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4


保持比例,只指定宽度:
ffmpeg -i input.mp4 -vf scale=640:-2 output.mp4
-2 确保高度偶数(编码要求)。
10. 剪切 + 裁剪视频
精准剪切(从 10 秒到 30 秒,不重编码):
ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 -c copy trimmed.mp4

裁剪(去除四周黑边,裁 640x480 从左上角开始):
ffmpeg -i input.mp4 -vf "crop=640:480:0:0" cropped.mp4
crop 参数:宽度:高度:x:y
这些技巧组合起来威力巨大。比如先用 ffprobe 分析 → 裁剪黑边 → 缩放 → 加字幕 → 转 GIF,一条龙完成短视频素材处理。
FFmpeg 的滤镜系统(-vf / -af)非常强大,官方文档 + 社区示例几乎能实现任何想象到的效果。建议大家把常用命令做成 alias 或写成小脚本,效率翻倍。
你最常用 FFmpeg 做哪件事?欢迎留言分享你的神级命令!如果觉得有用,点个在看 / 转发给需要的小伙伴~ 下期见!
