1. 程式人生 > >RTMP開發記錄 測試伺服器搭建篇

RTMP開發記錄 測試伺服器搭建篇

感謝作者:http://www.cnblogs.com/valu/p/6287562.html

nginx-rtmp-module 安裝

最近在做直播功能,為了方便除錯,在本地搭建一個rtmp server吧~

我的配置環境是Ubuntu12.04 64

安裝編譯環境所需庫

sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

下載原始碼

wget http://nginx.org/download/nginx-1.4.2.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

解壓

tar -zxvf nginx-1.4.2.tar.gz
unzip master.zip
cd nginx-1.4.2

編譯安裝

./configure --add-module=../nginx-rtmp-module-master
$ make
$ sudo make install

那麼現在可以試著啟動Nginx

sudo /usr/local/nginx/sbin/nginx

然後在瀏覽器輸入http://localhost 應該就能夠看到nginx的歡迎首頁了,這意味著nginx在我們的機器上執行正常,可以進行下一步配置了:]

Nginx rtmp 配置

開啟nginx.conf檔案,開始配置rtmp吧:

http {
    ……
}
在http節點後面加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application live1 {
            live on;
            record off;
        }
    }
}

你可以在這裡找到完整的配置檔案

儲存退出後,告訴nginx重新讀取配置:

sudo /usr/local/nginx/sbin/nginx -s reload

這裡多提一句,如果想要重啟nginx:

sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx

這時我們可以測試推送流了,這裡由於我們還沒有寫推送程式碼,就先借助軟體完成吧。

測試推送流

推送流簡單來說就是上傳,也被稱為推送、釋出。想要推送流,總要有一個目標地址吧。看看之前我們建立的RTMP伺服器配置,裡面規定了使用1935作為監聽埠,配置了一個應用live1,通過這些資訊,我們就能拼出可以使用的上傳地址了,例如這樣:

rtmp://localhost:1935/live1

live1是應用名,對應我們在nginx中配置的應用。room1是一個應用的例項(或者叫結點,我是這麼理解的),這個不需要在伺服器做特別的配置,我們只需要在配置好的應用中選擇一個例項名字(例如room1)就能使用了。

使用之前提到的軟體,簡單配置下上傳地址就能夠釋出了。

測試接收流

傳送上去了,那麼我們如何接收呢?

使用JWPlayer在網頁播放

這裡又要使用外部工具了:jwplayer,一個flash的播放器,利用它可以在網頁播放rtmp流。

jwplayer目前能夠提供試用,但是使用需要先註冊以獲取key。這裡有一個我已經註冊好並下載到本地的播放器檔案,你可以直接使用它們。

找到/usr/local/nginx/html/目錄,在下面新建檔案player.html

charset="utf-8"> JW Player Example
id="'playerWRYqPNErNtRf'>test

然後將jwplayer資料夾放在/usr/local/nginx/html/目錄下,最後應該是這樣:

/usr/local/nginx/html/player.html
    /usr/local/nginx/html/jwplayer/jwplayer.js
    /usr/local/nginx/html/jwplayer/jwplayer.flash.swf
    ...

然後重啟nginx,在瀏覽器輸入http://localhost/player.html,點選播放按鈕,這時如果你正在使用軟體進行推送,就應該可以看到視訊了:]

使用VLC軟體播放

這是更簡單的一種方式,找一個支援rtmp的桌面軟體,恩……之前為什麼我要折騰jwplayer呢……

下載後開啟VLC,在選單選擇file->open network->在彈出的新視窗中選擇Network標籤頁,填入URL:rtmp://localhost:1935/live1->點選open,等待緩衝完成後,就自動開始播放了=。=


相關推薦

RTMP開發記錄 測試伺服器搭建

感謝作者:http://www.cnblogs.com/valu/p/6287562.html nginx-rtmp-module 安裝 最近在做直播功能,為了方便除錯,在本地搭建一個rtmp server吧~ 我的配置環境是Ubuntu12.04 64 安裝編

Python全棧開發記錄_第五(裝飾器)

  單獨記錄裝飾器這個知識點是因為這個知識點是非常重要的,必須掌握的。 瞭解裝飾器之前要知道三個知識點 作用域,上一篇講到過順序是L->E->G->B 高階函式: 滿足下列其中一種即可稱之為高階函式: a、把一個函式名當做實參傳遞給另一個函式 b、返回值中包含函式

Python全棧開發記錄_第七(模組_time)

這一篇主要是學習python裡面的模組,篇幅可能會比較長 一、time模組 # -*- coding:utf-8 -*- import time # print(help(time)) # 1、time() 返回時間戳 print(time.time()) # 返回當前時間的時間戳 1541

Python全棧開發記錄_第八(模組收尾工作 json & pickle & shelve & xml)

  由於上一篇篇幅較大,留下的這一點內容就想在這裡說一下,順便有個小練習給大家一起玩玩,首先來學習json 和 pickle。   之前我們學習過用eval內建方法可以將一個字串轉成python物件,不過,eval方法是有侷限性的,對於普通的資料型別,json.loads和eval都能用,但遇到特殊型別的時

