videojs做直播 彈幕

2022-01-22 17:10:26 字數 1187 閱讀 6517

開始調研

下面簡單說說區別,如果不做移動端,http-flv是最優選擇,也是當前主流直播**所用的格式。hls在videojs中也有js的實現,即使是不支援hls,也能讓它支援,估算相容ie9+,或許更高。由於它的延遲比rtmp和flv高,所以用作最後的相容選項。rtmp跟flv差不多,但是依賴flash技術,好壞不說。在當前情況,還是比較適合。ie都能用上,這也是無可奈何中的優選。

所以,總得來說。我是以rtmp為主,hls為輔的方案。

最後一套**寫下來,還算順利。videojs已經到了6.0的版本,下面說說開發中要注意的幾點:

1. techorder

這個是你使用哪種一技術優先,通常是html5,但是也有其他情況。

2. src 方法

3. 6.0版本以上,要自己設定swf的位址

videojs.options.flash.swf = [your path]

另外,還有元件開發。因為需要加入彈幕,所以我有2個地方需要了解。一是,如何加乙個彈幕層。二是,加乙個彈幕開關。

一、彈幕層

二、彈幕開關

1

function

adddanmabtn(player) ,

8 buildcssclass: function

() ,

11 handleclick: function

() else

19 danmakushow = !danmakushow;20}

21});

22 videojs.registercomponent('danbutton', danbutton);

23 player.getchild('controlbar').addchild('danbutton', {}, 3);

24 }

最後的最後,再講講彈幕實現。由於時間急,沒有使用github最大star那個庫,反而選用了另外乙個。在融入業務時,也修改了不少原來的**,就不發出來了。再說說在彈幕渲染引擎上,大部分人都選擇了dom模式,這一點我也是費解,以前的人老說canvas好,但實現卻沒什麼人用?我想大概是css3可以很方便地實現陰影,而且記憶體占用會比canvas的低。最後彈幕上線後,一共彈了14萬多條。

------------------2023年更新-----------------

python 爬蟲 b站直播彈幕獲取

本文章的 可能已經過時了,請參考最新 博主本人在空閒的時候比較喜歡看一些遊戲直播,發現好多主播都在使用彈幕姬,便對彈幕姬的原理產生了興趣,打算自己動手做乙個彈幕播報的程式 import requests import win32com.client import time old list 建立乙個...

PHP直播原始碼彈幕實現效果

實現原理 彈幕的實現原理非常簡單,即將一條彈幕從左側平移到右側,當然我們要計算彈幕垂直方向上的偏移,不然所有的彈幕都會在一條直線上,相互覆蓋。平移 如下 override void initstate var begin offset 1.0,0 var end offset 1.0,0 anima...

高併發實時直播彈幕研發實踐

跨伺服器是為了解決單一伺服器接入數量限制 發布訊息吞吐限制等問題 多程序併發則是為了充分利用多核cpu以及減小乙個迴圈規模從而達到降低延遲的目的。雲巴是基於mqtt協議實現的實時通訊系統,採用erlang otp的架構設計。簡單地來說,雲巴實時系統的設計包括多層結構 微服務兩個要點。雲巴系統設計中,...