[linux][nginx] 經過nginx擴展nginx-rtmp-module簡單作了一個流媒體直播

作的過程出現不少問題,環境其實就須要nginx就能夠,而後就是在播放的問題,m3u8的格式,mac直接訪問就支持,蘋果系統原生H5支持m3u8,還有就是手機直接訪問也支持!可是其餘其餘系統PC端不支持,嘗試了好多都不行,最後終於找到了一個支持m3u8格式H5播放(https://github.com/huangyaoxin/hLive下載就行吧JS.css加載就OK啦)!css

參考:http://blog.csdn.net/zph1234/article/details/52846223使用nginx與nginx-rtmp-module搭建流媒體服務器 html

1、首先就是先下載nginx-rtmp-modulenginx

  官方github地址:https://github.com/arut/nginx-rtmp-modulec++

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

git問題:yum install gitgit

我是下載到根目錄的,看狀況來就好!github

2、安裝:nginx瀏覽器

nginx的官方網站爲:http://nginx.org/en/download.html
服務器

    wget http://nginx.org/download/nginx-1.8.1.tar.gz  
    tar -zxvf nginx-1.8.1.tar.gz  
    cd nginx-1.8.1  
    ./configure --prefix=/usr/local/nginx  --add-module=../nginx-rtmp-module  --with-http_ssl_module    
    make && make install  

問題1:編譯C 問題(在nginx-1.8.1目錄下)  yum install gcc gcc-c++app

問題2:在於已經安裝好nginx,怎麼從新配置第三方模塊,找到一個寫的很全面的博客!工具

       http://blog.csdn.net/ystyaoshengting/article/details/48436409如何安裝nginx第三方模塊--add-module

  (./configure --prefix=/你的安裝目錄  --add-module=/第三方模塊目錄 )

問題3:make編譯問題(在nginx-1.8.1目錄下)

  安裝時候可能會報錯沒有安裝openssl,須要執行命令:(安裝了依賴包就不會出現這個問題啦)

yum -y install openssl openssl-devel   

3、修改nginx配置文件

  

vi /usr/local/nginx/conf/nginx.conf  

在文件里加入下面內容(加載在最後面就行,獨立模塊)

 rtmp {    
    
    server {    
    
        listen 1935;  #監聽的端口  
    
        chunk_size 4000;    
             
        application hls {  #rtmp推流請求路徑  
            live on;    
            hls on;    
            hls_path /usr/local/nginx/html/hls;    
            hls_fragment 5s;    
        }    
    }    
} 
還有就是這個路徑,看你本身的實際狀況的訪問根目錄來,個人是/usr/local/nginx/html/這個路徑,
然而/usr/local/nginx/html/
hls確定沒有這個目錄,因此須要建一個放流文件的目錄hls,而且須要改權限可讀可寫的權限

修改http中的server模塊:

主要是改了一下端口號,改爲了81;而後root目錄 按實際狀況改!

 

    server {  
        listen       81;  
        server_name  localhost;  
      
        #charset koi8-r;  
      
        #access_log  logs/host.access.log  main;  
      
        location / {  
            root   /usr/local/nginx/html;  
            index  index.html index.htm;  
        }  
      
        #error_page  404              /404.html;  
      
        # redirect server error pages to the static page /50x.html  
        #  
        error_page   500 502 503 504  /50x.html;  
        location = /50x.html {  
            root   html;  
        }  

 

而後啓動nginx:

 

/usr/local/nginx/sbin/nginx

 

關於更多rtmp的參數能夠參考:https://github.com/arut/nginx-rtmp-module/wiki

4、而後就開始推流啦

  配好後就用推流軟件啦,我用的是OBS,按照OBS操做就能夠 啦!

 

在設置->串流 中填寫信息:URL爲 rtmp://xxx:1935/hls,xxx爲你的服務器的IP地址,hls是用來存放流媒體的。

祕鑰能夠隨便填寫一個,用來播放的時候識別播放哪一個流媒體的,例如填寫test等。

填寫完畢後,點擊開始串流,就說明咱們的流媒體服務器搭建成功了。

 

5、看直播

  若是是mac直接瀏覽器能夠訪問http://xxx:81/hls/test.m3u8來觀看直播,其中xxx爲你的服務器IP地址,

  手機端直接訪問文件也能夠看!

  而後其餘的H5的vadio須要下載支持m3u8格式的播放啦,我是在https://github.com/huangyaoxin/hLive這下的,挺好用的!找了好多不行,這個能夠!

 

 6、看直播確定會很卡  

        若是下降延遲也不是沒有方法,能夠設置切片生成的大小以及訪問的速度,可是這樣大大增長了服務器的壓力。

       固然,咱們也能夠用rtmp拉流工具(VLC等)來看該直播,延遲大概在2-5S左右,拉流地址與推流地址一致。

相關文章
相關標籤/搜索