Python全棧開發記錄_第九(類的基礎_封裝_繼承_多型)

  有點時間沒更新部落格了,今天就開始學習類了,今天主要是類的基礎篇,我們知道面向物件的三大特性,那就是封裝,繼承和多型。內容參考該部落格https://www.cnblogs.com/wupeiqi/p/4493506.html   之前我們寫的都是函式,可以說是面向過程的程式設計,需要啥功能就直接寫啥,

IM開發(1)-ejabberd伺服器搭建

最近專案中需要整合IM功能,市面上有很多的第三方提供im服務,比如環信、融雲等,但都有使用限制的地方,如果不使用第三方可以自己去實現一套IM系統,不過一個IM系統涉及到的東西比較多,開發難度較高。另一種選擇是使用xmpp,xmpp的優點是有很多的開源實現,比如服務端的eja

(小程式:一)mac搭建小程式本地測試伺服器

mac搭建小程式本地測試伺服器 根據教程逐步搭建:https://www.jianshu.com/p/61f50ee77dec 可能遇到的問題: npm未安裝,使用終端語句時報錯npm: command not found,參考教程安裝npm:https://blog.c

Linux伺服器開發/測試環境搭建流程

1、MariaDB yum 安裝/初始化/授遠端許可權 yum安裝 進入目錄/etc/yum.repos.d/,建立MariaDB.repo,將以上內容Copy進去 執行以下命令 sudo yum install MariaDB-server MariaDB-clie

OPC工作記錄整理——第四(OPC客戶端開發之OPC伺服器的列舉和連線)

    OPC客戶端的開發相對來說,只要掌握了OPC基類的幾個介面,並知道它們是如何運作的,那麼開發起來還是相對容易的。好了,廢話不多說了,我們開始吧。     首先是對標頭檔案的引用: #include "stdafx.h" #include <afxcoll.h

openstack controller ha測試環境搭建記錄(十四)——配置cinder(存儲節點)

nbsp 設置 ntp reason script snap rate 文件 esc 先簡述cinder存儲節點的配置: 1、IP地址是10.0.0.41; 2、主機名被設置為block1; 3、所有節點的hosts文件已添加相應條目; 4、已經配置了ntp時間同

openstack controller ha測試環境搭建記錄(十一)——配置neutron(網絡節點)

efault delete none _for set ext ranges tar edr 在網絡節點配置內核參數:vi /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.all.rp_filter=0net.ipv4.

robotframework+selenium搭配chrome瀏覽器,web測試案例(搭建

web 留言 大小寫 都沒有 小寫 mirrors png path input 這兩天發布版本 做的事情有點多,都沒有時間努力學習了,先給自己個差評,今天折騰了一天, 把robotframework 和 selenium 還有appnium 都研究了一下 ,大概有個譜,

天嵌IMX6開發測試-第一

ould offset nconf r script mage oid 64gb 源碼包 鏡像 1.看下開發板介紹 1 品牌: 天嵌 2 CPU型號: NXP i.MX6Q 3 架構: Cortex_A9 4 主頻: 4*1GHz 5 內存: 2GB DDR3 6 存儲:

測試平臺開發記錄(一)

文檔 直接 重新整理 繼續 框架 運行 自動化 一點 開發 最近幾個月最主要的工作就是測試平臺開發,由於內容比較多,我計劃分幾期來討論。 提到“測試平臺”測試會覺得比較高大上,其實就是“xx測試管理系統”,既然是一個管理系統,又是主要服務於測試的,所以,主要功能就是:管理接

線上測試環境搭建過程記錄

logging 技術分享 顯示 function tom files spa image 環境搭建 第一步:安裝JDK,以jdk1.8為例子: 1.將jdk1.8的rpm軟件包拷貝到 /usr/local 下 2.執行 rpm -ivh jdk-8u191-linux-i5

dns伺服器搭建及配置測試流程

1、使用 bind(Berkeley Internet Name Domain)搭建 DNS(Domain Name System)伺服器 安裝。 yum -y install bind-chroot 可先查詢是否已經安裝: rpm -q bind rpm -q bind-ch

使用Nginx+nginx-rtmp-module+OBS推流搭建流媒體伺服器

一、安裝Nginx 下載必備安裝包 建立安裝包存放資料夾 cd mkdir /usr/source #建立原始碼目錄 後面的原始碼都放在這個目錄 cd source yum -y install git #安裝git git clone https://github.

搭建微信小程式的本地測試伺服器 json-server

1.首先需要在windows環境下安裝node.js    選擇 Windows Installer 下載對應的系統版本就行,然後一路next,這種方式安裝好以後會把環境變數也配置好了,直接在命令列下輸入 node --version //出現對應的版本號

從零開始學產品第五:三個環境,開發測試和線上

本篇為【從零開始學產品】系列課第1章第4節 歡迎到公眾號選單欄,獲取產品經理課程更多資料     上節課我們說到了,Bug的生命週期,而只有在測試環境和線上環境發現的Bug,才會被稱之為Bug。 倒底什麼是測試環境,什麼是線上環境,

svn伺服器搭建和svn客戶端測試

    本教程是在centos7作業系統下搭建svn伺服器,本地通過下載TortoiseSVN安裝包,安裝完成後,即可在本地檢出svn伺服器上的專案,也可以訪問網上其他svn伺服器上的專案。 一.在阿里雲伺服器上搭建svn(centos7): 1.通過yum命令安裝svnserve: