它可以在一行中运行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
Run Code Online (Sandbox Code Playgroud)
或者可能需要在2行中运行,首先运行cropdetect而不是运行裁剪并从视频生成拇指,但是这样我需要从cropdetect获取价值?
llo*_*gan 17
cropdetect
输出到控制台,因此您可以解析输出,然后将其用作变量:
ffmpeg -i input -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1
Run Code Online (Sandbox Code Playgroud)
这将导致类似于:
crop=640:480:0:50
Run Code Online (Sandbox Code Playgroud)
然后运行您的实际裁剪命令:
ffmpeg -i input -vf $cropvalue,scale=240:-1 -vframes 1 -qscale:v 2 output.jpg
Run Code Online (Sandbox Code Playgroud)
-vcodec mjpeg
,-an
和 -f rawvideo
是多余的
使用-qscale:v
控制JPG输出品质.理智的范围是2-5(较低的值是更高的质量).
使用scale
过滤器而不是-s
; 特别是如果你已经使用过滤器了.此外,scale
过滤器将允许您设置特定的宽度或高度,并且-1
它将自动提供正确的值以保留方面.否则,如果您尝试强制使用特定尺寸,则可能会出现挤压或拉伸输出的风险.
显然我不是PHP编码器,但至少应该给你一个想法.
归档时间: |
|
查看次数: |
9468 次 |
最近记录: |