Nginx搭建RTMP流媒體服務器的實現
目錄
- 1 環境搭建
- 依賴庫安裝
- 源碼下載與編譯
- 編譯過程
- 2 推流服務
- 2.1 利用文件推流
- 2.2 將一路流灌到nginx服務器rtmp進行推流
- 3 直播拉流
1 環境搭建
環境搭建主要是利用nginx服務器的插件模塊nginx-rtmp-module進行rtmp的推拉流操作。
依賴庫安裝
安裝過nginx的可以跳個這個步驟,主要是安裝ssl、pcre和zlib庫依賴
#安裝ssl依賴庫sudo apt-get install openssl libssl-dev #安裝pcresudo apt-get install libpcre3 libpcre3-dev#安裝zlibsudo apt-get install zlib1g-dev
源碼下載與編譯
源碼下載路徑:https://github.com/arut/nginx-rtmp-module
下載源碼,如果git命令沒法下載就直接到網頁下載復制到對應目錄。
mkdir /home/rtmpcd /home/rtmpgit clone https://github.com/nginx/nginx.gitgit clone https://github.com/arut/nginx-rtmp-module.git
編譯過程
設置nginx編譯參數
auto/configure --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module
編譯和安裝
make -j4sudo make install
安裝完可以查看nginx版本是否正常
默認安裝路徑:/usr/local/nginx/
2 推流服務
2.1 利用文件推流
完成nginx服務器的安裝后,需要進行rtmp服務的配置,只需要修改nginx配置即可:
vi /usr/local/nginx/conf/nginx.conf
配置內容注意事項:
- 開啟root權限,以便可以訪問home下的目錄;
- play路徑設置為自己的視頻文件夾路徑
user root;rtmp { #RTMP server server {listen 1935; #server portchunk_size 4096; #chunk_sizeapplication vod { #play /mnt/hgfs/ygf/vod; #media file position play /home/ffmpeg_learn/test_sources/test-av;} }}
重啟nginx
/usr/local/nginx/sbin/nginx -s reload
需要注意的是播放的路徑一定要正確,同時播放音頻是aac視頻視h264,這里添加一個test.mp4文件。
下面是測試過程,windows利用vlc工具播放rtmp的路徑。這里的ip需要設置為自己的Ubuntu ip地址
視頻效果如下:
注意需要確定視頻文件的格式:
音頻為AAC視頻為H264
2.2 將一路流灌到nginx服務器rtmp進行推流
1 修改nginx配置,新增直播節點,用于FFmpeg將流推到對應節點上
application live{ # live add live on;}
2 重啟nginx服務器
/usr/local/nginx/sbin/nginx -s reload
3 進行推流操作
ffmpeg -re -i /home/ffmpeg_learn/test_sources/test-av/Titanic.mp4 -c copy -f flv rtmp://192.168.88.180/live/Titanic
利用vlc查看視頻,如下所示:
3 直播拉流
上面利用VLC就是一個拉流的過程。
這里介紹FFmpeg命令行操作。
#利用ffplay直接觀看ffplay rtmp://192.168.88.180/vod/Titanic.mp4#利用FFmpeg下載到文件ffmpeg -i rtmp://192.168.88.180/vod/Titanic.mp4 test.mp4
到此這篇關于Nginx搭建RTMP流媒體服務器的實現的文章就介紹到這了,更多相關Nginx搭建RTMP內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
