我可能只是错过了这个,但是...有没有办法告诉 ffmpeg 将有关使用的过滤器/过滤器链的信息输出到日志文件?
谢谢!
答案1
我想最简单的方法是使用该-report
选项运行,它会生成一个名为的文件ffmpeg-<date>-<time>.log
,例如:
ffmpeg started on 2019-04-18 at 11:34:01
Report written to "ffmpeg-20190418-113401.log"
Command line:
ffmpeg -report -i test.mp4 -t 1 -filter:v "scale=-2:240" out.mp4
ffmpeg version 4.1.3 Copyright (c) 2000-2019 the FFmpeg developers
...
您将获得所用命令行的副本,可以从中提取过滤器。
您还可以运行并-loglevel debug
打印过滤器图形配置,例如:
Applying option filter:v (set stream filtergraph) with argument scale=-2:240.
过滤器还报告了其详细选项:
[Parsed_scale_0 @ 0x7f9a54405300] Setting 'w' to value '-2'
[Parsed_scale_0 @ 0x7f9a54405300] Setting 'h' to value '240'
[Parsed_scale_0 @ 0x7f9a54405300] Setting 'flags' to value 'bicubic'
[Parsed_scale_0 @ 0x7f9a54405300] w:-2 h:240 flags:'bicubic' interl:0
这可以解析,尽管如果日志格式发生变化,它就不那么强大了。您必须从“将 x 设置为 y”字符串中提取值。