随机
Enter 搜索 ↑↓ 切换 Esc 清空

ffmpeg-video-format

命令

FFmpeg 视频格式转换

ffmpeg-video-format

FFmpeg 视频格式转换

补充说明

本文提供全平台 FFmpeg 视频格式转换脚本,适配 Windows CMD / PowerShell / Linux / MacOS。支持主流视频格式互转、批量转换、音频提取、硬件加速编码。所有脚本可自动创建 Completed 文件夹存放成品,绝对不会覆盖、修改原始视频

通用参数说明

  • -y:自动覆盖 Completed 内的同名成品文件(不影响原视频)
  • -c:v libx264:H.264 软件编码器,兼容性最好
  • -c:v libx265:H.265/HEVC 编码器,同等画质体积更小
  • -c:a copy:直接复制音频流,不重新编码(速度快)
  • -crf 23:H.264/H.265 质量参数,数值越小画质越高(0-51,默认 23)
  • -preset fast:编码速度预设,可选 ultrafast/superfast/veryfast/faster/fast/medium/slow/slower/veryslow

一、Windows CMD — 视频格式批量转换

自动创建 Completed 文件夹,支持 mp4/mkv/avi/mov/webm 等格式互转,原视频安全保留。

1. MP4 → 其他格式

md Completed 2>nul && for %i in (*.mp4 *.MP4) do ffmpeg -i "%i" -y -c:v libx264 -c:a aac "Completed\%~ni.mkv"

转换 MP4 为 MKV(H.264 + AAC 重编码)

md Completed 2>nul && for %i in (*.mp4 *.MP4) do ffmpeg -i "%i" -y -c:v libx264 -c:a mp3 "Completed\%~ni.avi"

转换 MP4 为 AVI(H.264 + MP3 重编码)

md Completed 2>nul && for %i in (*.mp4 *.MP4) do ffmpeg -i "%i" -y -c:v libx264 -c:a aac "Completed\%~ni.mov"

转换 MP4 为 MOV(H.264 + AAC 重编码)

2. MKV → 其他格式

md Completed 2>nul && for %i in (*.mkv *.MKV) do ffmpeg -i "%i" -y -c:v libx264 -c:a aac "Completed\%~ni.mp4"

转换 MKV 为 MP4(H.264 + AAC)

md Completed 2>nul && for %i in (*.mkv *.MKV) do ffmpeg -i "%i" -y -c:v libx264 -c:a mp3 "Completed\%~ni.avi"

转换 MKV 为 AVI(H.264 + MP3)

3. 其他格式 → MP4

md Completed 2>nul && for %i in (*.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.m4v *.M4V) do ffmpeg -i "%i" -y -c:v libx264 -c:a aac "Completed\%~ni.mp4"

通用转 MP4 格式

4. H.264 → H.265 / HEVC 压缩(体积减少约 30-50%)

md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV) do ffmpeg -i "%i" -y -c:v libx265 -crf 28 -c:a copy "Completed\%~ni_hevc.mp4"

5. 视频 → 音频提取

md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vn -c:a mp3 -q:a 2 "Completed\%~ni.mp3"

提取音频为 MP3 格式

md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vn -c:a aac -b:a 192k "Completed\%~ni.m4a"

提取音频为 AAC 格式


二、Windows PowerShell — 视频格式批量转换

自动创建归档文件夹,全量批量转换,功能与 CMD 完全一致。

1. MP4 → 其他格式

if (!(Test-Path "Completed")) { New-Item -ItemType Directory -Path "Completed" | Out-Null }
Get-ChildItem *.mp4, *.MP4 | % { ffmpeg -i $_.FullName -y -c:v libx264 -c:a aac "Completed\$($_.BaseName).mkv" }

2. MKV → 其他格式

if (!(Test-Path "Completed")) { New-Item -ItemType Directory -Path "Completed" | Out-Null }
Get-ChildItem *.mkv, *.MKV | % { ffmpeg -i $_.FullName -y -c:v libx264 -c:a aac "Completed\$($_.BaseName).mp4" }

3. 通用格式 → MP4

