流媒體技術學習筆記之(十二)Linux(Ubuntu)環境運行EasyDarwin


 Debug問題???

./easydarwin -c ./easydarwin.xml &  //這樣的話是80端口

./easydarwin -c ./easydarwin.xml -d  //8088端口

 

以上出現的問題:在調試模式下加載配置文件是可以的,但是在后台模式下配置文件是加載不了的,列如:在配置文件配置后台管理端口為8088,當時在后台模式下,卻是80端口,同時點播文件夾路徑和日志文件夾路徑也加載的不適

解決辦法:在后台運行的時候配置文件必須是絕對路徑哦!不是相對路徑

root@iZ2363u41cdZ:/home/Tinywan/EasyDarwin# ./easydarwin -c /home/Tinywan/EasyDarwin/easydarwin.xml &

再次由調試模式切換成后台模式的時候,加載配置文件正確

 


 

一、安裝環境監測

查看 Ubuntu 的版本號:

sudo lsb_release -a

gcc 版本查看:

gcc -v

ubuntu14.04 自帶的是4.8版本,而最新的4.9.2對c++11的支持更好一些。可惜直接sudo apt-get install gcc-4.9不好用,所以可以這樣安裝更新:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 sudo apt-get install g++-4.9

裝了ppa,各種版本就可以共存了。不過有一個問題,每次要用的時候,必須使用g++-4.9,如果直接用g++會運行4.8版本的,非常麻煩。所以需要改一下/usr/bin/下的鏈接:

sudo su cd ../../usr/bin ln -s /usr/bin/g++-4.9 /usr/bin/g++ -f ln -s /usr/bin/gcc-4.9 /usr/bin/gcc -f

二、編譯、安裝

下載

wget https://github.com/EasyDarwin/EasyDarwin/archive/v7.0.5.zip

 解壓

安裝unzip

apt install unzip

 解壓

unzip v7.0.5.zip

編譯

cd EasyDarwin-7.0.5/EasyDarwin/ ls chmod +x ./Buildit ./Buildit   (這里會出現86、64、debug三個版本) ./Buildit x64 (選擇64位進行編譯)

 編譯錯誤處理!!!

/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

原因:由於gcc 版本太低,建議升級為4.9以上,經過測試5.3版本的庫是最新的,但是兼容不了,所以推薦版本在大於4.9小於5.3版本。

./easydarwin: relocation error: ./easydarwin: symbol _ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference

編譯完成后,出現可執行文件在X64文件夾下面

root@iZ2363u41cdZ:/home/Tinywan/EasyDarwin-7.0.5/EasyDarwin/x64# ls easydarwin

復制html文件夾到當前文件夾(x64)下面

cp ../WinNTSupport/html/ ./ -r
cp ../WinNTSupport/Movies/ ./ -r

瀏覽器輸入:

http://外網IP地址:8088/

出現以上界面表示配置成功!

整理文件

復制x64文件內容到指定文件夾,我這里是我自己的文件Tinywan 下面

cp EasyDarwin-7.0.5/EasyDarwin/x64/ ./ -r
root@iZ2363u41cdZ:/home/Tinywan# ls EasyDarwin-7.0.5  EasyDarwin-7.0.5.zip  x64

重命名x64為EasyDarwin

mv x64 EasyDarwin

測試運行:

root@iZ2363u41cdZ:/home/Tinywan/EasyDarwin# ./easydarwin -c ./easydarwin.xml -d WARNING: No module folder exists. INFO: Loading Module...QTSSFileModule [static] INFO: Loading Module...QTSSReflectorModule [static] INFO: Loading Module...EasyRelayModule [static] **********************EasyPusher SDK**********************
 /* Platform: Linux */
 /* Process Name[10]: easydarwin */
 /* Coding Time: 2016-03-21 16:00:00 */
 /* Start Time: 2016-03-25 08:00:00 */
 /* Validity Time Left: 00000046 day(s) */
**********************************************************


******************EasyRTSPClient SDK**********************
 /* Platform: Linux */
 /* Process Name[10]: easydarwin */
 /* Coding Time: 2016-04-12 10:00:00 */
 /* Start Time: 2016-05-04 08:00:00 */
 /* Validity Time Left: 00000086 day(s) */
********************************************************** INFO: Loading Module...EasyHLSModule [static] **********************EasyHLS SDK*************************
 /* Platform: Linux */
 /* Process Name[10]: easydarwin */
 /* Coding Time: 2016-03-21 16:00:00 */
 /* Start Time: 2016-03-28 08:00:00 */
 /* Validity Time Left: 00000049 day(s) */
********************************************************** INFO: Loading Module...QTSSAccessLogModule [static] INFO: Loading Module...QTSSFlowControlModule [static] INFO: Loading Module...QTSSPosixFileSysModule [static] INFO: Loading Module...QTSSAdminModule [static] INFO: Loading Module...QTSSAccessModule [static] Streaming Server done starting up

已經成功開啟運行

Ø  查看C++已經安裝的庫文件

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

 

三、開啟服務:

Ø  .修改配置文件

local_ip_address : 該地址為服務器公網IP地址

Ø  Linux調試運行

!!!注意:必須以Root用戶啟動:

否則提示錯誤:WARNING: You must be root to use the following RTSP port: 554 ./easydarwin -c ../WinNTSupport/easydarwin.xml -d

進程查看:

ps -aux | grep easydarwin (這里要小寫的)

 

可以看到會有連個進程啟動,沒有報錯。

Ø  Linux后台服務方式運行

./easydarwin -c /etc/streaming/easydarwin.xml &

四、FFMpeg推送攝像機視頻到EasyDarwin

rtmp://zonepush4rtsp.amailive.com/realstream/4001

說明:FFmpeg推送,EasyDarwin轉發,vlc播放,實現整個RTSP直播

  • 測試RSTP推流地址:
ffmpeg  -rtsp_transport tcp -i "rtsp://192.168.18.240:554/onvif/live/1" -vcodec copy -acodec copy -f rtsp "rtsp://服務器IP地址/test.sdp"
  • 參數說明:
-rtsp_transport tcp 以TCP方式推流 rtsp://192.168.18.240:554/onvif/live/1 本地攝像頭地址
 rtsp://服務器IP地址/test.sdp EasyDarwin服務器地址。
  • 推流結果:

   

  • VLC播放地址:
rtsp://服務器IP地址/test.sdp,
  • 測試結果:

   

  • Debug命令行輸出信息

   

測試結果:

服務器啟動的時候會自動生成一下連個文件夾(服務器已經啟動的話,刪除掉則不會重新生成!!)

開始推流:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM