2-視頻傳輸,監控,直播方案-搭建視頻流服務器,推送視頻流,拉取視頻流觀看(RTMP,m3u8)


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/video_transmission" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

 

RTMP和RTSP其實是視頻傳輸協議,咱們在網絡上看視頻的時候100%都是用的這兩種.

咱們在觀看視頻的時候應該有個感覺,咱是邊看視頻邊下載, 整個視頻是一點一點的拉取並播放.

拉取視頻數據就是使用的上面的協議.

這節呢咱就安裝並啟動RTMP服務器,然后呢咱用調試助手往服務器上上傳視頻,

然后

 

 

安裝RTMP

1.上傳RTMP源文件(方式1),下面有個方式2可以直接用git拉取,不需要自己上傳

在以下目錄點擊上傳

 

 

 

 

 

 

 

 

 

 

 

2,解壓文件

 

 

 

 

 

 

1.上傳RTMP源文件(方式2)

在opt目錄點擊終端,然后輸入一下git地址,然后點擊回車

git clone git://github.com/arut/nginx-rtmp-module

 

 

 

 

 

 

下載完成以后, 重新進來這個頁面,或者刷新一下, 就會看到已經下載好了

 

 

 

 

 

 

2.Nginx配置上RTMP功能

1.Nginx需要編譯安裝,咱上一節不是編譯安裝的,所以先卸載掉

 

 

 

 

 

 

2.點擊安裝Nginx

 

 

 

 

 

 

 

3.配置Nginx安裝的時候添加上rtmp模塊

--add-module=/opt/nginx-rtmp-module

解釋: --add-module即使添加模塊的意思

后面的 =/opt/nginx-rtmp-module 是咱這個模塊的路徑(咱上面的RTMP文件就解壓到了這里)

 

 

 

4.開始安裝

 

 

 

 

要等好一小會............

 

 

 

5.安裝完成

 

 

6.檢測一下是否安裝上了rtmp

在隨意一個目錄點擊終端然后輸入命令    nginx -V

 

 

 

 

 

 

 

 

在Nginx上配置RTMP服務器

1,先啟動Nginx的Web服務器功能

咱現在沒有域名什么的,就只先配置成IP地址訪問的

 

 

2,在瀏覽器上輸入 http://自己的服務器IP地址

比如我的是:    http://116.62.178.48

 

 

3,在網站根目錄新建一個hls文件夾

該文件夾用來保存RTMP處理之后的視頻文件(這些視頻文件就是客戶訪問播放的文件)

點擊根目錄

 

 

 

 

 

 

 

 

 

 

4,修改Nginx的配置文件

注意!注意!   hls_path /www/wwwroot/116.62.178.48/hls;  里面的IP地址根據自己的修改

rtmp {   
  server {
    listen 1935;  #rtmp監聽的端口(默認1935)
    chunk_size 4000;#網絡數據塊長度
    application hls {  #rtmp推流請求路徑 
      live on;#啟動直播功能
      hls on;#啟動hls流功能(視頻切片)
      hls_path /www/wwwroot/116.62.178.48/hls; #就是推流文件存儲位置
      hls_fragment 5s;#視頻切片時間長度
      hls_playlist_length 30s;#HLS播放列表長度
    }   
  }   
}  

 

 

 

 

 

重新載入配置

 

 

 

4.提示

我之所以把視頻存儲到網站根目錄是因為發現放到其它目錄只能拉取到rtmp流,無法播放m3u8.....

先放到網站根目錄訪問,以后水平高了再看看啥問題

 

 

使用DBS軟件推送視頻到服務器(咱先使用現成的軟件助手測試哈)

1,自行安裝(可以百度OBS軟件下載並安裝哈)

 

 

2,設置數據源為電腦錄屏(如果電腦有攝像頭也可以選擇電腦上的攝像頭哈)

 

 

 

 

 

 

 

 

 

 

2,設置推送的RTMP地址

 

 

 

rtmp://替換自己服務器的IP地址:1935/hls

秘鑰呢隨意(這個咱用別的客戶端訪問視頻數據的時候需要用到)

 

 

 

3,把視頻推送到RTMP服務器

 

 

 

 

 

 

 

使用另外的軟件拉取咱推送的視頻(咱先使用現成的軟件助手測試哈)

1.首先看一下服務器那個目錄里面有沒有咱推送的視頻

推送視頻的時候我秘鑰設置的yang,所以視頻是yang命名的

yang.m3u8文件是視頻索引文件,

xxxx.ts文件是視頻文件,客戶端訪問的時候就是輪訓的挨個下載播放

其實呢這就是視頻切片.

 

 

 

2.自行安裝 VLC軟件

 

 

 

 

 

3.先試一試從服務器拉取rtmp視頻流

rtmp://替換自己服務器的ip地址/hls/yang

提示:最后那個yang就是咱推送的時候設置的秘鑰哈

 

 

 

 

 

 

4.再試一試從服務器拉取m3u8視頻流

 

 

 

http://替換自己的ip地址/hls/yang.m3u8

 

 

 

 

 

其它細節

首先咱地址是XXX://服務器IP地址/hls/xxx

后面那個之所以是hls,是因為咱nginx服務器上設置的路徑是hls

 

 

 

關於hls的其它配置百度去吧.

 


免責聲明!

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



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