ffmpeg get value from cropdetect(ffmpeg 从cropdetect 中获取值)
问题描述
是否可以在一行中运行cropdetect 和crop 并从视频中获取拇指?
Its possible to run cropdetect and crop in one line and get thumbs from video?
像这样
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 中获取价值?
Or maybe need to run in 2 line, first run cropdetect and than run crop and generate thumbs from video, but in this way i need to get value from cropdetect?
推荐答案
cropdetect
输出到控制台,因此您可以解析输出,然后将其用作变量:
cropdetect
outputs to the console, so you can parse the output and then use it as a variable:
ffmpeg -i input -t 1 -vf cropdetect -f null - 2>&1 | awk '/crop/ { print $NF }' | tail -1
这将导致类似:
crop=640:480:0:50
然后运行您的实际裁剪命令:
Then run your actual crop command:
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(较低的值表示较高的质量).Use
-qscale:v
to control jpg output quality. A sane range is 2-5 (a lower value is a higher quality).使用
scale
过滤器而不是-s
;特别是如果您已经在使用过滤器.此外,scale
过滤器将允许您设置特定的宽度或高度,并且使用-1
它将自动提供正确的值以保留方面.否则,如果您尝试强制使用特定大小,则可能会导致输出被压扁或拉伸.Use the
scale
filter instead of-s
; especially if you're already using filters. Also thescale
filter will allow you to set a specific width or height and with-1
it will automatically provide the correct value to preserve aspect. Otherwise if you try to force a specific size you can risk a squished or stretched output.显然我不是 PHP 编码员,但这至少应该给你一个想法.
Obviously I'm not a PHP coder, but this should give you an idea at least.
这篇关于ffmpeg 从cropdetect 中获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:ffmpeg 从cropdetect 中获取值


- Laravel 5:Model.php 中的 MassAssignmentException 2021-01-01
- 如何从数据库中获取数据以在 laravel 中查看页面? 2022-01-01
- 覆盖 Magento 社区模块控制器的问题 2022-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- openssl_digest vs hash vs hash_hmac?盐与盐的区别HMAC? 2022-01-01
- PHP - if 语句中的倒序 2021-01-01
- PHP foreach() 与数组中的数组? 2022-01-01
- 如何使用 Google API 在团队云端硬盘中创建文件夹? 2022-01-01
- 如何在 Symfony2 中正确使用 webSockets 2021-01-01
- 使用 GD 和 libjpeg 支持编译 PHP 2022-01-01