我一直在編寫一個接收QVGA視頻流的瀏覽器插件。我希望以可通過JavaScript以編程方式接口的方式將該視頻流式傳輸到瀏覽器 - 例如,可以將其饋送到畫布中的某個元素或Image()對象。將視頻從插件流式傳輸到瀏覽器
注意:這意味着我試圖避免讓我的插件繪製到一個窗口中 - 我知道我可以做到這一點,但我想要的東西與網頁的其他渲染很好地交互,並且還有一個衆所周知的對象模型,我不必實現。
棘手的部分是如何快速做到這一點 - 我可以做到這一點,例如通過設置src屬性來獲得base64編碼數據,但開銷非常高。
我的問題是,是否有一種方法可以避免更多的開銷(例如提供一個原始圖像緩衝區而不是格式化圖像,而base64編碼只是爲了讓瀏覽器解碼) - 我現在所擁有的並不是足夠快。對於環境,我使用Firebreath編寫插件(C++與NPAPI/ActiveX大多數都是抽象的),我想保留我對Mac和Windows的支持。深入研究直接使用NPAPI是可以接受的,但我寧願不行。
編輯:我使用的元件和使用該數據的UI方案更新其「SRC」屬性的base64編碼的位圖解決了這個問題 - (例如imageJSObject- >的SetProperty(「SRC」,「數據:圖像/ bmp; base64,<編碼的BMP >'); 性能不是很好,但它足夠好,主要的注意事項是,至少在Chrome 15上,onload只會被觸發一次,而不是每次更改src屬性時我不得不在每次更新後生成我自己的事件
感謝您的快速響應 - 我一直在做更多的四處看看,它看起來像
不,沒有跨平臺的方式爲標籤創建自定義編解碼器。我甚至不知道你是否可以製作一個directshow過濾器並在IE中工作,並且我嚴重懷疑它可以在Firefox上工作,但是我沒有真正考慮過這些,所以我可能是錯的。祝你好運,雖然 – taxilian
我知道你至少可以通過媒體基金會解決它(這就是谷歌提供的IE瀏覽器的WebM編解碼器) –