当前位置: 首页 > 知识库问答 >
问题:

如何在ffmpeg中添加时间戳作为生成图像文件名的一部分

华良平
2023-03-14

我试图使用ffmpeg从视频中提取png图像,并将时间戳添加到生成的图像文件名中。

请看下面的命令,我正在使用相同的

ffmpeg -vcodec mpeg2video -f mpegts -i test_movie.ts -f image2 -vf "drawtext=fontfile=/Library/Fonts/Tahoma.ttf: timecode='$(date +%H\\:%M\\:%S).00': r=30: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" -vsync vfr -pattern_type glob ./compare_multiple_$(gdate +%H\_%M\_%S_%3N).png

但这并没有正确附加文件名。它给出一个错误如下所示:

[image2@0x7ff01301f600]无法从模式“”获取帧文件名编号2/比较多个10个09个58个490个。png'(设置updatefirst或在文件名模式中使用类似于 d的模式)av_Interleave_write_frame():无效参数frame=10 fps=0.0 q=-0.0 Lsize=N/a time=00:00:00.12 bitrate=N/a视频:1047kB音频:0kB字幕:0kB其他流:0kB全局头:0kB muxing开销:未知转换失败!

共有1个答案

许茂才
2023-03-14

对于输出文件名模式,您可以使用:

ffmpeg -i ... -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.png"
 类似资料:
  • 我正尝试从FFMPEG向输出文件添加时间戳,但出现此错误。 我犯错的地方? 感谢所有回复:)

  • 问题内容: 好吧,我是linux新手,我在使用简单的bash脚本时遇到了问题。 我有一个程序可以在运行时添加到日志文件中。随着时间的流逝,日志文件变得越来越大。我想创建一个启动脚本,该脚本将在每次运行之前重命名并移动日志文件,从而为程序的每次运行有效地创建单独的日志文件。到目前为止,这是我得到的: 糊盒 运行时,我看到以下内容: 当我CD到logs目录并运行dir时,我看到以下内容: 这是怎么回事

  • 问题内容: 我想用当前时间戳命名由Java应用程序创建的新文件。 我需要这方面的帮助。如何命名使用当前时间戳创建的新文件?我应该包括哪些课程? 问题答案: 无需太复杂,请尝试以下一种衬垫:

  • 因此,我尝试提取视频的每一帧,然后使用ffprobe查看视频中何时播放每一帧,然后使用这些提取的图像和ffprobe输出将视频缝合在一起。 现在,我有一个批处理文件: 首先,为图像创建一个目录。然后ffmpeg将视频的所有帧提取到单独的PNG文件中,这些文件被适当地编号。最后,ffprobe会看到视频中第一次显示每一帧的时间(即:第1帧以0秒的速度显示,但以60fps的速度显示,然后第2帧以0.0

  • 问题内容: 我无法为Java时间戳添加秒数。 我有这个,但是,它给了我相同的日期: 问题答案: 您拥有的代码适合我。作为简短但完整的程序: 输出: 请注意相差10分钟,即600秒。 当然,这样会损失亚毫秒级的精度,这可能不太理想-最初与我通常使用的时间戳背道而驰-但这 确实 增加了秒数… 另一种选择是直接使用:

  • 分析块映射时需要密钥。|66 |-图片| ^ |请更正pubspec。pubspec的yaml文件。yaml出口代码1