Re: [問題] 播放影片時 以audio為主的sync

看板Programming作者 (Ar藤)時間12年前 (2012/06/12 22:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
自問自答一下 最後還是用一個外部時鐘去對 這個時鐘在audio開始的時候啟動 video會去對它 沒有管叫它播audio到真的播audio中的delay 不過目前看不出誤差 (只試過少數幾個影片) qt回傳的audio播放時間實在太不準了 (函數名還敢叫us 一開始還以為精度超高) 不管怎麼調 甚至再加一個校正時鐘上去 還是會對不準 所以還是用外部時鐘... ※ 引述《Arton0306 (Ar藤)》之銘言: : 最近用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.42.50.185 ※ 編輯: Arton0306 來自: 114.42.50.185 (06/12 22:03) ※ 編輯: Arton0306 來自: 114.42.50.185 (06/12 22:04) ※ 編輯: Arton0306 來自: 114.42.50.185 (06/12 22:05) ※ 編輯: Arton0306 來自: 114.42.50.185 (06/12 22:06)
文章代碼(AID): #1FrqlNvl (Programming)
文章代碼(AID): #1FrqlNvl (Programming)