Centos7 Red5 OBS推流 VLC拉流

一、Red5、OBS、VLC簡介
Red5的主要功能和Macromedia公司的FMS類似,提供基於Flash的流媒體服務的一款基於Java的開源流媒體服務器。它由Java語言編寫,使用RTMP作爲流媒體傳輸協議,這與FMS完全兼容。它具有流化FLV、MP3文件,實時錄製客戶端流爲FLV文件,共享對象,實時視頻播放、Remoting等功能。用Red5替換FMS後,客戶端不用更改可正常運行。
OBS免費開源軟件,用於視頻錄製和直播,功能特點:

  1. 直播 RTMP 流媒體,兼容各大直播平臺
  2. 支持OBS直播相關插件
  3. 性能穩定
  4. 編碼使用H264(X264)和AAC
  5. 無限數量的場景和來源
  6. 基於GPU的高性能遊戲流媒體遊戲捕獲
  7. 支持DirectShow捕獲設備(攝像頭、採集卡、等)
  8. MP4或者FLV文件輸出
    VLC多媒體播放器(最初命名爲VideoLAN客戶端)是VideoLAN計劃的多媒體播放器。它支持衆多音頻與視頻×××及文件格式,並支持DVD影音光盤,VCD影音光盤及各類流式協議。它也能作爲unicast或 multicast的流式服務器在IPv4或 IPv6的高速網絡連接下使用。它融合了FFmpeg計劃的×××與libdvdcss程序庫使其有播放多媒體文件及加密DVD影碟的功能。
    二、背景
    因工作需要,進一步瞭解直播推流的過程,研究流媒體服務器的相關技術。本文是基於CentOS7搭建Red5流媒體服務器,利用OBS推流工具、VLC播放器工具實現的簡單的直播、觀看功能。
    三、直播的流程
    錄製——編碼——網絡傳輸——解碼——播放
    好了,瞭解這麼多下來我們就來實際的操作。
    四、下載
    官網下載red5-server-1.0.6-RELEASE,可以在centos裏面wget下載,也可以windows下下載上傳到linux,此處不再贅述,本文以上傳的方式安裝。https://github.com/Red5/red5-server/releases
    五、安裝
    前面已經說過Red5是基於Java的,首先先看系統是否安裝Java
    [root@localhost tmp]#rpm -qa | grep java
    查看java的版本
    [root@localhost tmp]# java -version
    無輸出則沒有安裝,需要先手動安裝
    [root@localhost tmp]# yum install java-1.7.0-openjdk
    [root@localhost tmp]# java -version
    java version "1.7.0_191"
    OpenJDK Runtime Environment (rhel-2.6.15.4.el7_5-x86_64 u191-b01)
    OpenJDK 64-Bit Server VM (build 24.191-b01, mixed mode)
    將Red5上傳至/usr/local/下解壓縮
    [root@localhost local]# tar -zxvf red5-server-1.0.6-RELEASE-server.tar.gz
    進入到 red5-server-1.0.6-RELEASE/目錄,編輯配置目錄conf下的red5.properties文件
    vi red5-server-1.0.6-RELEASE//conf/red5.properties
    Centos7 Red5 OBS推流 VLC拉流
    將圖片紅色標記的ip地址改爲本地實際的服務器地址,修改完成之後保存退出。
    修改完成之後我們可以直接通過 red5-server-1.0.6-RELEASE/下的shell腳本啓動red5服務。
    [root@localhost red5-server-1.0.6-RELEASE]# ./red5.sh
    ......前面省略
    [INFO] [Launcher:/installer] org.red5.server.Server - Add mapping global: default host: localhost:5080 context: installer
    [INFO] [Launcher:/installer] org.red5.server.scope.WebScope - Webscope already registered
    [INFO] [Launcher:/installer] org.red5.server.service.Installer - Installer service created
    [INFO] [Launcher:] org.red5.server.Context - Setting parent bean factory as core
    [INFO] [Launcher:] org.red5.server.scope.WebScope - Set server [Server@25b5de71map['/chat' -> 'default', '/vod' -> 'default', 'localhost:5080/installer' -> 'default', 'localhost/installer' -> 'default', '/live' -> 'default']]
    [INFO] [Launcher:] org.red5.server.scope.Scope - Scope null name reset to: disallowed
    [INFO] [Launcher:] org.red5.server.Server - Add mapping global: default host: context: null
    [INFO] [Launcher:] org.red5.server.scope.Scope - Invalid scope name, null is not allowed
    [WARN] [Launcher:] org.red5.server.scope.Scope - Invalid scope rejected: Scope [name=null, path=/default, type=APPLICATION, autoStart=true, creationTime=1538117994743, depth=1, enabled=true, running=false]
    [WARN] [Launcher:] org.red5.server.scope.Scope - Scope not added to parent
    [INFO] [Launcher:] org.red5.server.scope.WebScope - Webscope already registered
    [INFO] [Launcher:/chat] org.red5.server.scope.WebScope - Webscope already registered
    等Red5啓動完畢,打印的信息爲啓動的日誌。
    使用netstart命令找到java啓動的端口1935,5080,在防火牆中放行對應的端口,或者直接關掉防火牆。
    Centos7 Red5 OBS推流 VLC拉流
    CentOS7中使用的防火牆爲firewalld
    查看firewalld的狀態
    [root@localhost ~]# firewall-cmd --state
    running
    啓動和關閉防火牆
    [root@localhost ~]# service firewalld start|stop|restart
    查看防火牆的規則
    [root@localhost ~]# firewall-cmd --list-all
    插線端口是否開放
    firewall-cmd --query-port=8080/tcp
    開放1935,5080端口
    firewall-cmd --permanent --add-port=5080/tcp
    firewall-cmd --permanent --add-port=1935/tcp
    移除端口
    firewall-cmd --permanent --remove-port=8080/tcp
    #重啓防火牆(修改配置後要重啓防火牆)
    firewall-cmd --reload
    參數解釋:
    1、firwall-cmd:是Linux提供的操作firewall的一個工具;
    2、--permanent:表示設置爲持久;
    3、--add-port:標識添加的端口;
    OK,這樣流媒體服務器就搭建好了,可以直接在瀏覽器輸入:http://192.168.89.132:5080訪問了
    Centos7 Red5 OBS推流 VLC拉流
    下來我們來用OBS推個流驗證下服務器,流這塊的URL就是播放留地址:rtmp://192.168.89.132/live/自定義的名字
    Centos7 Red5 OBS推流 VLC拉流
    設置好之後,添加場景和來源點擊開始推流
    Centos7 Red5 OBS推流 VLC拉流
    點擊開始推流,看右下角標記的綠色變動,說明推流正常
    Centos7 Red5 OBS推流 VLC拉流
    下來使用VLC拉流,訪問流地址rtmp://192.168.89.132/live/123
    Centos7 Red5 OBS推流 VLC拉流
    可以播放,OK沒問題,拉流成功。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章