簡體   English   中英

javascript中的H.264視頻編碼器

[英]H.264 video encoder in javascript

我期待完全用Javascript制作視頻編碼器。 想法是用戶將能夠指定現有視頻(足夠簡單)或一系列圖像,然后能夠將其編碼為H.264以進行發布。

我知道目前不支持編碼內容,但我想知道這是否完全可以在Javascript(或Flash橋)中使用?

謝謝。

可以使用emscripten將視頻編碼器編譯為javascript。 例如,這是google的VP9 libvpx庫的emscripten編譯版本:

https://bitbucket.org/desmaj/libvpx.js/overview

不幸的是,速度非常慢 - 大約是本機庫速度的十分之一。 我相信這是因為有很多內存訪問正在進行,而且在emscripten中速度非常慢(請參閱https://bugzilla.mozilla.org/show_bug.cgi?id=771106 )。 此外,編碼通常依賴於GPU或SIMD並行性,這在javascript中目前不可用。

我認為視頻編碼目前在javascript中是不可行的。 最好的解決方案是W3C將視頻編碼/解碼API添加到HTML5,可能是WebRTC / getUserMedia的一部分。

此外,請參閱此博客文章,其中描述了這種情況:

https://brendaneich.com/2013/05/today-i-saw-the-future/

視頻編碼本質上只是對來自一個文件的二進制數據的專門數學運算,以獲得更多二進制數據以放入另一個文件中。 如果你有辦法以你需要的方式獲取數據(例如HTML 5 FileReader )和out(例如AJAX ),那么中間部分可能在JavaScript中的可能性。

話雖如此,大多數計算機和移動設備都包含專門用於矢量處理或視頻壓縮的專用硬件,這些允許平台專用軟件相對於單獨的基於CPU的處理相對快速地編碼視頻。 您可能會發現,您在JavaScript中可以做的很慢,不能成為一個非常好的替代方案,具體取決於您的JavaScript環境可用的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM