作者Arton0306 (Ar藤)
看板Programming
标题[问题] 播放影片时 以audio为主的sync
时间Fri Jun 8 21:07:14 2012
最近用ffmpeg设计播放器时遇到问题
目前video和audio的同步 我采用以audio时间为主的sync方式 (感谢q大!)
我先取得目前audio播放的时间
以及抓取下一个video frame的present time
若两者小於error 就renew video frame
若大於等於error 而且present time落後 就drop
否则不动作
(照理说 不可能drop 因为我检查renew是每1msec就检查一次 而error是20msec左右)
但在播放影片时 若注意看会发现影片有一点点跳格
追查原因 我发现qt(我用qt做gui)取得audio播放时间并非平滑的
而是以大约40ms在递增
造成我有些frame会被drop掉
也有人问这个问题
https://bugreports.qt-project.org/browse/QTBUG-22592
https://bugreports.qt-project.org/browse/QTBUG-10759
但官方回答是很难抓到audio device真正的时间
我想问 是否每个framework都是这样?还是只有qt抓不准?
如果都抓不准 有没有什麽好方法解决上面问题?
感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.24.49.107
※ 编辑: Arton0306 来自: 114.24.49.107 (06/08 21:09)