一:RTMP
RTMP流媒體協議是 一套 Adobe 開發的音頻視頻實時傳輸協議;
二:Nginx-rtmp
nginx-rtmp 是一個基於nginx的 RTMP服務模塊,開源,免費
https://github.com/arut/nginx-rtmp-module
三:在 ubuntu server 14 安裝流程
1.先下載安裝 nginx 和 nginx-rtmp 編譯依賴工具
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
2. 創建一個工作目錄,並切換到工作目錄
mkdir ~/working cd ~/working
3. 下載 nginx 和 nginx-rtmp源碼
wget http://nginx.org/download/nginx-1.7.5.tar.gz wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
4. 安裝unzip工具,解壓下載的安裝包
sudo apt-get install unzip
5.解壓 nginx 和 nginx-rtmp安裝包
tar -zxvf nginx-1.7.5.tar.gz unzip master.zip
6. 切換到 nginx-目錄
cd nginx-1.7.5
7.添加 nginx-rtmp 模板編譯到 nginx
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
8.編譯安裝
make sudo make install
9. 安裝nginx init 腳本
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx sudo update-rc.d nginx defaults
10. 啟動和停止nginx 服務,生成配置文件
sudo service nginx start sudo service nginx stop
11. 安裝 FFmpeg
sudo apt-add-repository ppa:jon-severinsson/ffmpeg sudo apt-get update sudo apt-get install ffmpeg
12. 配置 nginx-rtmp 服務器
打開 /usr/local/nginx/conf/nginx.conf
在末尾添加如下 配置
rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name; } application live360p { live on; record off; } } }
13. 保存上面配置文件,然后重新啟動nginx服務
sudo service nginx restart
14. 如果你使用了防火牆,請允許端口 tcp 1935
16: 使用 客戶端,使用 rtmp協議進行視頻實時采集
Field 1: rtmp://your.vultr.ip/live/ Field 2: stream-key-your-set
在這里視頻采集我使用的是 iPhone5 的 采集程序 https://github.com/jgh-/VideoCore
[_session startRtmpSessionWithURL:@"rtmp://192.168.86.246/live/" andStreamKey:@"test"];
17. 在上面客戶端采集的過程之中,可以使用 vlc 播放器打開 rtmp 實時流
rtmp://your.vultr.ip/live/stream-key-you-set
打開上面的流,進行測試實時的效果
18: 關於 nginx-rtmp 更多配置
https://github.com/arut/nginx-rtmp-module/wiki/Directives
參考:https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04