基於jsmpeg庫下使用ffmpeg建立視頻流鏈接websocket中繼器傳輸視頻並播放

這個功能的基本工做是這樣的:html

  1.使用node運行jsmpeg庫下的websocket-relay.js文件,這個文件的做用是建立一個websocket視頻傳輸中繼器node

  2.運行ffmpeg,將輸出發送到中繼的HTTP端口,這個http端口是使用node.js搭建的一個簡易的http服務器git

  3.將瀏覽器中的JSMpeg鏈接到中繼的Websocket端口,瀏覽器中的JSMpeg是node.js環境搭建的時候輸出的一個html文件,文件裏面引用了JSMpeg庫,             並實例化一個新的基於JSMpeg庫下的Player;github

  必備工具:web

  1)安裝ffmpeg,到http://ffmpeg.org/download.html下載window版本的exe文件,須要在電腦的環境變量中的path設置ffmpeg目錄所在的路徑 express

  

  2)安裝Node.js和npm,這個安裝方法就不詳細介紹了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 wswebsocket

  

   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地址,如:

       ffmpeg -i "video.mp4" -f mpegts -codec:v mpeg1video -s 360x480 -b:v 150k -r 30 -bf 0 -ac 1 -b:a 128k http://127.0.0.1:1024/lpgvideo
  video.mp4就是jsmpeg中視頻文件,後面的http://127.0.0.1:1024/lpgvideo就是websocket中繼器中自定義的視頻流傳輸協議host+streamPort+videoPassword,參見6)跟多ffmpeg命令參見中文文檔:https://xdsnet.gitbooks.io/other-doc-cn-ffmpeg/content/index.html,jsmpeg庫的地址=>https://github.com/phoboslab/jsmpeg
  end:不出意外的話就能夠在瀏覽器中看到ffmpeg推過來的video.mp4視頻文件在播放,固然還有許多諸如實現實時錄屏直播,使用vicam實時錄播等功能,就不一一介紹了!!
相關文章
相關標籤/搜索