ffmpeg + nginx配置智播推流服務器

nginx是配置網站服務器,但是通過安裝相應modue也可以實現直播推流。

nginx服務器配置

環境

  • ubuntu 16.04
  • nginx 1.13

依賴庫安裝

sudo apt-get install git
sudo apt-get install libssl-dev
sudo apt-get install libpcre3 libpcre3-dev 
sudo apt-get install openssl libssl-dev  
sudo apt-get install zlib1g-dev  
sudo apt-get install git
sudo apt-get install wget

安裝過程中,apt佔用,出現錯誤:

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

解決方法:

ps aux | grep apt

kill ps

下載解壓

mkdir rtmp
cd rtmp
git clone https://github.com/arut/nginx-rtmp-module.git
wget http://nginx.org/download/nginx-1.13.3.tar.gz
tar -zxvf nginx-1.13.3.tar.gz

nginx-rtmp-module添加到nginx服務器

cd nginx-1.13.3
./configure --add-module=/home/lammy/rtmp/nginx-rtmp-module

編譯安裝

make
sudo make install

運行

cd /usr/local/nginx
sudo ./nginx

驗證

ps -ef|grep nginx

配置rtmp推流

進入nginx的配置信息

cd /usr/local/nginx/conf
sudo gedit nginx.conf

添加 rtmp服務

http同級目錄下添加 rtmp服務

rtmp
{
	server
	{
		listen 1935;
		chunk_size 4096;
		application live #live rtmp名稱爲名字,下面on這裏表示開啓
		{
			live on;
		}
	}
}

添加推流信息查看http接口

在http中添加推流信息,與http內部server統計目錄

server
{
	listen 8080;
	location /stat{
		rtmp_stat all; #所有狀態
		rtmp_stat_stylesheet stat.xsl #state的樣式表
	}
	location /stat.xsl{
		root /home/lammy/rtmp/nginx-rtmp-module;#state的樣式表路徑
	}
}

/home/lammy/rtmp/nginx-rtmp-module是下載的module中的stat表格路徑

重啓nginx服務器

cd usr/local/nginx/sbin
sudo pkill nginx
sudo ./nginx

FFmepg 推流

上面配置了ffmpeg的服務,地址就是rtmp+服務器ip + rtmp名稱

ffmpeg -i test.mp4  -f flv rtmp://192.168.32.129/live

推流視頻有些模糊,想要推流原數據,可以查看:ffmpeg + crtmpserver實現直播推流

播放

vlc播放

vlc播放器下載安裝,

  1. 先打開vlc,左上角 媒體,打開網路串流,輸入上面推流的地址:rtmp://192.168.32.129/live,點擊打開
  2. 推流,執行上面的命令ffmpeg -i test2.mp4  -f flv rtmp://192.168.32.129/live

這樣就可以看到vlm播放我們推流的視頻了。

ffmpeg中的ffplay播放

ffplay rtmp:/192.168.32.129/live -fflags nofbuffer

ffpaly播放,因爲要音視頻推流控制,會有緩存,很延遲,這裏就設置爲無緩衝。

查看推流信息

在推流中,我們打開網站輸入:http://192.168.32.129:8080/stat 就可以看到推流的信息了(實時查看可F5 刷新頁面),如下圖:

 

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