centos7+nginx+rtmp+ffmpeg搭建流媒體服務器

centos7+nginx+rtmp+ffmpeg搭建流媒體服務器

1.安裝前需要的工具

#net-tool 查本地IP
#wget 下載安裝包
#unzip 解壓zip包
#gcc gcc-c++ perl 編譯軟件包用
yum install -y net-tools wget unzip gcc gcc-c++ perl

2. 將將Centos的yum源更換為國內的阿里云源

#備份yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下載阿里源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清空緩存
yum makecache

3. 安裝nginx及rtmp

將當前目錄切換的 /home

#切換的homme目錄
cd /home

1. 下載并解壓pcre

#下載pcre包
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz
#解壓pcre包
tar -zxvf pcre-8.41.tar.gz

2. 下載并解壓zlib

#下載zlib包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
#解壓zlib包
tar -zxvf zlib-1.2.11.tar.gz

3.下載并安裝openssl

#下載openssl包
wget https://www.openssl.org/source/old/1.0.1/openssl-1.0.1i.tar.gz
#解壓openssl包
tar -zxvf openssl-1.0.1i.tar.gz
#切換到openssl里
cd openssl-1.0.1i
#生成配置文件 默認配置
./configure 
#編譯程序
make 
#安裝程序
make install

4. 下載并解壓nginx-rtmp-model

#下載rtmp包
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
#解壓下載包
unzip -o master.zip
#修改文件夾名
mv master nginx-rtmp-module

5.安裝nginx

#下載nginx
wget http://nginx.org/download/nginx-1.12.2.tar.gz
#解壓nignx 
tar -zxvf nginx-1.12.2.tar.gz
#切換到nginx中
cd nginx-1.12.2
#生成配置文件,將上述下載的文件配置到configure中
./configure --prefix=/usr/local/nginx --with-pcre=/home/pcre-8.41 --with-zlib=/home/zlib-1.2.11 --with-openssl=/home/openssl-1.0.1i --add-module=/home/nginx-rtmp-module  
#編譯程序
make
#安裝程序
make install
#查看nginx模塊
nginx -V

4. 安裝ffmpeg

#安裝epel包
yum install -y epel-release 
#導入簽名
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
#導入簽名
rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro 
#升級軟件包
rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
#更新軟件包
yum update -y
#安裝ffmpeg
yum install -y ffmpeg
#檢查版本
ffmpeg -version

5. 修改配置運行服務

1.修改nginx配置

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

修改之后的配置

#工作進程
worker_processes  1;
#事件配置
events {
    worker_connections  1024;
}
#RTMP配置
rtmp {  
    server {  
        #監(jiān)聽端口
        listen 1935;  
        #
        application myapp {  
            live on;  
        }  
        #hls配置
        application hls {  
            live on;  
            hls on;  
            hls_path /tmp/hls;  
        }  
    }  
}  

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    gzip  on;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        #配置hls
        location /hls {  
            types {  
                application/vnd.apple.mpegurl m3u8;  
                video/mp2t ts;  
            }  
            root /tmp;  
            add_header Cache-Control no-cache;  
        }  
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2.執(zhí)行nginx

/usr/local/nginx/sbin/nginx

3. 打開防火墻

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

4.測試功能

#查看IP
ifconfig 
#在home下上傳一個test.mp4視頻
#推送rtmp流 下載一個VLC測試
ffmpeg -re -i "/home/test.mp4" -vcodec libx264 -vprofile baseline -acodec aac  -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://{IP}:1935/myapp/test1 
#推送hls流 寫個HTML測試
ffmpeg -re -i "/home/test.mp4" -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://{IP}:1935/hls/test2
<script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>
<video id="video"></video>
<script>
  if(Hls.isSupported()) {
    var video = document.getElementById('video');
    var hls = new Hls();
    hls.loadSource('http://{IP}/hls/test2.m3u8');
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED,function() {
      video.play();
  });
 }
</script>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末穴豫,一起剝皮案震驚了整個濱河市槽棍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌揉稚,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熬粗,死亡現(xiàn)場離奇詭異搀玖,居然都是意外死亡,警方通過查閱死者的電腦和手機驻呐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門灌诅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人含末,你說我怎么就攤上這事猜拾。” “怎么了佣盒?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵挎袜,是天一觀的道長。 經常有香客問我,道長宋雏,這世上最難降的妖魔是什么芜飘? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮磨总,結果婚禮上嗦明,老公的妹妹穿的比我還像新娘。我一直安慰自己蚪燕,他們只是感情好娶牌,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著馆纳,像睡著了一般诗良。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上鲁驶,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天鉴裹,我揣著相機與錄音,去河邊找鬼钥弯。 笑死径荔,一個胖子當著我的面吹牛,可吹牛的內容都是我干的脆霎。 我是一名探鬼主播总处,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼睛蛛!你這毒婦竟也來了鹦马?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤忆肾,失蹤者是張志新(化名)和其女友劉穎荸频,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體客冈,經...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡试溯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了郊酒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡键袱,死狀恐怖燎窘,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情蹄咖,我是刑警寧澤褐健,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響蚜迅,放射性物質發(fā)生泄漏舵匾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一谁不、第九天 我趴在偏房一處隱蔽的房頂上張望坐梯。 院中可真熱鬧,春花似錦刹帕、人聲如沸吵血。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹋辅。三九已至,卻和暖如春挫掏,著一層夾襖步出監(jiān)牢的瞬間侦另,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工尉共, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留褒傅,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓爸邢,卻偏偏與公主長得像樊卓,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子杠河,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354