视频流服务器-red5的安装与使用
Red5-視頻流服務器搭建與測試
Red5 是 支持Windows,Linux等多平臺的RTMP流媒體服務器,Windows下搭建相對容易,圖形界面操作比較簡單,Linux服務器的環境下沒有圖形界面,搭建需要一定的技巧。
?
運行環境搭建
?
運行環境主要是 Java 環境搭建和 Apache ant(可不安裝) 的安裝。如果需要使用 ffmpeg ,還需要進行ffmpeg的安裝和配置。
?
1、安裝JDK
?
2、下載JRD
我們可以直接從github官網下載最新版本的Red5-server,因為我們是在Linux系統搭建的環境,這里選擇red5-server-1.0.10-M8.tar.gz。
地址:https://github.com/Red5/red5-server/releases
下載完成之后,上傳至/use/local路徑下,然后就可以開始解壓安裝了。
tar -zxvf red5-server-1.0.9-RELEASE.tar.gz?
修改解壓縮后的名字為red5
rm red5-server-1.0.9-RELEASE red5
進入目錄之后我們可以看到red5的目錄結構,顧名思義conf為配置文件存放地址,red5.sh為red5的啟動文件,我們進入conf文件夾,修改red5的配置文件。
vi conf/red5.properties
?
我們需要修改http.host和rtmp.host為電腦實際的IP地址,修改完成之后保存退出。
修改完成之后我們可以直接通過命令啟動red5服務。
./red5.sh
好的。我們可以看到控制臺已經開始飆起了日志,幾秒之后看到日志停了,就像這樣:
此時我們開啟端口,測試一下。
firewall-cmd --permanent --zone=public --add-port=1935/tcp?
firewall-cmd --permanent --zone=public --add-port=5080/tcp?
firewall-cmd --reload?
3、測試
端口開啟完畢,試一下能否進入red5的管理界面。地址為你的IP加上端口號:5080
顯示這個頁面說明安裝成功
4、添加red5到系統啟動項
但是,僅僅啟動成功還沒有達到我的目的,我可不想每次啟動服務都那么麻煩,所以,我們要把red5的服務添加到啟動項中。
vi /etc/init.d/red5 ?
文本內容
#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)
?
PROG=red5
RED5_HOME=/usr/local/red5???
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
?
# Source function library
. /etc/rc.d/init.d/functions
?
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
?
RETVAL=0
?
case "$1" in
?start)
?echo -n $"Starting $PROG: "
?cd $RED5_HOME
?$DAEMON >/dev/null 2>/dev/null &
?RETVAL=$?
?if [ $RETVAL -eq 0 ]; then
? echo $! > $PIDFILE
? touch /var/lock/subsys/$PROG
?fi
?[ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
?echo
?;;
?stop)
?echo -n $"Shutting down $PROG: "
?killproc -p $PIDFILE
?RETVAL=$?
?echo
?[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
?;;
?restart)
?$0 stop
?$0 start
?;;
?status)
?status $PROG -p $PIDFILE
?RETVAL=$?
?;;
?*)
?echo $"Usage: $0 {start|stop|restart|status}"
?RETVAL=1
esac
?
exit $RETVAL
注:RED5_HOME為你的red5安裝路徑,我的是:/usr/local/red5,這里要改成你們安裝的路徑!!!
添加到服務
chmod +x /etc/rc.d/init.d/red5?????
chkconfig --add red5?????
chkconfig red5 on?
添加到服務之后可以通過service red5 start來啟動red5服務,service red5 stop關閉服務,是不是非常方便了。
5、安裝yasm
下載目錄:
http://www.tortall.net/projects/yasm/releases
從該目錄下可以找到合適平臺的合適版本。我使用的是yasm-1.3.0.tar.gz
# tar zxvf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make && make install
這里需要注意需要安裝,gcc和gcc+
6、安裝ffmpeg
ffmpeg是一個很強大的音視頻處理工具,官網是:http://ffmpeg.org/ 官網介紹ffmpeg是:一個完整的、跨平臺的解決方案,可以記錄、轉換和傳輸音頻和視頻。ffmpeg既可以播放視頻,也提供命令行工具來處理視頻,另外還有強大的視頻處理庫用于開發,下面是以Linux為例介紹ffmpeg的安裝流程的簡單的命令行對視頻進行轉碼操作,是ffmpeg中最最簡單的入門內容.
???????? 官網下載:http://www.ffmpeg.org/download.html
安裝ffmpeg步驟
將壓縮包上到到/usr/local
tar jxvf ffmpeg-4.0.1.tar.bz2?? 注意:這里可能會需要下載依賴
進入文件夾
???????? ? ?cd /usr/local/ffmpeg-4.0.1
./configure
make
make install
這里安裝時間會有點久,請耐心等待,有些警告可以不用管
安裝成功
ffmpeg
顯示上圖則說明安裝成功
7、使用red5進行視頻監控
安裝oflaDemo(red5默認有)
點擊紅字進入http://localhost:5080/installer
在列表中選擇OFLA Demo進行安裝。安裝完成后重啟Red5后臺服務。
(此處如果被墻,可能無法自動安裝oflaDemo,可以從這里下載后,放在webapp目錄下即可)
在命令行中執行以下命令:
ffmpeg -i "rtsp://admin:Hik12345@192.168.2.65/ch1/sub" -f flv -r 15 -s 352x288 -an "rtmp://192.168.2.191/oflaDemo/hk"
ffmpeg -i "rtsp://admin:Hik12345@192.168.2.64/ch1/sub" -f flv -r 15 -s 352x288 -an "rtmp://192.168.2.191/oflaDemo/hk2"
?
注意:rtsp://攝像頭用戶名:密碼@ip/ch1/sub
?????????????????? rtmp://red的ip
編輯配置文件
修改Red5安裝目錄下的 webapps\oflaDemo\index.html 文件,將jwplayer的 file 屬性改成 “hk”。
vi /usr/local/red5/webapps/oflaDemo/index.html
測試
在瀏覽器中輸入地址:http://ip:5080/oflaDemo/index.html
這里需要將red5,開啟service red5 start
如圖顯示則說明配置成功,這里有延遲2-3秒
去延遲
http://192.168.2.191:5080/demos/publisher.html
相關優化
1.在red5.sh增加如下代碼,使java 能更好的利用服務器內存
JAVA_OPTS="-Xrs -Xms2048M -Xmx4096M -Dsun.rmi.dgc.client.gcInterval=300000 -Dsun.rmi.dgc.server.gcInterval=360000 -Djava.net.preferIPv4Stack=true -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -Xverify:none"
?
2.關閉相關日志。
比如info,debug調試日志可以關閉,如果對自己的項目有足夠信息error日志也可以不用關心。
logback.xml 文件控制日志輸出
?
比如<level value="INFO" /> 修改為<level value="OFF" />
?
3.red5設置最高優先級
在運行的進程中(最好使用Webmin)選擇red5進程并修改:
Nice Level: -20 (High Priority)
IO scheduling class: Best Effort
IO priority: 0 (High Priority)
總結
以上是生活随笔為你收集整理的视频流服务器-red5的安装与使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Word文档重新打开时恢复到上次阅读位置
- 下一篇: K12在线教育未来如何发展?