2009-10-09 85 views
0

夥計們!我是這個音頻/視頻格式/編解碼器,他們的播放器,他們暴露的API等領域的完全新手。非常感謝您的耐心以及對我的這個問題的建議。渲染錄製和實況/流音頻/視頻時的時間段回調

問題:幾乎所有的音頻/視頻播放器都會以hh:mm:ss格式顯示時間流逝信息。我希望能夠註冊我的回調函數 - 可以是Java/applet回調函數或Javascript回調函數 - 在每個「時間點」都會調用並運行我的自定義代碼。也許這不是時間刻度,而是編解碼器術語中的「幀通道」事件。也許,這些編解碼器/播放器可以讓你甚至指定回調的頻率(每隔多少幀或幾秒鐘)...

其次,我希望能夠爲錄製的內容以及直播/流媒體內容。

什麼開源軟件,工具,API,'概念'等我應該看?我希望能夠處理最流行的格式,如flv,avi,mp3,mpeg。理想情況下,我寧願處理Java/Javascript中的某些內容。

不確定從哪裏開始。一個示例,一段代碼,甚至只是我需要遵循的流程/步驟都是非常有幫助的。再次感謝。

回答

1

這取決於您在哪種環境下運行以及您想要在回調中執行哪些操作。一些多媒體框架可以添加視頻,字幕或音頻過濾器,這些過濾器可以訪問流中的各種數據。一個這樣的開源框架是GStreamer。另一種是基於Java的Processing語言,但它不能直接解碼流行的視頻格式。我認爲VLC,這當然是視頻格式的開源王,也有一個可能可以滿足你的需求的API。

新的HTML5 video element定義了一個timeupdate事件,該事件在播放視頻時每隔15到250毫秒觸發一次。可以訪問currentTime屬性以獲取當前播放位置。也有可能manipulate the HTML5 video directly in JavaScript code

如果您只想在播放視頻時進行時間回調,並且無需過濾數據,那麼您可以只使用您的語言的標準計時器設施,例如, setTimeout()在JavaScript中,以視頻的幀速率請求定時器回調。