公司博客 // 2026-07-17 · BY IDCBOT

ffmpeg视频转码教程:服务器端批量压缩、转格式与处理视频

做视频站、在线课程、短视频业务,总要处理大量视频:压缩体积、转换格式、生成不同清晰度。手动用软件一个个转太慢,ffmpeg让你在服务器上批量、自动化地处理视频。本文教你常用命令和批处理方法。

一、ffmpeg是什么?

ffmpeg是最强大的开源音视频处理工具,几乎能处理任何格式的转换、压缩、剪辑、提取。它是命令行工具,适合服务器端批量自动化处理——这正是它比图形软件强的地方。

二、安装

apt install ffmpeg -y        # Debian/Ubuntu
ffmpeg -version              # 验证安装

三、常用命令速查

1. 转换格式(如mov转mp4):

ffmpeg -i input.mov output.mp4

2. 压缩视频(用CRF控制质量,值越大文件越小,23是常用平衡点):

ffmpeg -i input.mp4 -vcodec libx264 -crf 26 output.mp4

3. 转成不同清晰度(如压到720p):

ffmpeg -i input.mp4 -vf scale=-2:720 output_720p.mp4

4. 提取音频:

ffmpeg -i input.mp4 -vn -acodec copy output.aac

5. 截取片段(从10秒处截30秒):

ffmpeg -i input.mp4 -ss 00:00:10 -t 30 -c copy clip.mp4

6. 生成HLS切片(用于网页流媒体播放):

ffmpeg -i input.mp4 -codec: copy -hls_time 10 -f hls output.m3u8

四、批量处理脚本

批量把一个目录里的所有mov转成压缩后的mp4:

#!/bin/bash
for f in *.mov; do
  ffmpeg -i "$f" -vcodec libx264 -crf 26 "${f%.mov}.mp4"
done

配合crontab(参考博客crontab篇)还能做成定时自动处理——上传目录有新视频就自动转码。

五、关键:视频转码极其吃CPU

这是选服务器的重点。视频转码是CPU密集型任务,尤其H.264/H.265软件编码,会把CPU吃满。这意味着:

  • 核心数越多越快:转码能吃满所有核心,多核物理机批量处理效率高;
  • 虚拟化的坑:超售VPS转码时,CPU被邻居争抢(steal值高),转码速度不稳定还可能被限制;
  • 建议:大批量、常态化的转码业务,用物理独享的独立服务器或裸金属,核心数给足、算力独享,转码又快又稳。偶尔转几个视频,VPS也够用。

六、和存储分发配合

转码后的视频别堆在服务器硬盘上——存到对象存储(参考博客rclone篇)、通过CDN分发(参考博客Cloudflare篇),服务器只负责”转码”这个计算环节。这样存储和带宽成本可控,尤其视频站和在线教育场景(参考博客在线教育篇)。典型流程:上传→服务器转码→存对象存储→CDN分发。

结论

ffmpeg是服务器端视频处理的利器:格式转换、压缩、切片、批处理全能搞定。选型记住一点——转码吃CPU,批量业务上多核物理独享机器,配合对象存储和CDN构成完整的视频处理管线。想跑通转码流程,先在一台VPS上装个ffmpeg试试上面的命令,批量业务再升级到独享算力。

// LEAVE A COMMENT

Your email address will not be published. Required fields are marked *