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

为什么FFMPEG showinfo过滤器输出的时间戳比帧少

彭涵衍
2023-03-14
...
[Parsed_showinfo_0 @ 000001c68efd5d40] n:   0 pts:      0 pts_time:0       pos:   744736 fmt:yuvj420p sar:1/1 s:1920x1080 i:P iskey:1 type:I checksum:C086C8AD plane_checksum:[967F2494 DE1FDB06 FA11C904] mean:[97 125 129 ] stdev:[48.3 8.0 6.7 ]
[Parsed_showinfo_0 @ 000001c68efd5d40] color_range:pc color_space:bt709 color_primaries:bt709 color_trc:bt709
...
[Parsed_showinfo_0 @ 000001c68efd5d40] n:9003 pts: 300793 pts_time:300.493 pos:248599172 fmt:yuvj420p sar:1/1 s:1920x1080 i:P iskey:0 type:P checksum:2A3F467C plane_checksum:[B8AFA4CB 96D8FC10 1EE5A583] mean:[99 130 126 ] stdev:[44.4 9.3 6.0 ]
[Parsed_showinfo_0 @ 000001c68efd5d40] color_range:pc color_space:bt709 color_primaries:bt709 color_trc:bt709
frame= 9007 fps= 32 q=24.8 Lsize=N/A time=00:05:00.53 bitrate=N/A dup=3 drop=0 speed=1.05x    
video:633532kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

谢了!

共有1个答案

狄兴邦
2023-03-14

ffmpeg中的图像序列写入器默认为恒定帧速率输出,其中目标速率与输入帧速率相同,除非手动设置。

您的输入似乎有一些空隙,ffmpeg有重复帧以保持恒定的帧率。请参见最后状态行中的dup=3drop=0

添加-vsync0可防止此重复。

 类似资料:
  • 问题内容: 我刚刚发现,运行日历脚本时,PHP中的时间戳限制为2038。这实际上是什么意思?为什么是2038,而不是2050或2039?如果时间戳仅是从给定日期(1970年)起算的秒数,为什么还要设置限制? 问题答案: 该限制是由大多数C库用来表示该计数的4字节带符号整数强加的。快速数学(假设365天年,并非完全正确): 这也意味着下限约为1900。一些库已经开始引入64位纪元计数,但目前它们之间

  • Output filter plugins operate on a template's output, after the template is loaded and executed, but before the output is displayed. 输出过滤器插件的作用是,在装载并执行完一个模板之后显示模板之前,操作该模板的输出。 stringsmarty_outputfilter

  • 问题内容: 我正在尝试获取传出数据包的准确时间戳(使用原始套接字发送)。根据,“对于发送时间戳,传出的数据包将被附加到发送时间戳上并循环回套接字的错误队列。可以使用recvmsg(flags = MSG_ERRQUEUE)进行接收。” 不幸的是,在原始套接字上调用时总是返回(用和设置为with 来创建)。我究竟做错了什么?是否有更好的方法来获取传出数据包的准确时间戳? 附录(信息): 我还尝试从通

  • 我有一个Android MediaCodec解码器,配置了一个来自SurfaceTexture对象的Surface。MP4文件解码工作良好,帧可以在设备上看到。但是如果尝试用MediaMuxer重新编码为新的MP4文件,则输出文件大小为零,因为SurfaceTexture.getTimestamp()返回的总是0。在这种情况下,获得帧呈现时间的适当方法是什么?

  • 过滤器是一种代码重用的技术,它可以转换 HTTP 请求的内容,响应,及头信息。过滤器通常不产生响应或像 servlet 那样对请求作出响应,而是修改或调整到资源的请求,修改或调整来自资源的响应。 过滤器可以作用于动态或静态内容。这章说的动态和静态内容指的是 Web 资源。 供开发人员使用的过滤器功能有如下几种类型: 在执行请求之前访问资源。 在执行请求之前处理资源的请求。 用请求对象的自定义版本包

  • void unregister_outputfilter(string function_name) Use this to dynamically unregister an output filter. 动态注销一个输出过滤器。