一键转换视频为WebM:FFmpeg全攻略
文章目录
- 需求
- 分析
- 1. 安装 FFmpeg
- 2. 字段说明
- 3. 场景一:单条快速命令
- 4. 场景二:致画质:VP9 二遍编码(2-pass,画质最优,速度慢)
- 5. 场景三:批量转换脚本(文件夹内所有视频转 WebM)
- 1. Windows 批处理 (.bat)
- 2. Linux / Mac 终端批量命令
- 6、常用调参小技巧
- 7、网页播放测试
需求
生成 VP8/VP9(WebM)视频,核心就两条路:用 FFmpeg 转码(最简单)、或用代码 / 专业工具编码。下面直接给可用命令和关键参数
分析
1. 安装 FFmpeg
ffmpeg安装并配置使用:点击跳转
2. 字段说明
- input.mp4 = 你的原视频,改成实际文件名
- output_xxx.webm = 输出文件,自定义名称
- CRF 范围:0 (无损) ~ 63 (最差),日常推荐 24~35
- 音频:普通视频用 libopus(WebM 标准音频)
3. 场景一:单条快速命令
VP9 日常版(推荐,平衡画质 / 体积,单遍编码,速度快)
Windows / Mac / Linux 通用ffmpeg-iinput.mp4-c:vlibvpx-vp9-crf30-b:v0-c:alibopus-b:a128k vp9_normal.webm
参数解读:
- -crf 30:大众画质,清晰度够用、体积小
- -b:v 0:完全由 CRF 控制质量,不限码率
- 音频 128k,人声 / 音乐都够用
- VP9 高清版(1080P / 短视频,画质更好)
ffmpeg-iinput.mp4-c:vlibvpx-vp9-crf24-b:v0-c:alibopus-b:a192k vp9_high.webm- VP8 兼容版(老旧浏览器 / 设备,兼容性拉满)
ffmpeg-iinput.mp4-c:vlibvpx-b:v1M-c:alibvorbis-b:a128k vp8_compat.webm- VP9 透明通道视频(Alpha 透明,网页动效 / 贴纸专用)
要求:原文件是带透明的 MOV/PNG 序列
ffmpeg-ialpha_source.mov-c:vlibvpx-vp9-crf28-b:v0-c:alibopus alpha_webm.webm4. 场景二:致画质:VP9 二遍编码(2-pass,画质最优,速度慢)
适合正式上线、高清宣传片,分两步执行
Linux / Mac / PowerShell
- 第一步(分析阶段,无输出文件)
ffmpeg-iinput.mp4-c:vlibvpx-vp9-b:v3M-pass1-an-fnull NULLinux/Mac 把末尾 NUL 换成 /dev/null
- 第二步(正式生成视频)
ffmpeg-iinput.mp4-c:vlibvpx-vp9-b:v3M-pass2-c:alibopus-b:a192k vp9_2pass.webm-b:v 3M:限定视频最高码率 3Mbps,可按需改为 2M/4M
5. 场景三:批量转换脚本(文件夹内所有视频转 WebM)
1. Windows 批处理 (.bat)
新建文本,粘贴内容,改后缀为 ConvertToWebM.bat,放在视频文件夹双击运行
@echo off :: 批量转 VP9 标准画质 for %%a in (*.mp4,*.mov,*.avi) do ( ffmpeg -i "%%a" -c:v libvpx-vp9 -crf 30 -b:v 0 -c:a libopus -b:a 128k "%%~na_vp9.webm" ) echo 转换完成! pause2. Linux / Mac 终端批量命令
进入视频文件夹后执行:
forfin*.mp4 *.mov *.avi;doffmpeg-i"$f"-c:vlibvpx-vp9-crf30-b:v0-c:alibopus-b:a128k"${f%.*}_vp9.webm";done6、常用调参小技巧
- 想要更小体积:把 crf 改大(如 35、40)
- 想要更清晰:把 crf 改小(如 22、20)
- 不要音频:加参数 -an,例:
ffmpeg-iinput.mp4-c:vlibvpx-vp9-crf30-b:v0-anno_audio.webm- 限制分辨率(压缩尺寸):加 -s 1280x720 转为 720P
7、网页播放测试
生成后直接嵌入 HTML 即可播放:
<!-- 普通 WebM --><video controlswidth="800"><sourcesrc="vp9_normal.webm"type="video/webm">浏览器不支持 WebM 格式</video>