代刷网站开发,html 社区网站 模板,叶县建设局网站,制作网页视频教程一、到ffmpeg官网下载文件包#xff1a;
Download FFmpeg
下载后找到 bin 下的3个exe文件#xff0c;复制到自己本机的某个目录下, 如#xff1a; 二、使用命令行压缩#xff1a;
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -y output.mp4
这条命令使用 FFmpeg 工具对输…一、到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 表示使用 CRFConstant 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.exeGet-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 streamcodec_name -of defaultnoprint_wrappers1 $_.FullName).Trim()$fileSize $_.Length / 1MB # 文件大小转换为MBWrite-Host Codec of file $filename is: $codecWrite-Host File size of $filename is: $fileSize MBif ($codec -ne codec_namehevc -or $fileSize -gt 12) {Write-Host File $filename needs compression...Write-Host Compressing file $filename... $ffmpegPath -i $_.FullName -c:v libx265 -crf 30 -y $tempOutputPathMove-Item -Path $tempOutputPath -Destination $_.FullName -Force} else {Write-Host File $filename does not need compression, skipping...}}
}$folder1 E:\uploads\Video
$folder2 E:\uploads\testVideoCompressVideosInFolder $folder1
CompressVideosInFolder $folder2