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

将文件时间戳与ffmpeg同步

长孙作人
2023-03-14

它以名称camera0-00001.jpg,camera0-00002.jpg等保存我的文件。

然后我根据修改后的文件时间,用camera0-HH-mm-ss-(1-30).jpeg重命名我的文件。

所以最后我有4个相同时间和相同帧的文件,像这样:camera0-12-00-00-1.jpeg camera1-12-00-00-1.jpeg camera2-12-00-00-1.jpeg camera3-12-00-00-1.jpeg camera3-12-00-00-1.jpeg camera3-12-00-00-1.jpeg

我的问题是文件可能会从一帧偏移到两帧。他们可能有相同的名字,但有时一个或两个相机可能显示不同的帧。

是否有一种方法来确保捕获帧具有捕获的实际时间,而不是创建文件的时间?

共有1个答案

陆翰藻
2023-03-14

您可以使用mkvtimestamp_v2多路复用器

ffmpeg -f video4linux2 -pixel_format yuv420p -timestamps abs -copyts -i /dev/video0 \
       -vf setpts=PTS-STARTPTS -vsync 0 -vframes 1800 camera0-%5d.jpeg \
       -c copy -vsync 0 -vframes 1800 -f mkvtimestamp_v2 timings.txt

Timings.txt的输出如下所示

# timecode format v2
1521177189530
1521177189630
1521177189700
1521177189770
1521177189820
1521177189870
1521177189920
1521177189970
...

其中每次读取都是以毫秒为单位的Unix纪元时间。

 类似资料:
  • 我正尝试从FFMPEG向输出文件添加时间戳,但出现此错误。 我犯错的地方? 感谢所有回复:)

  • 我已经用SFTPinboundFileSynchronizingMessageSource配置了我的应用程序。我希望一个消息被接收与文件作为结果有效载荷每当一个新的文件被发现(即,一个新的文件名和/或时间戳)。以下是我所拥有的: 除了在随后的轮询中获得相同的文件名和不同的修改后的时间戳的情况之外,这种方法很有效。在这种情况下,我得到消息的空结果。当时间戳不同但文件名相同时,如何确保生成消息?

  • 我们正在使用使用STREAM_TIME标点符号的自定义转换器。当我记录通过转换函数发送的消息时,来自context.timestamp()的流时间显示如预期的那样——基于使用时间戳提取器派生的数据的合理日期。 现在——在过去的某个时候,我们收到了一些恶意消息,将流时间提前到2036年。我们现在已经阻止了这些上游,重新启动了Kafka河。 当流启动时,标点符号会在受影响任务的启动时运行,但会显示20

  • 假设我有一个时间戳值。 编辑 现在我正在使用获取上述时间的毫秒值; 根据Java文档,getTime()方法的定义是

  • 我知道这是一个非常常见的问题,但我觉得我找到的答案并没有真正解决问题。我将概述我的具体用例,并对来自其他SO答案和网络的信息进行总结。 对于我正在编写的服务,数据库条目被创建并存储在移动设备和我们的网站上,需要以两种方式同步。我们目前的目标是Android和iOS,它们都使用sqlite作为关系数据库。服务器端是使用Django和MySQL在Python中实现的,但将来可能会有其他解决方案取代它。

  • 我有一个Flink程序,它接受两个流,即数据/传感器读数流和警报规则流。我正在广播规则流,并将其连接到数据流以生成动态警报。ProcessingTime的一切都很好,但EventTime却不行。我已经分配了时间戳 > 当两个流(即带有时间戳的流)同时出现时,如何使用“EventTime”生成警报 我是否也必须为我的规则流分配时间戳和水印? 因为我的规则流只有在有任何添加/修改时才会有记录。是否有任