Skip to main content

常用指令

rmvb转mp4

# 使用CPU
.\ffmpeg.exe -hwaccel cuvid -hwaccel_device 0 -i .\test.rmvb -c:v libx264 -strict -2 test2.mp4


# 使用GPU
.\ffmpeg.exe -hwaccel cuvid -hwaccel_device 0 -i .\test.rmvb -c:v h264_nvenc -strict -2 test2.mp4

m4s 处理

# 音频转换成mp3
ffmpeg -i mp3.m4s -vn -ar 44100 -ac 2 -ab 192k -f mp3 output.mp3

ffmpeg -i .\你笑起来真好看.m4s -vn -ar 44100 -ac 2 -ab 192k -f mp3 你笑起来真好看.mp3

# 两个文件合并成一个mp4
ffmpeg -i avi.m4s -i mp3.m4s -c:v libx264 -crf 23 -c:a aac output.mp4

# 转换成avi
ffmpeg -i output.mp4 -c:v mpeg4 -qscale:v 2 -c:a mp3 output.avi
@echo off
setlocal enabledelayedexpansion

:: 遍历当前目录下的所有 .m4s 文件
for %%f in (*.m4s) do (
echo Converting %%f to MP3...
:: 使用 FFmpeg 转换文件
ffmpeg -i "%%f" -vn -acodec libmp3lame -ab 128k "%%~nf.mp3"
)

echo Conversion complete.
@echo off
setlocal enabledelayedexpansion

:: 遍历当前目录下的所有 .m4s 文件
for %%f in (*.mp4) do (
echo Converting %%f to MP3...
:: 使用 FFmpeg 转换文件
ffmpeg -i "%%f" -vn -acodec libmp3lame -ab 128k "%%~nf.mp3"
)

echo Conversion complete.

音频处理

mp3

MP3 (使用最低可用比特率 + 低通滤波)

ffmpeg -i ui.mp3 \
-c:a libmp3lame -q:a 9 \ # 可变比特率模式(0-9,9=最低质量)
-cutoff 16000 \ # 截断高频(默认20kHz → 16kHz)
-compression_level 2 \ # 加速编码(0=慢,9=快)
-ac 1 \ # 单声道输出
ui_low.mp3
ffmpeg -i ./ui.mp3 -c:a libmp3lame -q:a 9 -cutoff 16000 -compression_level 2 -ac 1 ./ui_low.mp3

m4a

高效M4A/AAC(使用原生编码器)

ffmpeg -i ui.mp3 \
-c:a aac -b:a 48k \ # 固定48kbps比特率
-profile:a aac_low \ # 低复杂度配置
-cutoff 14000 \ # 限制高频
-ac 1 \
ui_low.m4a
ffmpeg -i ./ui.mp3 -c:a aac -b:a 48k -profile:a aac_low -cutoff 14000 -ac 1 ./ui_low.m4a

webm

WebM/Opus (优化语音压缩)

ffmpeg -i ui.mp3 \
-c:a libopus \
-b:a 24k \ # 24kbps目标比特率
-vbr constrained \ # 受约束VBR模式
-compression_level 10 \ # 最高压缩级别
-application audio \ # 通用音频优化
-frame_duration 40 \ # 40ms帧提升压缩率
-ac 1 \
ui_low.webm
ffmpeg -i ./ui.mp3 -c:a libopus -b:a 24k -vbr constrained -compression_level 10 -application audio -frame_duration 40 -ac 1 ./ui_low.webm