C++ 如何使用ffmpeg获得正确的帧持续时间?
在我的文件“Video.avi”中,Video AVFrame中的所有pkt_duration属性都等于1。C++ 如何使用ffmpeg获得正确的帧持续时间?,c++,ffmpeg,timestamp,duration,C++,Ffmpeg,Timestamp,Duration,在我的文件“Video.avi”中,Video AVFrame中的所有pkt_duration属性都等于1。 但是AVFrame中第一个视频帧的最佳工作时间戳属性是:0、3、4、5、7。。etc,这意味着例如第一帧的持续时间是3而不是1。(时基为1/30) 有没有比读取下一帧并获取其最大努力时间戳和计算两个最大努力时间戳之间的差值更好的方法来了解帧的正确持续时间? 如果没有,是否有一种方法可以只读取下一个数据包的报头,以获得其最佳时间戳,而不浪费时间解压缩任何内容? 谢谢你的帮助
但是AVFrame中第一个视频帧的最佳工作时间戳属性是:0、3、4、5、7。。etc,这意味着例如第一帧的持续时间是3而不是1。(时基为1/30)
有没有比读取下一帧并获取其最大努力时间戳和计算两个最大努力时间戳之间的差值更好的方法来了解帧的正确持续时间?
如果没有,是否有一种方法可以只读取下一个数据包的报头,以获得其最佳时间戳,而不浪费时间解压缩任何内容?
谢谢你的帮助