EasyDarwin Getting Started

来源:互联网 发布:交换机端口协商命令 编辑:程序博客网 时间:2024/04/29 15:08

今晚上把EasyDarwin跑了起来,本人没有流媒体基础,三天前不知道流媒体为何物,更没有听说过EasyDarwin。所以这篇文也是写给第一次听说EasyDarwin,刚下载完源码不知道下一步怎么干的人。

这是一个主要由国人维护的项目,和国际接轨就差一些。下载下来两三百M的东西,看着非常杂,编译系统也没有使用CMake之类,直接一个sln放上去。而且依赖是直接编译好扔进去的,感觉怪怪的,也有好处吧,反正国内几乎都是用的vs。

关键是没有正经的文档。至少我没找到。不知道怎么使用,Getting Started应该是必备的东西。


这篇文章干的事情就是,使用EasyDarwin,显示一些视频。


首先,打开英文wikipedia,看几个词条,streaming media,RTP, RTCP,RTSP;

然后,到Github上,下载EasyDarwin项目代码,看上面的Readme;

打开EasyDarwin/EasyDarwin/WinNTSupport下的EasyDarwin.sln;编译。


到这里,找到输出的exe文件,EasyDarwin.exe,这就是最主要的服务器程序了。别的教程上有好几个什么安装成服务的,可以不管。直接在命令行运行搞清楚再说别的。

然后,运行 EasyDarwin.exe -d,就会出来一个到处被提到的配置文件,easydarwin.xml。使用文本编辑器打开,可以看到配置信息。比如service_lan_port,rtsp_wan_port等。这个项目主页里都有介绍。最好把RTSP_debug_printfs由false改为true。这样服务器有活动时会打印相应的信息。修改后要重启EasyDarwin服务器。

再次执行EasyDarwin.exe -d,这时服务器就启动了,配置使用的是本目录下的easydarwin.xml。正确的打开方式应该是EasyDarwin.exe -c easydarwin.xml -d。


使用那个检测链接检测是不是可以连上服务器:http://localhost:10008/api/v1/getserverinfo

返回一个json就说明服务器启动了,并且连接没问题。


下面要干点啥呢,开始想的是,像其他教程那样,设置一个Movies文件夹,拷个mp4,然后在播放器里用串流地址播放。然而没有成功。我xml里配置的movie_folder配置好了,mp4也拷进去了。但是用播放器(这里使用vlc播放器,亲测potplayer不太行,不知道哪里的问题)来打开,类似这样:rtsp://localhost:10554/test.mp4,无法播放,会报错。看服务器的输出,有个什么Internal Server Error。说明连接问题不大,但是就是不能播放。不知道谁能解决下。我看项目上有句话说,EasyDarwin不支持点播,商用版本支持点播。那这个播放方法应该是点播了?Github上的就是非商业版么?

还有一个严重问题,连不上服务器的管理界面,应该是这个:http://localhost:10080/,原则上应该出来输入用户名密码的东西(据说都是admin),但是我总是connection refused,不知道怎么解决。


然后就看那个直播的。需要EasyPusher或者live555。就试试EasyPusher吧。到对应的项目上,下载了源码。打开工程,(有两个sln,好像不太一样,都试试吧),编译。报错,一大堆什么LPDIRECT3D未定义什么的。最后找到这里,http://www.programmer-club.com.tw/ShowSameTitleN/directx/4952.html,在每个报错的cpp开头,加上这样一句:#define __D3DRM_H__。一定要在stdafx.h紧邻的后面。有好多!改好就能编译通过了。对了我用的是Visual Studio2015。

找到EasyPusher.exe,双击,报错没有libEasyPusher.dll,然后在项目里搜索这个dll,拷进去,再运行,就可以了!

打开是4个小窗口的程序。应该是这个程序采集了图像,编码了发给EasyDarwin服务器。如果有播放器请求播放,EasyDarwin再把这个图发给播放器。就是通过EasyDarwin服务器来中转。记得设置好正确的ip和端口,具体说,127.0.0.1和10554。测了一个电脑摄像头和一个屏幕录像。这里注意!不知道应该在播放器中输入的地址是啥,但是按EasyPusher的Start时,在EasyDarwin服务器上,有输出应该使用的地址!比如,rtsp://127.0.0.1:10554/stream0.sdp/stream0.sdp

打开vlc,打开网络,输入rtsp://127.0.0.1:10554/stream0.sdp/stream0.sdp,稍等片刻,就可以既在EasyPusher看到采集的摄像头图像,又在播放器中看到串流的图像了。

窗口截屏也同样可以正常工作。http://localhost:10008/api/v1/getrtsplivesessions,可以看到正在进行的live直播。


这样,至少跑起来了。后面还有很多可以学习的地方。


0 0
原创粉丝点击