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./EasyDarwin/
ls
chmod +x ./Buildit
./Buildit (这里会出现86、、debug三个版本)
./Buildit x64 (选择64位进行编译)

编译错误处理!!!

/usr/lib/libstdc++.so.: version GLIBCXX_3.4.21 not defined in file libstdc++.so. 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. with link time reference

编译完成后,出现可执行文件在X64文件夹下面

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

复制html文件夹到当前文件夹(x64)下面

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

浏览器输入:

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

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

整理文件

复制x64文件内容到指定文件夹,我这里是我自己的文件Tinywan 下面

cp EasyDarwin-7.0./EasyDarwin/x64/ ./ -r
root@iZ2363u41cdZ:/home/Tinywan# ls
EasyDarwin-7.0. EasyDarwin-7.0..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. | grep GLIBCXX

三、开启服务:

Ø  .修改配置文件

local_ip_address : 该地址为服务器公网IP地址

Ø  Linux调试运行

!!!注意:必须以Root用户启动:

否则提示错误:WARNING: You must be root to use the following RTSP port: 

./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命令行输出信息

   

测试结果:

服务器启动的时候会自动生成一下连个文件夹(服务器已经启动的话,删除掉则不会重新生成!!)

开始推流:

流媒体技术学习笔记之(十二)Linux(Ubuntu)环境运行EasyDarwin的更多相关文章

  1. 流媒体技术学习笔记之(十一)Windows环境运行EasyDarwin

    流媒体平台框架下载安装 Github下载 下载地址:https://github.com/EasyDarwin/EasyDarwin/releases 解压安装 选择Windows 安装平台的安装包( ...

  2. 流媒体技术学习笔记之(二)RTMP和HLS分发服务器nginx.conmf配置文件(解决了,只能播放RTMP流而不能够播放HLS流的原因)

    user www www; worker_processes ; error_log logs/error.log debug; #pid logs/nginx.pid; events { worke ...

  3. VSTO 学习笔记(十二)自定义公式与Ribbon

    原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel ...

  4. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  5. Binder学习笔记(十二)—— binder_transaction(...)都干了什么?

    binder_open(...)都干了什么? 在回答binder_transaction(...)之前,还有一些基础设施要去探究,比如binder_open(...),binder_mmap(...) ...

  6. java之jvm学习笔记六-十二(实践写自己的安全管理器)(jar包的代码认证和签名) (实践对jar包的代码签名) (策略文件)(策略和保护域) (访问控制器) (访问控制器的栈校验机制) (jvm基本结构)

    java之jvm学习笔记六(实践写自己的安全管理器) 安全管理器SecurityManager里设计的内容实在是非常的庞大,它的核心方法就是checkPerssiom这个方法里又调用 AccessCo ...

  7. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

  8. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  9. Dynamic CRM 2013学习笔记(十二)实现子表合计(汇总,求和)功能的通用插件

    上一篇 Dynamic CRM 2013学习笔记(十一)利用Javascript实现子表合计(汇总,求和)功能 , 介绍了如何用js来实现子表合计功能,这种方法要求在各个表单上添加js方法,如果有很多 ...

随机推荐

  1. rabbitMQ教程(三)一篇文章看懂rabbitMQ

    一.rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. 学过websocket的来理解rabbitMQ应该是 ...

  2. Asp.Net_序列化、反序列化

    .net序列化及反序列化 在我们深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制.序列化就是把一个对象保存到一个文件或数据库 ...

  3. 软件测试为何我会首选Python

    对于软件测试选择什么样的语言去学习,不同的人有不同的回答,为什么我会首选Python呢?这就要从Python的特点与适应领域说了. 一.Python的特点:优雅.明确.简单. 二.Python适合的领 ...

  4. pyinstaller将python编写的打卡程序打包成exe

    编写了一个简易的定时提醒下班打卡程序,python代码如下: #coding:utf-8 import time import datetime from tkMessageBox import * ...

  5. PAT甲题题解-1069. The Black Hole of Numbers (20)-模拟

    博主欢迎转载,但请给出本文链接,我尊重你,你尊重我,谢谢~http://www.cnblogs.com/chenxiwenruo/p/6789244.html特别不喜欢那些随便转载别人的原创文章又不给 ...

  6. ajax设置自定义请求头

    1, $.ajax({ url:apiUrl, type:"get", timeout : 5000, //超时时间设置,单位毫秒 dataType: "json&quo ...

  7. 实验 六:分析linux内核创建一个新进程的过程

    实验六:分析Linux内核创建一个新进程的过程 作者:王朝宪  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029 ...

  8. Linux第一周学习总结——计算机是如何工作的

    第一周学习总结--计算机是如何工作的 作者:刘浩晨 一.存储程序计算机工作模型 冯诺依曼体系结构:核心思想为存储程序计算机.两个层面: (1)硬件的角度(计算机主板):一个CPU,一块内存,之间有总线 ...

  9. 剑指offer:二叉搜索树的后续遍历序列

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 解题思路: 根据二叉搜索的性质,后序遍历是先搜索 ...

  10. Validform验证时可以为空,否则按照指定格式验证

    在使用Validform v5.3.2时(http://validform.rjboy.cn/) 问题:可以为空,但不为空时需要按照指定格式验证数据 查看文档: 5.2.1版本之后,datatype支 ...