我有一些.wmv带有黑色边框的文件,我想裁剪它们。这是我从网上找到的用于裁剪的 powershell 脚本.mp4文件,它的表现非常出色。
Get-ChildItem .\ -Filter *.mp4| ForEach-Object {
$exportPath="..\$($_.Name)"
#Know where to cut
$results=ffmpeg -ss 10 -i $($_.Name) -vframes 10 -vf "cropdetect=24:16:0" -f null - 2>&1
#Cut
if(($results | ? {$_ -match 'crop=\d[0-9]{1,4}:\d[0-9]{1,4}:\d[0-9]{0,4}:\d[0-9]{0,4}'})){
Write-Host "The regular expression was matched, value $($Matches[0])."
ffmpeg -i $($_.Name) -crf 18 -vf ($Matches[0]) -c:a copy $exportPath
}else{
Write-Host "The regular expression was NOT matched. The line was '$($resultsParsed[0])'"
$results | Out-File .\resultsFromCropDetect.txt
}
}
不用说,它的质量很糟糕.wmv文件被裁剪了。
所以,我的问题是我应该使用哪组命令来实现有损甚至无损输出?
编辑:@Rotem 我使用了 FFprobe,
Stream #0:0: Audio: wmav2 (a[1][0][0] / 0x0161), 48000 Hz, 2 channels, fltp, 192 kb/s
Stream #0:1: Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 1440x1080, 24000 kb/s, 29.97 fps, 29.97 tbr, 1k tbn
我使用 cropdetect,因为它可以很容易地找到尺寸并自动裁剪视频