這個功能的基本工作是這樣的:
1.使用node運行jsmpeg庫下的websocket-relay.js文件,這個文件的作用是創建一個websocket視頻傳輸中繼器
2.運行ffmpeg,將輸出發送到中繼的HTTP端口,這個http端口是使用node.js搭建的一個簡易的http服務器
3.將瀏覽器中的JSMpeg連接到中繼的Websocket端口,瀏覽器中的JSMpeg是node.js環境搭建的時候輸出的一個html文件,文件里面引用了JSMpeg庫, 並實例化一個新的基於JSMpeg庫下的Player;
必備工具:
1)安裝ffmpeg,到http://ffmpeg.org/download.html下載window版本的exe文件,需要在電腦的環境變量中的path設置ffmpeg目錄所在的路徑
2)安裝Node.js和npm,這個安裝方法就不詳細介紹了
3)安裝http-server,當然可以使用node.js的express()搭建一個簡單的服務器,我們將使用它來提供靜態文件(view-stream.html,jsmpeg.min.js),以便我們可以在瀏覽器中使用視頻
4)安裝git並克隆jsmpeg庫(或者直接將它下載為ZIP並解壓)
sudo apt-get install git
git clone https://github.com/phoboslab/jsmpeg.git
5)轉到jsmpeg /目錄 cd jsmpeg/ 安裝Node.js Websocket庫:
npm install ws
6)在jsmpeg目錄中使用git命令行啟用websocket中繼器,這個中繼器在jsmpeg庫的websocket-delay.js中已經提供了,只需命令node websocket-delay.js videoPassword streamPort websocketPort 就可以啟動,其中videoPassword就是自己定義的視頻流傳輸的密碼,在后面的ffmpeg創建視頻流過程會用到,streamPort則是視頻流的端口號,websocketPort是websocket中繼器的端口號,需跟jsmpeg庫中的view-stream.html文件創建的Player的端口保持一致
7)node啟動自己搭建的簡易http服務器,view-stream.html文件輸出並在瀏覽器中打開對應的地址查看,將參見必備工具3,在瀏覽器中輸入127.0.0.1:1023就可以看到服務器輸出的view-stream.html文件
8)在git命令中使用ffmpeg生成推流視頻並輸出視頻到自定義的websocket中繼器提供的命令node websocket-delay.js videoPassword streamPort websocketPort地址,如: