流媒体技术学习笔记之(十二)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/ ./ -rcp ../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命令行输出信息

   

测试结果:

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

开始推流:

 

时间: 2024-07-30 07:24:35

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

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

user www www; worker_processes 1; error_log logs/error.log debug; #pid logs/nginx.pid; events { worker_connections 65535; } rtmp { server { listen 1935; application live { live on; record off; } application live2 { live on; record off; } # applicatio

WPF and Silverlight学习笔记(十二)

WPF and Silverlight学习笔记(十二):WPF Panel内容模型.Decorator内容模型及其他 一.Panel内容模型 Panel内容模型指从 System.Windows.Controls.Panel继承的控件,这些控件都是容器,可以在内部 承载其他的控件和子容器.Panel内容模型包含的容器有: Canvas DockPanel Grid TabPanel ToolBarO verflowPanel UniformGrid StackPanel ToolBarPanel

Mysql学习笔记(十二)触发器

原文:Mysql学习笔记(十二)触发器 学习内容: 1.触发器: 什么是触发器?我们什么时候能够使用触发器?   触发器就是用来监听某个表的变化,当这个表发生变化的时候来触发某种操作..比若说两个表是相互关联的,当我们在对其中一个表格进行操作的同时,另一个表内的数据也需要进行某种操作,那么我们就需要建立一个触发器来监听任何一个表发生的变化,当其中一个表的数据发生变化的同时,触发器里的代码块将会对另一个表格进行对数据的某种操作.. 总而言之,触发器一般是使用在表与表之间的,单个的表建立触发器是没有

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

原文:VSTO 学习笔记(十二)自定义公式与Ribbon 这几天工作中在开发一个Excel插件,包含自定义公式,根据条件从数据库中查询结果.这次我们来做一个简单的测试,达到类似的目的. 即在Excel 2010中添加一个Ribbon,包含4个自定义公式:仅仅是示例公式加减乘除. 最终效果: 测试代码下载   1.解决方案包含两个项目: ExcelAddIn:Excel 插件 ExcelUDF:Excel 自定义公式 2.首先创建一个Excel 2010 Add-in项目: 3.添加一个可视化Ri

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

[正文] 这一周状态不太好,连续打了几天的点滴,所以博客中断了一个星期,现在继续. 我们在之前的几篇文章中学习了JDBC对数据库的增删改查.其实在实际开发中,一般都是使用第三方工具类,但是只有将之前的基础学习好了,在使用开源工具的时才能得心应手.如果对JDBC基础不太清楚,或者对本文看不太懂,建议先回顾一下本人之前的几篇和"MySQL数据库学习笔记"相关的文章.但是不管怎样,今后如果用到了数据库的增删改查,肯定是这篇文章中的代码用的最多. 一.DbUtils简介: DBUtils是ap

【PMP】Head First PMP 学习笔记 第十二章 采购管理

第十二章 采购管理 某些工作就是太大,以至于你的公司无法自行完成. 找到合适的卖方,选择正确类型的关系并确保合同的目标被打成. 有时候,你需要雇用外部公司做一部分的项目工作.这叫做采购(procurement),该外部公司被称为卖方. 项目采购管理包括合同管理和变更控制过程 规划采购管理 实施采购 控制采购 结束采购 项目采购管理围绕包括合同在内的协议来进行.协议是买卖双方之间的法律文件. 合同也可称作协议.谅解.分包合同或订购单. 在合同生命周期中,卖方首先是投标人.然后是中标人,之后是签约供

流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务

FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy 红色标记表示视频设备和麦克风设备 看到乱码了吧!来这里查看哦   FFmpeg编码推送到RTMP服务器 ffmpeg -f dshow -i video="Lenovo EasyCamera":audio="麦克风 (Realtek High Definition Audio)

流媒体技术学习笔记之(十八)互联网草案HTTP直播流2017年5月

 原文地址:https://tools.ietf.org/html/draft-pantos-http-live-streaming-23 1.HTTP直播流介绍 HTTP实时流媒体提供了一个可靠的,成本效益的手段通过互联网提供连续和长时间的视频.它允许接收器使媒体的比特率适应当前网络条件,以保持不间断播放最好的质量.它支持插页式内容边界.它为媒体加密提供了一个灵活的框架.它可以有效地提供相同内容的多个呈现,例如:音频翻译.它提供了与大规模HTTP的兼容性缓存基础设施以支持向大量受众传递. 自2

流媒体技术学习笔记之(十六)H264编码profile & level控制

H.264有四种画质级别,分别是baseline, extended, main, high: 1.Baseline Profile:基本画质.支持I/P 帧,只支持无交错(Progressive)和CAVLC: 2.Extended profile:进阶画质.支持I/P/B/SP/SI 帧,只支持无交错(Progressive)和CAVLC:(用的少) 3.Main profile:主流画质.提供I/P/B 帧,支持无交错(Progressive)和交错(Interlaced), 也支持CAV