你猜猜JS 如何進行音頻流的編碼封裝?

是的,如標題,相信大多數前端人員拿到這個任務的時候應該也是懵逼的,我也懵逼了好一整子,可能你會問我,爲何前端要去作音頻流編碼封裝的活路?對的,你說的沒錯,就是後端人員懶或者不想作或者其餘什麼緣由,後端給我說的是,這麼作後端存在開銷,若是多路流同時傳他們的併發壓力很大,因而,就丟給了前端,這麼一解釋,我內心好受點,至少,媽的你沒有針對我,或者沒有那麼明顯的針對我!
後端明確要求,音頻流編碼格式須要是g711a,而且要封裝成flv格式上傳
是的,你是否是不知道什麼他媽的是g711a,是的,什麼他媽的是g711a,做爲一名資深前端,我實在也不太好意思問,通過本人一大堆的百度,得出如下幾篇美文,上連接 :https://www.cnblogs.com/jingz...
https://www.jb51.net/article/...
https://www.jianshu.com/p/33c... 13折現算法
以上是我以爲寫得不錯的文章,對我完成整個任務幫助很大,固然,我查閱的不止這3篇文章,其餘的就不一一列舉,各位前端同仁,自行百度。html

惡補了基礎知識以後,簡單的說下思路以下:
一、本地H5接口獲取本地音頻流(若是你不知道,那你就須要本身百度)
二、本地音頻流進行一次重採,瀏覽器拉出來的採樣率通常都在44K或者48K,我本身實現了一個重採樣算法,聽說 拉取音頻流的時候能夠配置16K的採樣率,我配置了,拉出來仍是原來那麼多,若是你作到了,請留言分享,固然我也不會付錢給你
三、以後的數據就是進行g711a的編碼,大概就是32位浮點型轉爲16位int型,而後再轉爲8位的G711
四、擴展視頻流位數,進行FLV格式封裝
五、ws接口上傳前端

大概就是以上5個步驟,總結起來簡單,實現起來仍是費了很多功夫!今天就到這裏,下期上代碼!!!算法

相關文章
相關標籤/搜索