今日朝中無事,搗鼓了一下 nginx rtmp,花了一些時間,過程記錄以下。html
1] [Getting-started-with-nginx-rtmpnginx
首次參照參考教材慘烈失敗,EI CAPITAN 編譯 nginx 時報 openssl 錯誤。git
換用 brew 安裝好了github
brew updateapp
brew install nginx-full --with-rtmp-moduletcp
brew info nginx-full 查看安裝以後的信息測試
先順便弄一下命令行的sublimespa
ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl
nginx的配置文件路徑在 /usr/local/etc/nginx命令行
將配置文件修改成 (去除了註釋掉的部分)debug
#user nobody; worker_processes 1; error_log logs/error.log debug; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8080; server_name localhost; # rtmp stat location /stat { rtmp_stat all; rtmp_stat_stylesheet stat.xsl; } location /stat.xsl { # 這個路徑必定要改 root /usr/local/Cellar/rtmp-nginx-module/1.1.7.9/share/rtmp-nginx-module; } # rtmp control location /control { rtmp_control all; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } rtmp { server { listen 1935; ping 30s; notify_method get; application myapp { live on; } } }
編輯好以後 sudo nginx -s reload 從新加載配置文件
系統自帶了幾個MOV,地址在 /System/Library/Compositions/
以前安裝的ffmpeg沒有帶ffplay,重裝一下。
brew unlink ffmpeg
brew install ffmpeg --with-ffplay
正兒八經的開始測試
訪問一把 http://localhost:8080/stat,若是正常打開,表示你已經成功了一大半
cd /System/Library/Compositions/
ffmpeg -re -i Yosemite.mov -c copy -f flv rtmp://localhost/myapp/mystream
ffplay rtmp://localhost/myapp/mystream
開始可能會出現以下的鏈接錯誤
Connection to tcp://localhost:1935 failed (Connection refused), trying next address
稍等幾秒,不出意外的話,會彈出一個本地的播放器對話框。
哈哈,接下來看如何作個分片什麼的