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

timlwsk

多亏了用户mklement0的帮助,我得到了这个脚本,可以自动转换文件夹“ video_old”中的所有文件并将它们移至“ video_new”,同时保留原始文件名。原始帖子。

现在,我要删除容器中的黑条。我知道这里有“ 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

原始邮件

屏幕截图

这些文件之一的示例屏幕截图

罗克·索萨(Roque Sosa)

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

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匹配项的过程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅使用CSS从YouTube HQdefault图像中删除黑条?

来自分类Dev

使用ffmpeg旋转视频添加黑条

来自分类Dev

旋转视频,使用ffmpeg添加黑条

来自分类Dev

ffmpeg。如何用缩放图像替换黑条

来自分类Dev

如何从Android屏幕底部删除黑条菜单?

来自分类Dev

如何从Android屏幕底部删除黑条菜单?

来自分类Dev

如何使用ffmpeg从视频文件中删除一条曲目?

来自分类Dev

从任何窗口中删除“黑条”

来自分类Dev

如何在FireFox中删除自动添加的脚本?

来自分类Dev

如何在FireFox中删除自动添加的脚本?

来自分类Dev

连接断开时如何自动在PowerShell中对R脚本重试

来自分类Dev

如何在 python 或 PowerShell 脚本中自动启动 Microsoft Store?

来自分类Dev

如何使用$ _自动变量调用Powershell脚本块

来自分类常见问题

如何使用Windows任务计划程序自动执行PowerShell脚本?

来自分类Dev

如何删除出现在我网站上Excel工作表下方的黑条

来自分类Dev

无法从引导菜单中删除黑条以显示我的菜单更改

来自分类Dev

使用PowerShell脚本删除文件

来自分类Dev

如何删除Powershell脚本本身正在使用的文件?

来自分类Dev

如何检测照片底部的黑条

来自分类Dev

如何使用Powershell删除文件中的多行?

来自分类Dev

如何使用 PowerShell 删除 csproj 中的元素

来自分类Dev

如何从Java脚本中的柱形图中删除滚动条?

来自分类Dev

如何在CSS样式表中修复这些边距(黑条)

来自分类Dev

用户在自动Powershell脚本中输入

来自分类Dev

从全黑的红黑树中删除节点

来自分类Dev

如何使用脚本在浏览器中自动启动 jenkins

来自分类Dev

如何使用触摸在脚本 bash 中创建自动粘贴?

来自分类Dev

删除屏幕顶部的黑条[新发现!]

来自分类Dev

Android:在活动过渡之间删除空格/黑条

Related 相关文章

  1. 1

    仅使用CSS从YouTube HQdefault图像中删除黑条?

  2. 2

    使用ffmpeg旋转视频添加黑条

  3. 3

    旋转视频,使用ffmpeg添加黑条

  4. 4

    ffmpeg。如何用缩放图像替换黑条

  5. 5

    如何从Android屏幕底部删除黑条菜单?

  6. 6

    如何从Android屏幕底部删除黑条菜单?

  7. 7

    如何使用ffmpeg从视频文件中删除一条曲目?

  8. 8

    从任何窗口中删除“黑条”

  9. 9

    如何在FireFox中删除自动添加的脚本?

  10. 10

    如何在FireFox中删除自动添加的脚本?

  11. 11

    连接断开时如何自动在PowerShell中对R脚本重试

  12. 12

    如何在 python 或 PowerShell 脚本中自动启动 Microsoft Store?

  13. 13

    如何使用$ _自动变量调用Powershell脚本块

  14. 14

    如何使用Windows任务计划程序自动执行PowerShell脚本?

  15. 15

    如何删除出现在我网站上Excel工作表下方的黑条

  16. 16

    无法从引导菜单中删除黑条以显示我的菜单更改

  17. 17

    使用PowerShell脚本删除文件

  18. 18

    如何删除Powershell脚本本身正在使用的文件?

  19. 19

    如何检测照片底部的黑条

  20. 20

    如何使用Powershell删除文件中的多行?

  21. 21

    如何使用 PowerShell 删除 csproj 中的元素

  22. 22

    如何从Java脚本中的柱形图中删除滚动条?

  23. 23

    如何在CSS样式表中修复这些边距(黑条)

  24. 24

    用户在自动Powershell脚本中输入

  25. 25

    从全黑的红黑树中删除节点

  26. 26

    如何使用脚本在浏览器中自动启动 jenkins

  27. 27

    如何使用触摸在脚本 bash 中创建自动粘贴?

  28. 28

    删除屏幕顶部的黑条[新发现!]

  29. 29

    Android:在活动过渡之间删除空格/黑条

热门标签

归档