gpt4 book ai didi

powershell - 如何使用 ffmpeg 从 Powershell 脚本中自动删除黑条?

转载 作者:行者123 更新时间:2023-12-04 23:05:04 29 4
gpt4 key购买 nike

感谢用户 mklement0 的帮助,我得到了这个脚本来自动转换文件夹“video_old”中的所有文件并将它们移动到“video_new”,同时保留原始文件名。 Original Post.

现在我想删除容器中的黑条。我知道有“cropdetect”,但 AFAIK 你必须手动将值解析到脚本中。我应该在波纹管的 ffmpeg 执行中添加什么参数?

Get-ChildItem .\video_old -Filter *.mkv | ForEach-Object {
.\ffmpeg.exe -i $_.FullName -c:v libx265 -crf 18 ".\video_new\$($_.Name)"
}

用于移除钢筋的参数
ffmpeg -ss 90 -i input.mkv -vframes 10 -vf cropdetect -f null -
...
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:215 t:0.215000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:257 t:0.257000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:299 t:0.299000 crop=1280:720:0:0

在这个例子中,我们可以像这样应用过滤器:
ffmpeg -i input.mkv -vf crop=1280:720:0:0 -c:a copy output.mkv

OriginalPost

截屏

Example screenshot from one of the files

最佳答案

现在我明白了,试试这个:

Get-ChildItem .\video_old -Filter *.mkv | ForEach-Object {
$exportPath=".\video_new\$($_.Name)"
#Export
.\ffmpeg.exe -i $_.FullName -c:v libx265 -crf 18 $exportPath
Write-Host "Exported file on $exportPath."
#Know where to cut
$results = .\ffmpeg.exe -ss 90 -i $exportPath -vframes 10 -vf cropdetect -f null - 2>&1
#Cut
if(($results | ? {$_ -match 'crop=\d{1,4}:\d[0-9]{1,4}:\d:\d'})){
Write-Host "The regular expression was matched, value $($Matches[0])."
.\ffmpeg.exe -i $exportPath -vf ($Matches[0]) -c:a copy ($exportPath.Replace($_.BaseName,"$($_.BaseName)_CUT"))
}else{
Write-Host "The regular expression was NOT matched. The line was '$($resultsParsed[0])'"
$results | Out-File .\resultsFromCropDetect.txt
}
}

我真的没有办法对其进行测试,但基本上我正在运行第一个命令告诉我在哪里切割,使用正则表达式我只拉出那部分,然后将实际切割导出到一个名为“OriginalName_CUT. MKV”。

让我知道如何愉快地进行修改。

编辑

经过长时间的尝试,我询问了ffmpeg cropdetect的输出并在本地调试,简化了查找cropdetect匹配的过程。

关于powershell - 如何使用 ffmpeg 从 Powershell 脚本中自动删除黑条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61084983/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com