linux下通過nginx安裝rtmp視頻服務器-包括推流和拉流-直播和點播

已經準備好的環境,新建節點的時候必做的幾件事即可

安裝nginx

安裝準備環境

yum -y install openssl openssl-devel

解壓nginx-rtmp-module-1.1.7.tar.gz

tar -zxvf nginx-rtmp-module-1.1.7.tar.gz

在安裝nginx之後添加nginx的module

進入到nginx的解壓目錄執行

cd /root/nginx-1.8.0

./configure --prefix=/usr/nginx-1.8 --add-module=/root/nginx-rtmp-module-1.1.7

make && make install

nginx中配置rtmp

rtmp {				#RTMP服務
    server {
        listen 1935;		#//服務端口
        chunk_size 4096;	#//數據傳輸塊的大小

        application video {
                play /var/yemu/video; 	#點播媒體文件存放目錄
        }

#增加對HLS支持 #rtmp直播配置
        application live {
                live on;	#開啓實時
                hls on;	#開啓hls#這個參數把直播服務器改造成實時回放服務器
                hls_path /var/yemu/live/hls/;	#ts文件存放路徑,切片視頻文件存放位置
                hls_fragment 5s;	#每個TS文件包含5秒的視頻內容,每個視頻切片的時長
  		wait_key on; #對視頻切片進行保護,這樣就不會產生馬賽克了。 
  		hls_playlist_length 60s; #總共可以回看的事件,這裏設置的是1分鐘。 
  		hls_continuous on; #連續模式。 
  		hls_cleanup on; #對多餘的切片進行刪除。 
  		hls_nested on; #嵌套模式。
        }
    }
}

其中 play /yemu/video 指的是配置點播模塊,可以直接播放/yemu/video路徑下的視頻,比如video目錄下有一個test.mp4視頻

那麼可以利用愛奇藝播放器或者其他工具輸入網址:rtmp://45.78.24.199/video/test.mp4

即可訪問這段視頻

hls_path指定hls分塊存放路徑,因爲hls是通過獲取到推送的視頻流信息,分塊存儲在服務器。所以它的延時比rtmp要更高。

所以客戶端要推流的話,直接推送到:rtmp://45.78.24.199/live/ 這個地址即可

nginx中的server配置

server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;
        index index.jsp index.html;
        root /yemu;
        #access_log  logs/host.access.log  main;

        location / {
            	root html;
		index index.html;
        }
## 下面(~)這一段配置可以不要
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|docx|pdf|doc|ppt|html|properties)$ {
                expires 30d;
                root /var/yemu/static/;
        }

#HLS配置開始,這個配置爲了`客戶端`能夠以http協議獲取HLS的拉流
        location /hls {
            types {
                application/vnd.apple.mpegurl m3u8;
                #application/x-mpegURL;
                video/mp2t ts;
            }
            alias /var/yemu/live/hls/;
            expires -1;
            add_header Cache-Control no-cache;
        }

        location /stat {
                 rtmp_stat all;
                 rtmp_stat_stylesheet stat.xsl;
        }

        location /stat.xsl {
                root /root/nginx-rtmp-module-1.1.7/;	#源碼根目錄
         }
}

 

location 指向/hls,別名是/var/yemu/live/hls/

前端直接通過域名+/hls/+文件名.m3u8獲取視頻,進行拉流

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章