gpt4 book ai didi

javascript - NodeJS 在文件名中生成 ffmpeg thumb %t

转载 作者:行者123 更新时间:2023-12-04 23:26:16 26 4
gpt4 key购买 nike

我正在使用此 NodeJS 代码以 15 fps 创建屏幕截图:

var spawn   = require('child_process').spawn;
var args = ['-ss', '00:00:07.86', '-i', 'filename.mp4', '-vf', 'fps=15', '/out%d.png'];
var ffmpeg = spawn('ffmpeg', args);

这工作正常,但我想要文件名中每个屏幕截图的时间戳。

来自 FFMPEG 文档:

%t is expanded to a timestamp



但是把 ... ,'/out%t.png']失败并打印:
grep stderr: [image2 @ 0x7f828c802c00] Could not get frame filename 
number 2 from pattern '/Users/***/projects/out%t.png' (either set updatefirst or use a pattern like %03d within the filename pattern)
av_interleaved_write_frame(): Invalid argument
...
grep stderr: Conversion failed!

child process exited with code 1

所以这看起来不像是要走的路。

如何获取每个屏幕截图的时间戳?

谢谢

最佳答案

据我所知%d是在这种情况下您可以使用的唯一参数。
您可以使用 %t使用 -report 时的报告文件名参数,但不适用于视频帧。

知道视频长度、开始时间 (00:00:07.86) 和 FPS (15),您可以将文件名中的帧号与帧时间戳匹配,并在 ffmpeg 之后重命名所有文件完成提取帧。这肯定是一个丑陋的解决方法,但这是我唯一能想到的......

关于javascript - NodeJS 在文件名中生成 ffmpeg thumb %t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46080696/

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