1. 程式人生 > >web無外掛解碼播放H264/H265(WebAssembly解碼HTML5播放)

web無外掛解碼播放H264/H265(WebAssembly解碼HTML5播放)

我之前寫過一篇《web無外掛解碼播放H264/H265(js解碼HTML5播放)》,與本文的專案意義基本一致,不同的是實現方案有一定差異。之前介紹的是純JS解碼,本文介紹WebAssembly解碼。

本專案已經用於實際產品之中,親測可用。

專案描述:

  • 視訊傳輸使用websocket協議,ipc後端推流使用C語言程式設計,web前端收流使用js語言。
  • 視訊解碼庫使用WebAssembly實現,js把取到的媒體資料通過封裝好的介面傳遞給WebAssembly解碼。
  • 視訊播放使用HTML5的canvas播放,js獲取到WebAssembly解碼後的YUV資料,轉換為RGB後在canvas上播放。

實現方法:

具體的編譯方法和介面呼叫方法,請參考我的另一篇文章,此文章介紹的很清楚。
JS如何呼叫WebAssembly的api

至於js獲取到解碼器傳遞過來的yuv資料之後如何播放出來,後面再整理筆記吧。