標籤:ide pen ali log 環境 直播平台 防火 系統 ddc
示範環境
- centos 7
- nginx-1.8.1
- nginx-rtmp-module
- obs studio
- vlc media player
搭建nginx-rtmp直播伺服器-OBS錄製推流-VLC視頻流播放
- 首先編譯安裝nginx
[[email protected] ~]# tar xvf nginx-1.8.1.tar.gz [[email protected] ~]# unzip nginx-rtmp-module-master.zip [[email protected] ~]# cd nginx-1.8.1[[email protected] ~]# yum -y install zlib zlib-devel openssl* pcre pcre-devel gd-devel #nginx的依賴包[[email protected] nginx-1.8.1]# ./configure --add-module=../nginx-rtmp-module-master[[email protected] nginx-1.8.1]# make -j 4 && make install
- 測試是否安裝成功
[[email protected] nginx-1.8.1]# cd /usr/local/nginx[[email protected] nginx ]# ./sbin/nginx #啟動服務
在瀏覽器中輸入虛擬機器的IP或者localhost出現如下則說明編譯安裝成功
- 直播服務的配置
[[email protected](cyn) nginx ]# vim /usr/local/nginx/conf/nginx.conf#在設定檔最後加上這段rtmp的配置rtmp { #rtmp配置的塊,這個地方就是直播的配置的根 server { #伺服器的執行個體 listen 1935;#監聽並且接受的連接埠 application mytv { #應用/執行個體的三種類型(1)rtmp錄播(vod),(2)rtmp直播(live),(3)hls直播(hls) live on; #開啟直播直播模式,一對多廣播 hls on; #開啟直播 hls_path /usr/local/nginx/html/hls;#錄製視頻檔案的目錄/路徑 hls_fragment 2s;#後面接時間,用來設定每一個塊的大小。預設是5秒。只能為整數 } }}
下面是一些hls的配置,可根據自己的需求來配置
hls_playlist_length: 設定播放清單的長度,單位是秒hls_sync: 音視頻的同步時間hls_continuous: on|off 設定連續模式,是從停止播放的點開始還是直接跳過hls_nested: on|off 預設是off。開啟後的作用是每條流自己有一個檔案夾hls_base_url: 設定基準URL,對於m3u8中使用相對URL有效hls_cleanup: on|off 預設是開著的,是否刪除列表中已經沒有的媒體塊hls_fragment_naming: sequential(使用增長式的整數命名) | timestamp(使用媒體塊的時間戳記) | system(使用系統時間戳)命名方式 hls_fragment_naming_granularity: 如果使用時間戳命名時時間戳記的精度hls_fragment_slicing: plain(媒體塊達到需要的duration就換)|aligned(當到達的資料庫塊時幾個duration)
- 建立視頻檔案的目錄/路徑
[[email protected] nginx]# mkdir /usr/local/nginx/html/hls
- 重新啟動服務,關閉防火牆及selinux
[[email protected] nginx]#./sbin/nginx -s stop[[email protected] nginx]#./sbin/nginx[[email protected] nginx]# iptables -F[[email protected] nginx]# setenforce 0
- 到這裡伺服器已經搭建完畢了,我們開始推流設定
點擊檔案->設定->流,在流類型裡選擇自訂流媒體伺服器,在URL中填入rtmp://172.18.252.106/mytv(IP加執行個體名稱),然後在流名稱中填入一個名字(任意),obs設定已經完成
點擊開始推流,在左下角的來源中可以選擇你要直播的內容
- 接下來去vlc media studio中設定接受流媒體
點擊媒體->開啟網路串流->網路,在URL中輸入rtmp://172.18.252.106/mytv/test(伺服器IP+應用程式名稱+流名稱),點擊播放即可
- 至此一個obs推流-nginx-rtmp的hls直播-vlc串流的直播平台搭建完成,這個時候在瀏覽器中輸入IP+stat
會顯示我們的應用程式名稱(mytv),live streames (流媒體的個數),流名稱(test)
利用nginx的搭建直播流媒體平台