ffmpeg-video-resolution
FFmpeg 修改视频分辨率
补充说明
基于原有脚本风格,分 CMD、PowerShell、Linux 三类,提供等比例缩放、固定尺寸拉伸、等比例缩放 + 居中补边、按宽/高固定缩放、裁剪、降分辨率压缩常用场景,支持保留原格式 & 转 H.265 压缩,兼容 mp4/mkv/avi/mov/webm/flv 全格式。所有脚本自动创建 Completed 文件夹,处理完成的视频自动存入该目录,不覆盖、不修改原视频。
通用参数说明
scale=W:H:scale 滤镜,设置输出分辨率force_original_aspect_ratio=decrease:等比例缩小,不放大原视频force_original_aspect_ratio=increase:等比例放大/缩小pad=宽:高:左右偏移:上下偏移:留白补边居中crop=W:H:X:Y:裁剪滤镜,截取指定区域-c:a copy:复制音频流,避免音频重编码-y:自动覆盖输出文件夹内同名文件,不影响原视频
一、CMD 版本(批量处理 + 自动分类存档)
所有命令自动检测并创建当前目录 Completed 文件夹,处理后的文件统一存入该目录,原视频保留不动。
1. 等比例缩放(限定最大宽高,不拉伸、不放大原视频)
输出原视频格式,成品存入 Completed 文件夹
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1920:1080:force_original_aspect_ratio=decrease" -c:a copy "Completed\%~ni%~xi"
2. 强制拉伸为固定尺寸 1920x1080(无视比例)
输出原视频格式,成品存入 Completed 文件夹
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1920:1080" -c:a copy "Completed\%~ni%~xi"
3. 等比例缩放 + 居中黑边补边 1920x1080
输出原视频格式,成品存入 Completed 文件夹
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "Completed\%~ni%~xi"
4. 仅固定宽度,高度自动等比例
示例:固定宽度 1280px,高度自适应,成品存入 Completed 文件夹
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1280:-1" -c:a copy "Completed\%~ni%~xi"
5. 仅固定高度,宽度自动等比例
示例:固定高度 720px,宽度自适应,成品存入 Completed 文件夹
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=-1:720" -c:a copy "Completed\%~ni%~xi"
6. 降分辨率并转 H.265 压缩(体积减少 50%+)
将视频缩放到 1280x720 并转 H.265 编码,兼顾清晰度与小体积
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2:black" -c:v libx265 -crf 28 -c:a copy "Completed\%~ni_720p_hevc.mp4"
7. 裁剪视频画面(裁掉边缘)
从左上角 (0:0) 起裁剪 640x480 区域
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "crop=640:480:0:0" -c:a copy "Completed\%~ni%~xi"
从中心裁剪 640x480 区域
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "crop=640:480" -c:a copy "Completed\%~ni%~xi"
8. 按百分比缩放(整体缩小 50%)
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=iw*0.5:ih*0.5" -c:a copy "Completed\%~ni%~xi"
二、PowerShell 版本(批量处理 + 自动分类存档)
所有命令自动检测并创建当前目录 Completed 文件夹,处理后的文件统一存入该目录,原视频保留不动。
1. 等比例缩放(限定最大宽高,不放大原视频)
输出原视频格式,成品存入 Completed 文件夹
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 -vf "scale=1920:1080:force_original_aspect_ratio=decrease" -c:a copy "Completed\$($_.Name)" }
2. 强制拉伸为固定尺寸 1920x1080
输出原视频格式,成品存入 Completed 文件夹
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 -vf "scale=1920:1080" -c:a copy "Completed\$($_.Name)" }
3. 等比例缩放 + 居中补边 1920x1080
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 -vf "scale=1920:1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "Completed\$($_.Name)" }
4. 固定宽度、高度自适应
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 -vf "scale=1280:-1" -c:a copy "Completed\$($_.Name)" }
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 -vf "scale=-1:720" -c:a copy "Completed\$($_.Name)" }
6. 降分辨率 + 转 H.265 压缩
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 -vf "scale=1280:720:force_original_aspect_ratio=1,pad=1280:720:(ow-iw)/2:(oh-ih)/2:black" -c:v libx265 -crf 28 -c:a copy "Completed\$($_.BaseName)_720p_hevc.mp4" }
7. 裁剪视频
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 -vf "crop=640:480" -c:a copy "Completed\$($_.Name)" }
8. 按百分比缩放
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 -vf "scale=iw*0.5:ih*0.5" -c:a copy "Completed\$($_.Name)" }
三、Linux 版本(批量处理 + 自动分类存档)
所有命令自动检测并创建当前目录 Completed 文件夹,处理后的文件统一存入该目录,原视频保留不动,兼容 Linux / MacOS 终端执行,支持 mp4/mkv/avi/mov/webm/flv 全格式。
1. 等比例缩放(限定最大宽高,不拉伸、不放大原视频)
输出原视频格式,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=1920:1080:force_original_aspect_ratio=decrease" -c:a copy "Completed/$file"; done
2. 强制拉伸为固定尺寸 1920x1080(无视比例)
输出原视频格式,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=1920:1080" -c:a copy "Completed/$file"; done
3. 等比例缩放 + 居中黑边补边 1920x1080
输出原视频格式,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "Completed/$file"; done
4. 仅固定宽度,高度自动等比例
示例:固定宽度 1280px,高度自适应,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=1280:-1" -c:a copy "Completed/$file"; done
5. 仅固定高度,宽度自动等比例
示例:固定高度 720px,宽度自适应,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=-1:720" -c:a copy "Completed/$file"; done
6. 降分辨率 + 转 H.265 压缩
将视频缩放到 1280x720 并转 H.265,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2:black" -c:v libx265 -crf 28 -c:a copy "Completed/${file%.*}_720p_hevc.mp4"; done
7. 裁剪视频画面
从中心裁剪 640x480 区域,成品存入 Completed 文件夹
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "crop=640:480" -c:a copy "Completed/$file"; done
8. 按百分比缩放(整体缩小 50%)
mkdir -p Completed && for file in *.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV; do ffmpeg -i "$file" -y -vf "scale=iw*0.5:ih*0.5" -c:a copy "Completed/$file"; done
四、扩展用法
1. 修改补边底色(默认黑色,改为白色)
在 pad 参数后加颜色 :white,成品自动存入 Completed 文件夹(CMD):
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:white" -c:a copy "Completed\%~ni%~xi"
2. 自定义特定分辨率(竖屏 1080x1920)
CMD 示例,成品存入 Completed 文件夹:
md Completed 2>nul && for %i in (*.mp4 *.MP4 *.mkv *.MKV *.avi *.AVI *.mov *.MOV) do ffmpeg -i "%i" -y -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" -c:a copy "Completed\%~ni%~xi"
3. 禁止覆盖输出文件夹内文件
删除命令里的 -y 参数,若 Completed 文件夹内存在同名文件,会弹出确认提示,防止成品文件被误覆盖。原视频始终不会被修改。
五、参数速查(视频分辨率)
| 写法 | 作用 |
|---|---|
scale=W:H |
固定宽高,强制拉伸 |
scale=W:-1 |
固定宽度,高度自适应 |
scale=-1:H |
固定高度,宽度自适应 |
scale=iw*0.5:ih*0.5 |
宽高同时缩为原尺寸 50% |
force_original_aspect_ratio=decrease |
只缩小、不放大原视频 |
force_original_aspect_ratio=increase |
可放大/缩小,保持比例 |
pad=W:H:X:Y:color |
补边至指定尺寸,居中偏移,可设颜色 |
crop=W:H:X:Y |
从 (X,Y) 裁取 WxH 区域 |
crop=W:H |
从正中心裁取 WxH 区域 |
六、常见分辨率对照
| 分辨率 | 比例 | 常见用途 |
|---|---|---|
| 7680x4320 | 16:9 | 8K 超高清 |
| 3840x2160 | 16:9 | 4K UHD |
| 1920x1080 | 16:9 | 1080p 全高清 |
| 1280x720 | 16:9 | 720p 高清 |
| 854x480 | 16:9 | 480p 标清 |
| 640x360 | 16:9 | 360p 流畅 |
| 1080x1920 | 9:16 | 竖屏全高清(手机) |
| 720x1280 | 9:16 | 竖屏高清(手机) |
七、功能说明
- 自动创建文件夹:CMD 通过
md Completed 2>nul、PowerShell 通过目录检测命令,自动生成存档文件夹,无需手动新建,重复执行命令不会报错 - 原视频绝对保护:所有处理操作均针对源文件读取,输出文件全部存入子文件夹,彻底杜绝原视频覆盖、损坏、丢失问题
- 同名文件兼容:保留
-y参数,默认覆盖文件夹内成品文件,可手动删除该参数开启覆盖确认提示 - 音频不变:默认使用
-c:a copy直接复制音频流,避免不必要的音频重编码,大幅提升处理速度 - 全功能兼容:原有缩放、补边、H.265 压缩、裁剪、百分比缩放等所有功能完全保留,仅修改文件输出路径