需要的工具:
一臺電腦。
一個美美的心情。
centos環境
nginx(linux下部署)
rtmp模塊(linux下部署)
livePush.war包(windows下部署)
OBS(測試轉流工具)
VLC(測試拉流工具)
-----------------------我的分割線--------------------
先安裝nginx+rtmp模塊( nginx-rtmp-module-maste),沒什麼好說的。
1、wget http://nginx.org/download/nginx-1.8.0.tar.gz(如果連接沒有或者更換的,移步 nginx下載 )選擇你喜歡的版本
2、tar -zxvf nginx-1.8.0.tar.gz
3、 cd nginx-1.8.0
4、./configure --prefix=/usr/local/src/nginx --add-module=../nginx-rtmp-module --with-http_ssl_module ./configure --prefix=/usr/local/src/nginx --add-module=../nginx-rtmp-module-maste --with-http_ssl_module
5、make && make install
中間如果少什麼模塊,就去裝。
然後啟動nginx。瀏覽器中能打開就好。
可能回有這樣的一個問題 nginx: [emerg] unknown directive "rtmp"
網上說法很多,都是說沒有安裝rtmp模塊,但是我之前是安裝好了的。後來rtmp有多種。一定要選擇源碼類的哦。(nginx-rtmp-module-maste)
直接上nginx配置文件。
[java] view plain copy
- ##################RTMP服務#################
- rtmp {
- server {
- listen 1935;
- chunk_size 4096;
- application video {
- play /usr/local/data/video;
- }
- application live{ #第一處添加的直播字段
- live on;#直播模式
- hls on; #這個參數把直播服務器改造成實時回放服務器。
- wait_key on; #對視頻切片進行保護,這樣就不會產生馬賽克了。
- hls_path /tmp/hls; #切片視頻文件存放位置。
- hls_fragment 10s; #每個視頻切片的時長。
- hls_playlist_length 60s; #總共可以回看的事件,這裡設置的是1分鐘。
- hls_continuous on; #連續模式。
- hls_cleanup on; #對多餘的切片進行刪除。
- hls_nested on; #嵌套模式。
- }
- }
- }
- ####啟動瀏覽器查看http://localhost:80/stat
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
- server {
- listen 80;
- server_name localhost;
- location /stat {
- #第二處添加的location字段。
- rtmp_stat all;
- rtmp_stat_stylesheet stat.xsl;
- }
- location /stat.xsl {
- #第二處添加的location字段。
- root /usr/nginx/nginx-rtmp-module-master/;
- }
- location /live { #這裡也是需要添加的字段。
- types {
- application/vnd.apple.mpegurl m3u8;
- video/mp2t ts;
- }
- alias /opt/video/hls;
- expires -1;
- add_header Cache-Control no-cache;
- }
- location / {
- root html;
- index index.html index.htm;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
這個配置文件直接用就ok了。
然後創建文件夾 /tmp/hls/
給hls賦權限。chmod 777 /tmp/hls
我這裡設置的是最高權限哦。
至此到這裡,nginx+rtmp就已經搞定了。
現在啟動nginx
1、cd /usr/local/nginx/sbin/
2、./nginx -c /usr/nginx/nginx-1.8.1/conf/nginx.conf
再瀏覽器中打開就ip,看看nginx是否成功啟動成功
打開OBS軟件,設置一下
可以再/tmp/hls下看到有一個名叫app的文件夾。我們看一下內容。
這裡有數據就ok了。
然後下一步。
使用VLC拉流。能成功的獲取到視頻才算是成功的嘛。
可以看到,這裡已經能成功的拉起到剛才推送的視頻了。到此為止,已經滿足一部分的看官了。
但是呢。我們需要繼續往下走哦。
使用livePush來代替OBS,畢竟實際項目使用,沒辦法使用OBS。他只能推一個哦。
拿到livePush的war包,再tomcat下啟動,訪問網址就出現下面的頁面
這個應用名就是你推的流的名。
視頻源是從網上隨便找了個。發佈地址應該指向到nginx上。然後點擊發布。生成一個播放地址,拿這個播放地址去剛才的VLC中去拉流就ok了。
到此為止,已經結束咯。哦。對了,war包。傳送門在此 失效請聯繫我。
閱讀更多 程序員小新人學習 的文章