最近在學習視頻直播方面的知識,所以自己試著搭建服務器和客戶端進行推流.逛了很多博客,最后決定使用nginx和rtmp進行部署.
前期準備工作,百度云買了個服務器49元半年的.1核1G內存,學習用的也就夠了.
gcc 安裝
yum -y install gcc gcc-c++
PCRE pcre-devel 安裝
yum install -y pcre pcre-devel
zlib 安裝
yum install -y zlib zlib-devel
OpenSSL 安裝
yum install -y openssl openssl-devel
以上的工具安裝完成后,下載nginx和rtmp
在var目錄下創(chuàng)建一個temp的目錄
cd temp?進入目錄
下載nginx和rtmp和解壓
wget?http://nginx.org/download/nginx-1.12.0.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.0.tar.gz
tar -xzvf nginx-1.12.0.tar.gz
tar -xzvf v.1.2.0.tar.gz
進入nginx-1.12.0目錄
里面有configure的可執(zhí)行文件.
./configure --prefix=/usr/local/nginx --add-module=/var/temp/nginx-rtmp-module-1.2.0? --with-http_ssl_module
執(zhí)行完以上命令后會在目錄里成成一個Makefile的文件.接著編譯安裝
make &&?make install
執(zhí)行完以上命令就可以安裝完成nginx和rtmp了,接著需要配置相關參數(shù)
將/var/temp/nginx-rtmp-module-1.2.0/test里面的ngxin.conf?文件復制到/usr/local/nginx/conf,覆蓋里面的配置文件.
并進入/usr/local/nginx/conf文件夾?
vim nginx.conf
編輯配置文件
location /stat.xsl {
? ? ? ? ? ? root /var/temp/nginx-rtmp-module-1.2.0;
? ? ? ? }
location /rtmp-publisher {
? ? ? ? ? ? root /var/temp/nginx-rtmp-module-1.2.0/test;
? ? ? ? }
? ? ? ? location / {
? ? ? ? ? ? root /var/temp/nginx-rtmp-module-1.2.0/test/www;
? ? ? ? }
對應的location位置配置成自己的路徑.就配置成功了
進入/usr/local/nginx/sbin目錄,啟動nginx服務
./nginx
執(zhí)行以上命令將nginx服務啟動
可以通過ps -ef|grep nginx?命令查看是否一起動.
[root@instance-d3g0taov conf]# ps -ef|grep nginx
root? ? ? 93601? ? ? 1? 0 14:37 ?? ? ? ? 00:00:00 nginx: master process ./nginx
nobody? ? 94044? 93601? 0 14:44 ?? ? ? ? 00:00:00 nginx: worker process
root? ? ? 95542? 70299? 0 15:14 pts/0? ? 00:00:00 grep --color=auto nginx
出現(xiàn)以上的信息時,說明已經(jīng)把nginx配置成功了
這個時候我們可以在瀏覽器輸入我們百度云的公網(wǎng)ip:xx.xx.xx.xx:8080/stat?進入rtmp的后臺,或者xx.xx.xx.xx:8080/index.html
如果頁面可以正常顯示就說明我們已經(jīng)配置成功了.如果不能顯示則是防火墻的問題.吧防火墻關閉就OK了
systemctl stop firewalld
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
以上的是配置nginx,我們實驗下推流和拉流
可以下載ffmpeg?進行推流?http://www.ffmpeg.org/download.html下載ffmpeg.我這里下載的是window版本,下載到本地后解壓.會有個bin目錄.
里面有ffmpeg.exe?和ffmplay.exe兩個文件.我們把一個flv文件拷貝這里.
使用系統(tǒng)的cmd命令窗口.進入到這個bin目錄.執(zhí)行推流命令
ffmpeg.exe -re -i E:\javaee\ffmpeg_play\ffmpeg-play\bin\China.flv -f flv rtmp://xx.xx.xx.xx/myapp/mystream
-i?后是flv文件的路徑名? rtmp是我們要推倒那里去.xx.xx.xx.xx是我們百度云的公網(wǎng)地址.myapp是在nginx.conf中定義的項目.mystream可以自己命名?執(zhí)行玩命令后就可以進行推流了.
可以通過VLC??rtmp://xx.xx.xx.xx/myapp/mystream通過這個地址進行拉流播放.親測可以正常推流和拉流
初次接觸,寫的不好,請多指教