A8端读取一个30帧的264编码的文件,将数据一帧一帧送入解码,我使用休眠的方式约每33ms送入一帧,但是软件对于休眠时间控制不精确,导致1秒并没有达到送入30帧, 最后重新编码的视频就会放慢
Ternence_Hsu:
你好;
你这样延时33ms,是每一帧相对时间处理,就会有累计误差;你可以通过参考时间戳往解码器送数据,就不会有累计误差了。
user4865572:
回复 Ternence_Hsu:
ternence hsu
你好,如何参考时间戳才能均匀的送入解码器? 需要使用定时的都会有误差
Ternence_Hsu:
回复 user4865572:
你好;
记住第一帧的解码时间戳,以后每隔33ms往解码器中送入一帧,判断当前时间是否到了解码的时间来送数据帧到解码器。
根据时间来送数据。这样送数据时间对了,帧率也就对了
user4865572:
回复 Ternence_Hsu:
ternence hsu
你好,目前问题就在于如何做到每隔33ms往解码器送一帧,因为我试过使用了几种定时方法都不能满足,解码时间知道,但是判断当前时间这一步骤的实时性需要控制。
bo fan:
回复 Ternence_Hsu:
您好 , 我也遇到了这个问题,但是不是每隔多少时间,我从A8读文件送到decLink解码,我不知道怎么控制速率,我现在速度完全控制不住,我参考了demo_vdec_vdis.c 但是这个demo里也没有控制速率,而是通过最后显示的swMsPrm.maxInputQueLen参数来“缓解”这个问题。我现在加了一个deillLink,
这个办法也不管用了,还有我看到文档介绍,很多Link都可以控制帧率,但是我配置了参数 完全起不到效果,求大神解答!!谢谢