之前寫了一篇基於nginx的hls點播系統,本質上是把乙個**檔案做成m3u8索引,對應的檔案都是提前做好放在伺服器上的。
nginx充當的是個http 伺服器的角色,之所以說是基於nginx的,是因為它可以設定限速。
1,軟體編譯:
所需模組:nginx-rtmp-module
github:
這個模組對nginx的版本好像沒有什麼要求,我用1.2.2是可以的。編譯方法github上寫的很清楚。
[plain]view plain
copy
./configure --add-module=
make
make install
1.3.14-1.5.0版本
2,rtmp源的提供
一類是用乙個已有的**檔案,一類是用攝像頭和麥克風採集。
例如:[plain]view plain
copy
ffmpeg.exe -re -i sample.flv -vcodec copy -acodec copy -f flv rtmp://server-ip-address/hls/mystream
ffmpeg.exe -f dshow -i video="usb2.0 camera" -vcodec libx264 -pix_fmt yuv420p -f flv rtmp://server-ip-address/hls/mystream
第二個是基於dshow的,在windows上,編碼用x264,影象用420p,
3,nginx配置
這個nginx-rtmp-module裡面已經包含了乙個nginx.conf,位於test目錄下,如果你已經有了乙個nginx配置檔案,那麼只需要用
[plain]view plain
copy
include /test/nginx.conf;
即可包含這個新配置,include必須與現有配置平級,即http級別的。
這裡通常會有些問題,例如rtmp不能識別。
[plain]view plain
copy
unknown directive "?rtmp
unknown directive "rtmp" in /etc/nginx/conf.d/rtmp.conf:1
解決方法一般是兩種,乙個是新conf的編碼必須是和原有的一樣,一般都是ascii的,用file指令就知道。
一是重新編譯後的nginx的model沒有載入進去,可以嘗試stop nginx再start就行。
hls是hls直播的。是我這裡用的。
4,html**修改
命名為playhls.html
[plain]view plain
copy
your browser does not support html5 video.
/dev/snd
linux 音訊驅動「
gstreamer 在visual studio 中環境搭建記錄
python+selenium2+chrome構建動態網頁爬蟲工具頂
0 踩
Mac直播伺服器Nginx配置對HLS的支援
1 安裝好 nginx 後,開啟配置檔案 usr local nginx conf nginx.conf 2 啟動 nginx 的命令 sudo usr local nginx sbin nginx s stop sudo usr local nginx sbin nginx server hls配...
讓Chrome看不了WWDC直播的HLS技術詳解
在html5頁面上使用hls 使用 http 協議網路相容性好,http 資料報也可以方便地通過防火牆或者 伺服器,cdn 支援良好。上圖可以看出,hls總共有三個部分 serve cdn client。hls 協議的主要內容是關於 m3u8 這個文字協議,其實生成與解析都非常簡單,示例如下 簡單的...
基於WebRTC的直播CDN
4.2 拉流 5 最短回源路徑 6 業務系統 7 一些特性 問題 主要特性 整體上這個系統是乙個典型的cdn結構,主要包含排程系統 cdn源節點和cdn邊緣節點。節點服務列表 服務功能 transfmtd 轉格式服務,主要負責webrtc的rtp流與rtmp流的互轉。janus webrtc流 服務...