gpt4 book ai didi

php - ffmpeg 从 cropdetect 获取值

转载 作者:可可西里 更新时间:2023-11-01 12:46:55 24 4
gpt4 key购买 nike

是否可以在一行中运行 cropdetect 和 crop 并从视频中获取拇指?

像这样

ffmpeg -ss 1 -i 0.flv -vf cropdetect=24:16:0,crop=w:h:x:y -vcodec mjpeg -vframes 1 -an -f rawvideo -s 240x180 0.jpg

或者可能需要在 2 行中运行,首先运行 cropdetect,然后运行 ​​crop 并从视频生成缩略图,但这样我需要从 cropdetect 中获取值(value)?

最佳答案

cropdetect输出到控制台,因此您可以解析输出,然后将其用作变量:

ffmpeg -i input -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1

这将导致如下结果:

crop=640:480:0:50

然后运行您实际的裁剪命令:

ffmpeg -i input -vf $cropvalue,scale=240:-1 -vframes 1 -qscale:v 2 output.jpg
  • -vcodec mjpeg-an-f rawvideo 是多余的

  • 使用-qscale:v 控制jpg 输出质量。合理的范围是 2-5(值越低质量越高)。

  • 使用 scale过滤器而不是 -s;特别是如果您已经在使用过滤器。此外,scale 过滤器将允许您设置特定的宽度或高度,并且使用 -1 时,它将自动提供正确的值以保留纵横比。否则,如果您尝试强制使用特定大小,则可能会冒输出被挤压或拉伸(stretch)的风险。

显然我不是 PHP 编码员,但这至少应该给你一个想法。

关于php - ffmpeg 从 cropdetect 获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17265381/

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