利用nginx的搭建直播流媒體平台

來源:互聯網
上載者:User

標籤:ide   pen   ali   log   環境   直播平台   防火   系統   ddc   

示範環境
  • centos 7
  • nginx-1.8.1
  • nginx-rtmp-module
  • obs studio
  • vlc media player
搭建nginx-rtmp直播伺服器-OBS錄製推流-VLC視頻流播放
  1. 首先編譯安裝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
  2. 測試是否安裝成功
    [[email protected] nginx-1.8.1]# cd /usr/local/nginx[[email protected] nginx ]# ./sbin/nginx #啟動服務

    在瀏覽器中輸入虛擬機器的IP或者localhost出現如下則說明編譯安裝成功

  3. 直播服務的配置
    [[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) 
  4. 建立視頻檔案的目錄/路徑
    [[email protected] nginx]# mkdir /usr/local/nginx/html/hls
  5. 重新啟動服務,關閉防火牆及selinux
    [[email protected] nginx]#./sbin/nginx -s stop[[email protected] nginx]#./sbin/nginx[[email protected] nginx]# iptables -F[[email protected] nginx]# setenforce 0
  6. 到這裡伺服器已經搭建完畢了,我們開始推流設定

    點擊檔案->設定->流,在流類型裡選擇自訂流媒體伺服器,在URL中填入rtmp://172.18.252.106/mytv(IP加執行個體名稱),然後在流名稱中填入一個名字(任意),obs設定已經完成

    點擊開始推流,在左下角的來源中可以選擇你要直播的內容
  7. 接下來去vlc media studio中設定接受流媒體

    點擊媒體->開啟網路串流->網路,在URL中輸入rtmp://172.18.252.106/mytv/test(伺服器IP+應用程式名稱+流名稱),點擊播放即可
  8. 至此一個obs推流-nginx-rtmp的hls直播-vlc串流的直播平台搭建完成,這個時候在瀏覽器中輸入IP+stat

    會顯示我們的應用程式名稱(mytv),live streames (流媒體的個數),流名稱(test)

利用nginx的搭建直播流媒體平台

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.