在ubuntu 上搭建Nginx-RTMP 直播服務器

前言

近段時間在學習Android直播,那麼毋庸置疑ffmpeg和WebRTC是音視頻界的兩個大佬。

ffmpeg的基本使用:https://blog.csdn.net/huangliniqng/article/details/81842273

看過很多教程講解直播環境的搭建,大都是在mac環境上搭建的,對於windows用戶來說搭建起來比較繁瑣,昨天的這個時候我嘗試了在windows本地搭建Nginx-rtmp直播服務器,最終可以成功運行。效果圖如下所示。

不過我們今天不講解如何在windows上搭建直播服務器,如果有問題的朋友可以一起探討。今天來講解如何在ubuntu服務器上搭建直播服務器。(此處不造輪子,完全爲了以後搭建更加方便)

1.RTMP簡介

   RTMP全稱是Real Time Messaging Protocol(實時消息傳輸協議),rmtp是一種通訊協議。該協議基於TCP,是一個協議族,包括RTMP基本協議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設計用來進行實時數據通信的網絡協議,主要用來在Flash/AIR平臺和支持RTMP協議的流媒體/交互服務器之間進行音視頻和數據通信。

2.環境搭建

  如果對linux操作命令不熟悉,可以移步至我的linux系列文章:

  https://mp.csdn.net/postedit/82469566

  首先創建源碼編譯的目錄然後進入。

   $ mkdir nginx-src
   $ cd nginx-src

  下載源碼
  $ git clone https://github.com/nginx/nginx.git
  $ git clone https://github.com/arut/nginx-rtmp-module.git
  $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
  $ tar -xzvf pcre-8.39.tar.gz
  $ cd nginx$ git checkout release-1.9.9

 

編譯安裝

#將configure的命令封裝成腳本
$ vim cfg.sh

 

#  cfg.sh文件的內容
auto/configure --prefix=/usr/local/nginx \
      --with-pcre=../pcre-8.39 \
              --with-http_ssl_module \
              --with-http_v2_module \
              --with-http_flv_module \
              --with-http_mp4_module \
              --add-module=../nginx-rtmp-module/


$ chmod a+x cfg.sh
$ ./cfg.sh
$ make 
$ make install
 

3.配置服務環境

安裝完成後修改配置文件執行下列操作:

進入 cd /usr/local/nginx/conf

編輯 nginx.conf,如果提示沒有權限,可執行sudo chmod 777 nginx.conf即可取得所有權限

編輯nginx.conf文件,主要是添加rtmp服務

配置完成後,保存文件。

執行下列命令重啓nginx:
sudo /usr/local/nginx/sbin/nginx -s stop

sudo /usr/local/nginx/sbin/nginx

如果沒有出現錯誤,這時已經成功搭建好了rtmp流媒體,

那麼我們使用工具來測試,你也可以使用webrtc-android端來測試,這裏我們使用工具SmarterStreaming,下載地址:https://github.com/daniulive/SmarterStreaming

測試之前首先我們要推送一個視頻流

我們使用命令  ffmpeg -re -i soft/2.mp4 -c copy -f flv rtmp://localhost:1935/live/film

soft/2.mp4 是服務器上的視頻地址,運行如果出現下圖所示,說明上述環境搭建的沒有問題

我們使用測試工具測試,輸入地址 rtmp://123.207.55.74:1935/live/film

效果如下圖所示:

當推流結束後則播放結束(仔細想想像電視臺一樣推送之後結束再接着推送廣告等)

歡迎關注技術公衆號,微信號搜索ColorfulCode 代碼男人

分享技術文章,投稿分享,不限技術種類,不限技術深度,讓更多人因爲分享而受益。

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章