我使用這個代碼: http://bazaar.launchpad.net/~jderose/+junk/gst-examples/view/head:/video-player-1.0 顯示視頻,再加上一些按鈕,暫停和使用代碼恢復:GStreamer如何獲取當前幀的數量?
def pauseb(self):
#code that checks if playing
self.player.set_state(Gst.State.PAUSED)
def playb(self):
#code that checks if video is valid and is paused or stoped
self.player.set_state(Gst.State.PLAYING)
當在暫停模式下,我可以用得到的時間位置:
success, position = self.videoplayer.player.query_position(Gst.Format.TIME)
將時間轉換爲幀並不總是準確的。有沒有辦法找到哪個是當前顯示的幀數(不是通過轉換時間)?
1.添加另一個回調會消耗時間。另外,如果我添加一個按鈕讓用戶去任何點都會破壞該算法。 –
如果您想考慮能夠跳過,那麼您可能需要遍歷整個文件並創建時間戳 - >索引映射。我不確定哪些 - 如果有的話 - 視頻編碼格式將絕對幀索引元數據保存在裏面。 – mpr