powershell多线程处理gif转换mp4

gif压缩效率非常低,批量转换为av1编码可以节省大量空间

foreach($file in ls -R *.gif){$filedir = $file.directory; $filebasename = $file.basename; Start-Process -FilePath 'ffmpeg' -ArgumentList "-y -hide_banner -i $file -an -sn -c:v libsvtav1 -pix_fmt yuv420p -preset 4 $filedir/$filebasename.mp4" -WindowStyle Hidden}

少量文件可以使用,大量文件需要控制并发数,需要powershell 7.0或更新版本

ls -R *.gif | ForEach-Object -Parallel {
$filedir = $_.directory;
$filebasename = $_.basename;
ffmpeg -y -hide_banner -i $_ -an -sn -c:v libsvtav1 -pix_fmt yuv420p -preset 4 $filedir/$filebasename.mp4 *> $null
} -ThrottleLimit 5

 

posted @ 2025-07-01 13:39  leuk0cyte  阅读(8)  评论(0)    收藏  举报