if (!(Test-Path "Completed")) { New-Item -ItemType Directory -Path "Completed" | Out-Null }
Get-ChildItem *.mp4, *.MP4, *.avi, *.AVI, *.mov, *.MOV, *.webm, *.WEBM, *.flv, *.FLV, *.m4v, *.M4V | % { ffmpeg -i $_.FullName -y -c:v libx264 -c:a aac "Completed\$($_.BaseName).mp4" }

4. H.264 → H.265 / HEVC 压缩

if (!(Test-Path "Completed")) { New-Item -ItemType Directory -Path "Completed" | Out-Null }
Get-ChildItem *.mp4, *.MP4, *.mkv, *.MKV | % { ffmpeg -i $_.FullName -y -c:v libx265 -crf 28 -c:a copy "Completed\$($_.BaseName)_hevc.mp4" }

5. 音频提取

if (!(Test-Path "Completed")) { New-Item -ItemType Directory -Path "Completed" | Out-Null }
Get-ChildItem *.mp4, *.MP4, *.mkv, *.MKV, *.avi, *.AVI, *.mov, *.MOV | % { ffmpeg -i $_.FullName -y -vn -c:a mp3 -q:a 2 "Completed\$($_.BaseName).mp3" }

三、Linux / MacOS — 视频格式批量转换

通用 Bash 脚本,自动创建归档目录,跨系统通用。

1. MP4 → 其他格式

mkdir -p Completed && for file in *.mp4 *.MP4; do ffmpeg -i "$file" -y -c:v libx264 -c:a aac "Completed/${file%.*}.mkv"; done

2. MKV → 其他格式

mkdir -p Completed && for file in *.mkv *.MKV; do ffmpeg -i "$file" -y -c:v libx264 -c:a aac "Completed/${file%.*}.mp4"; done

3. 通用格式 → MP4

mkdir -p Completed && for file in *.mp4 *.MP4 *.avi *.AVI *.mov *.MOV *.webm *.WEBM *.flv *.FLV *.m4v *.M4V; do ffmpeg -i "$file" -y -c:v libx264 -c:a aac "Completed/${file%.*}.mp4"; done

4. H.264 → H.265 / HEVC 压缩

mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV; do ffmpeg -i "$file" -y -c:v libx265 -crf 28 -c:a copy "Completed/${file%.*}_hevc.mp4"; done

5. 视频 → 音频提取

mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vn -c:a mp3 -q:a 2 "Completed/${file%.*}.mp3"; done

6. 硬件加速编码(NVIDIA NVENC)

mkdir -p Completed && for file in *.mp4 *.MP4; do ffmpeg -i "$file" -y -c:v h264_nvenc -preset p4 -cq 23 -c:a aac "Completed/${file%.*}_nvenc.mp4"; done

四、编码格式对照表

编码器 容器格式 兼容性 体积 画质 编码速度
libx264 mp4/mkv/mov/avi 极好(几乎所有设备) 较大 优秀 中等
libx265 mp4/mkv 较好(现代设备) 比 H.264 小 30-50% 优秀
h264_nvenc mp4 好(需 NVIDIA 显卡) 较大 良好 极快
h265_nvenc mp4 较好(需 NVIDIA 显卡) 中等 良好 极快
libvpx-vp9 webm 一般(浏览器支持好) 极小 良好 极慢
libaom-av1 mp4/mkv 较差(仅最新设备) 最小 优秀 极慢

五、CRF 质量参数对照表

参数说明:取值范围 0 ~ 51(H.264/H.265 通用)。数值越小,画质越高、文件体积越大;0 为无损,51 为最差。建议范围 18~28。

CRF 值 画质表现 适用场景
18 视觉无损,体积较大 高清存档、母带备份
20 极佳画质,几乎无损耗 高质量视频归档
23 优秀画质,良好体积均衡 默认值,日常使用
25 良好画质,体积适中 网络传输、在线分享
28 可接受画质,体积较小 移动设备、大文件压缩
30 画质下降明显 临时存储、低码率分发
35 画质损失较大 极限压缩、存档缩略

六、功能说明