一、到ffmpeg官网下载文件包:
Download FFmpeg
下载后找到 bin 下的3个exe文件,复制到自己本机的某个目录下, 如:

二、使用命令行压缩:
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -y output.mp4这条命令使用 FFmpeg 工具对输入视频文件 input.mp4 进行压缩,并将压缩后的视频保存为 output.mp4 文件。以下是对命令中各个参数的详细解释:
- ffmpeg: FFmpeg 是一个开源的音视频处理工具,可以用于处理、转换和编辑音视频文件。
- -i input.mp4: 指定要处理的输入视频文件为- input.mp4。- -i是 FFmpeg 中用于指定输入文件的参数。
- -c:v libx265: 指定视频编码器为 libx265,这表示使用 H.265/HEVC 编码器进行视频压缩。- -c:v是用于指定视频编码器的参数。
- -crf 28: 指定视频的质量级别,数值越小表示质量越高,压缩率越低。在这里,- -crf 28表示使用 CRF(Constant Rate Factor)为 28 进行压缩,这是一个常用的视频质量控制参数。
- -y: 在输出文件存在时自动覆盖。如果不加- -y参数,在输出文件已存在时,FFmpeg 会提示是否覆盖输出文件。
- output.mp4: 指定压缩后的视频文件名为- output.mp4。
综合起来,这条命令的作用是将输入视频文件 input.mp4 使用 libx265 编码器进行压缩,质量级别为 28,并将压缩后的视频保存为 output.mp4 文件。执行该命令后,将生成一个经过压缩处理的输出视频文件。
请注意,压缩视频可能会导致视频质量的损失,但可以减小视频文件的大小。您可以根据需要调整 -crf 参数来平衡视频质量和文件大小。
三、使用FFmpeg对文件夹下的所有mp4文件进行批量压缩处理的powershell脚本:
如下ps脚本实现了对2个文件夹中的未压缩过的视频或者大于12MB的视频进行压缩。
视频每压缩一次,会小一点点,我这里的来源只是到2分钟内的视频,所以可以多次压缩。太大的视频就不要这样了,根据实际情况来吧。
function CompressVideosInFolder($folder) {
    $ffprobePath = "D:\Program\ffmpeg\ffprobe.exe"
    $ffmpegPath = "D:\Program\ffmpeg\ffmpeg.exe"
    Get-ChildItem -Path $folder -Filter *.mp4 | ForEach-Object {
        $filename = $_.Name
        $tempOutputPath = Join-Path $folder "temp_$filename"
        $codec = (& $ffprobePath -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1 $_.FullName).Trim()
        $fileSize = $_.Length / 1MB  # 文件大小转换为MB
        Write-Host "Codec of file $filename is: $codec"
        Write-Host "File size of $filename is: $fileSize MB"
        if ($codec -ne "codec_name=hevc" -or $fileSize -gt 12) {
            Write-Host "File $filename needs compression..."
            Write-Host "Compressing file $filename..."
            & $ffmpegPath -i $_.FullName -c:v libx265 -crf 30 -y $tempOutputPath
            Move-Item -Path $tempOutputPath -Destination $_.FullName -Force
        } else {
            Write-Host "File $filename does not need compression, skipping..."
        }
    }
}
$folder1 = "E:\uploads\Video"
$folder2 = "E:\uploads\testVideo"
CompressVideosInFolder $folder1
CompressVideosInFolder $folder2



![[WebUI Forge]ForgeUI的安装与使用 | 相比较于Auto1111 webui 6G显存速度提升60-75%](https://img-blog.csdnimg.cn/direct/64d6dcb44de04a279bac8d0603b16a1a.png)














