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


這個功能的基本工作是這樣的:

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

       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實時錄播等功能,就不一一介紹了!!
 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM