關鍵詞:Nignx(http服務器);rtmp,hls(流媒體服務)html
前言:感謝開源,感謝戰鬥民族。如今在作流媒體服務的一些工做,流媒體服務器搭建的網上教程多入牛毛,可是細細查看,發現不少同志貼上來的教程都有些許問題,還有一些是爬別人的數據得來的,排版上也有問題,讓新手無所適從。本文也是經過翻看一些優質的博文獲得的這篇分享。如下分享的網址就是引用的博文,安利一下。java
1. http://redstarofsleep.iteye.com/blog/2123752nginx
2. http://blog.csdn.net/cjsafty/article/details/9108587git
3. http://blog.chinaunix.net/uid-20639775-id-154556.html github
教程:
服務器
1. 下載nginx, openssl, pcre, zlib到一個目錄下,如(/home/user),用wget命令,具體可查看下面的各類版本。app
nginx-1.8.0.tar.gz openssl-1.0.1i.tar.gz pcre-8.37.tar.gz zlib-1.2.8.tar.gz
2. tar解壓。ide
tar -zxvf nginx-1.8.0.tar.gz tar -zxvf openssl-1.0.1i.tar.gz tar -zxvf pcre-8.37.tar.gz tar -zxvf zlib-1.2.8.tar.gz
3. git下nginx-rtmp-module(https://github.com/arut/nginx-rtmp-module),具體略。 測試
4. 進入nginx內,配置好,再make和make install。ui
(這裏強調一下,/home/user裏的user就是你的用戶名,而後是configure的時候最好加入--with-debug)
./configure --prefix=/usr/local/nginx --with-debug --with-pcre=/home/user/pcre/pcre-8.37 --with-zlib=/home/user/zlib/zlib-1.2.8 --with-openssl=/home/user/openssl/openssl-1.0.1i --add-module=/home/user/nginx-rtmp-module make make install
5. 進到(/usr/local/nginx/conf),配置好conf,下面來個簡單完整版的
#user nobody; worker_processes 1; #這裏能夠經過加入debug模式來查看error.log,內容更加豐富 error_log logs/error.log debug; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } -------------------------------------@@@ rtmp { server { listen 1935; application myapp { live on; } application hls { live on; hls on; hls_path /tmp/hls; } } } ---------------------------------------@@@ http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name localhost; --------------------------------------------@@@ location /hls { types { application/vnd.apple.mpegurl m3u8; video/mp2t ts; } root /tmp; add_header Cache-Control no-cache; } --------------------------------------------@@@ location / { root html; index index.html index.htm; } }
加的部分已經在上面標出來了。
6. 進入(/usr/local/nginx/sbin)運行
./ngnix
7. 能夠查看端口占用,80,1935是否是在監聽
netstat -ltn
8. 更多測試
1)把rtmp流發給服務器
rtmp://ip/myapp/test
myapp是ngnix.conf裏application設置的,stream爲test則是自定義的。
2)接收hls流
http://ip/hls/test.m3u8
hls是http內的location設置的,訪問的是Linux下的(/tmp/hls),test則是按照上面rtmp的test,若是上面是haha,下面也是haha。
3)ngnix主頁
http://ip
後言:有教程說明在./configure時能夠不須要zlib和pcre,這個我沒有試過,真心不須要這兩個模塊的童鞋們能夠不添加。另外,按照上述教程不能正確安裝的能夠聯繫我郵箱(joshuashaw@foxmail.com),或者在下面評論。最後,有些步驟不能完成的,加sudo吧,這個的緣由本身想 : )