EzStreamSvr 更新至3.4.0.212, 现在可以支持大华的DVR了

这个清明节多请了两天假,就为了回老家戒烟。在老家上网又不大方便(因为老家正常一年到头也只有过年的时候才有人),闲着真的好无聊,又加上前阵子左思右想想出路,陷入第二个“大学时期”,结果睡眠不足,导致牙痛,牙痛又引发喉咙痛,头也痛,浑身无力,回家那天又开了3个钟头的车,后来在床上躺了几天,用老婆的话讲,就是当了几天“皇帝”(这皇帝真不好当)。

再后来就又捡起这个EzStreamSvr搞了起来。

由于来问这个EzStreamSvr怎么做的人更多的还是视频监控行业的人,而国内的视频监控行业设备基本上都还是大华、海康的设备为主,所以,就想让EzStreamSvr也可以支持大华、海康等的设备。

不过,问题是包括大华、海康在内的、国内的这些设备,跟国外的许多视频监控的设备完全不一样。国外的基本上所有的协议都是走标准的,如:视频走HTTP或RTSP+RTP协议,命令走HTTP协议;而国内的这些所谓的大厂家,全都是直接基于TCP/UDP搞一套私有协议, 搞的乱七八糟,完全没有什么兼容性和开放性可言,更有甚之,海康早期的设备(8000系列的DVR和6000系列的DVS连视频打包都搞了一套自己的东西)。

为了解决这个问题,我只有再重新将EzStreamSvr再单独增加了一个模块来完成接入,当然,与此同时,必然的是,我也只有用他们提供的SDK来完成这个接入。

到现在为止,终于完成了一个版本,但由于时间关系,只能支持大华系列的DVR和DVS,理论上讲可以支持大华所有系列的设备。现在这个版本先放上来,跟大家分享。

这样,EzStreamSvr已经可以支持三种模式的多媒体源:

1. 从服务器采集音视频,编码后进行分发、录像和实时浏览。
2. 从标准的RTSP/RTP/RTCP的流媒体源接入视频,并进行分发、录像和实时浏览。
3. 从诸如大华,未来也可以支持海康,等任何非标准的媒体源接入视频,并进行分发、录像和实时浏览。

与上述三种模式对应的命令分别为:

1. rtsp://127.0.0.1/live.sdp
2. rtsp://127.0.0.1/relay.sdp?url=rtsp://113.196.162.124:554/user=admin&password=&channel=1&stream=0.sdp?real_stream
3. rtsp://127.0.0.1/dvr.sdp?ip=222.220.17.22&port=37777&channel=1&user=admin&pass=admin&devicelib=DH

其中:
127.0.0.1 –> EzStreamSvr的IP地址。
live.sdp, relay.sdp和dvr.sdp –> 分别对应三种不同的视频源接入模式。
后面的参数 –> 接的是视频源的具体参数, 至于具体的每一个参数的意思,我想,你懂的,呵呵(不懂再来问我)。

注意事项:

考虑到安装包越来越大,如果把VC运行库等加进去,整个安装包会超过50M,所以,我暂时把这些依赖库从安装包里拿掉了。若您在安装后发现无法打开程序,请自己去下载安装VC运行库。下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf

这个版本我还是做了两个包,一个的安装包,一个是绿色的直接解压缩后就可以用的。安装包比较大,有25M;绿色包小一点,但也有16M。两个版本没什么区别,安装包只是让人看上去专业一点,呵呵。为了节省我网站的流量,我建议下载绿色包。

产品主页:http://rg4.net/ezstreamsvr
安装包下载:http://rg4.net/p/ezstreamsvr/EzStreamSvr.7z
绿色包下载:http://rg4.net/p/ezstreamsvr/EzStreamSvr.green.7z
技术支持:service{a}rg4.net

欢迎下载使用,若您有任何问题,请不啬赐教,谢谢。

EzStreamSvr 更新至3.2.0.202

这个版本没有修改功能代码,但修复了一个重要的、会导致EzStreamSvr挂起的问题,问题在于BGCPro界面库,其在特定情况下会直接使整个程序挂起,原因未明。再加上前阵子我把我的环境升到了Win7,而使用了BGCPro界面库的程序变得相当的丑陋(WinXP下还是挺好看的),因此就直接把BCGPro界面库给废掉了。

BTW:

1. 想当年为了找这个界面库也找了N久,刚做上去的时候还觉得挺不错的,没想到会变成现在这样,所以,现在看来,这种所谓的美观真不见得完全必要,至少在这个阶段。

同时,我也会考虑再做一版没有界面的EzStreamSvr,这样的话,又可以重新启动多OS(Windows/Linux)的支持,看啥时候有时间吧。

2. 新的环境下没安装Installshield,所以暂不提供安装包的EzStreamSvr,若要使用请下载绿色版,下载地址:http://rg4.net/p/ezstreamsvr/EzStreamSvr.Green.rar

EzStreamSvr 更新至3.3.1.152

相关更新说明:从功能上讲主要是加入了relay的功能,使EzStreamSvr也可以变成一个纯粹的分发服务器,您可以使用下面这样的命令来实现和测试relay的功能:

rtsp://180.128.12.227/relay.sdp?url=rtsp://root:pass@180.128.12.225/play1.sdp

其中:

  1. 180.128.12.227:指EzStreamSvr的IP地址。
  2. rtsp://root:pass@180.128.12.225:554/play1.sdp: relay 源的请求命令。
  • root:pass:可选。若是视频源不需要认证,则可省略(省略后为:rtsp://180.128.12.225/play1.sdp)
  • 180.128.12.225:视频源的IP地址
  • 554: 视频源的端口
  • play1.sdp:视频源的rtsp地址。

具体相关修改:

V 3.3.1.152 (2011-10-30)
Seperate EzStreamSvr some OS independent functions to independent DLLs.
a. libEasyRTP
b. libEasyRTPMux
c. libEzCodec
d. libTsMux
Extend demo license to 2012-06-30

Add relay support for EzStreamSvr(Support MPEG4/H.264 Video only).

Change socket mode to IOCP.

下载地址http://rg4.net/ezstreamsvr

EzStreamSvr 更新至3.1.0.77

V 3.1.0.77 (2011-10-16)
功能:EzStreamSvr录像功能支持多种主流容器:MP4,FLV,AVI,MKV等(但存在一个问题:由于音视频同步的问题未

解决,现在变成了只支持录视频,等日后搞定了再来fix this issue)。
功能:水印功能弃用DirectShow Filter,改以ffmpeg的libavfilter替代,以使此功能可移植到各种平台。
界面:其实前阵子变戏法一样,一直在变界面,就是想找一个简单的、好看的、与功能代码可脱离的界面库,试了无数个,始终不满意。现在想想其实我真的很无聊,界面本不应该是我关注的重点,却浪费了这么多时间,所以,就此打住。

少废话,先上个图。

EzStreamSvr更新至3.1.0.77
EzStreamSvr.3.1.0.77

下载地址:http://rg4.net/ezstreamsvr

这个版本最大的一个问题是因为加了界面库和皮肤,所以,文件一下子变大了很多了。下载要注意了,可能要老半天,呵呵。

EzStreamSvr for DSS安装说明使用手册

完整文档下载:http://rg4.net/p/ezstreamsvr/EzStreamSvr.For.DSS.UserMannual.doc
产品说明:http://rg4.net/archives/171

前言

EzStreamSvr for DSS special version可以说是EzStreamSvr标准版和Darwin Streaming Server的一个扩展,因此本说明文档将主要分两部分,第一部分讲是的Darwin Streaming Server的安装和配置;第二部分才是关于EzStreamSvr for DSS special version的安装、配置和使用。

若您对本文档及本文档中所作的描述有任何的看法、意见或建议,希望您能不吝赐教。在此我表示万分感谢。

一、Darwin Streaming Server安装

由于是安装在Windows上,我采用的是Darwin Streaming Server 5.5.5,若是您没有此版本,可到RG4.NET (http://rg4.net ) – 流媒体开发论坛下载。

以下是安装步骤:

1. 下载

下载地址:http://rg4.net/p/easydss/DarwinStreamingSrvr5.5.5-Windows.exe

2. 安装

2.1 Perl 安装(可选)

由于Darwin Streaming Server安装Perl的支持,所以,若是您的电脑上原本没有安装Perl的话,在进行DSS安装前您还必须先安装Perl。但若是您的电脑上已经有安装Perl,则过跳过此环节。

Perl的安装文件您可以到其官方网站下载,也可以直接从罗索工作室下载。罗索工作室下载地址:

http://rg4.net/p/easydss/ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi

ActivePerl的安装直接依据其安装向导,Next, Next, Next即可搞定。

2.2 DSS安装

注意事项:

a. 如果您的电脑上有安装一些所谓的“安全软件”,如:360,QQ电脑管家等等,请先将它们统统退出。

b. 若是在安装了Perl后仍无法安装DSS,请确保Perl的路径有被放在电脑的系统环境变量的路径下(环境变量的path项)。

DSS在解压后,您可以直接到解压目录(默认为C:\DarwinStreamingSrvr5.5.5),点击其中的Install.bat,开始安装。

其实,这个安装很简单,一般来说,只要你预先把那些“安全软件”退出的话,那你需要做的只有两件事情:

a. 依据向导填入DSS管理员用户名.

b. 依据向导填入DSS管理员密码.

回车,跳出画面如下:

此时DSS已经被安装成功,并自动启动,其中DSS将被安装成Service(服务)模式,并随开机自动启动,您可以在控制面板 à 管理工具 à 服务那里对其可以管理。

安装的路径为: c:\Program Files\Darwin Streaming Server\

3. DSS管理

DSS除了DarwinStreamingServer.exe外,还提供了一个基于B/S架构的管理服务器,该服务器可通过以下方式在命令行里启动:

C:\> perlpath “C:\Program Files\Darwin Streaming Server\streamingadminserver.pl”

在启动管理服务器后,您可以透过浏览器来进行访问,地址:http://localhost:1220

打开后出现画面如下:

在此填入您刚才在安装阶段设定的用户名、密码,并Log In。

若是您有一天忘了自己设定的用户名、密码,没关系,重新安装一遍就可以了。

登录进去以后,会要求你设定MP3广播的密码,你可以不用理会直接Next,也可以随便给他设一个密码,该画面如下:

再下去就是设置管理服务器的安全模式,默认要求启用SSL,若是您没有SSL证书,也可完全不予理会,直接Next。

再下一步就是设定媒体文件的存放路径,根据您自己的需求来设定此目录。

之后就是RTP over HTTP的设定,若是您的应用网络比较复杂的话,可能会用到(意思就是把这个Streaming on Port 80这个勾上);若是不复杂(如:单独的网络,或者是在特定的LAN或者类LAN网络的网络环境下)的话,可以不予理会。

点击Finish,搞定!

若要更多详情,可参考安装目录下,由官方提供的README,该文件位于解开目录下,如:C:\DarwinStreamingSrvr5.5.5\readme.rtf。

二、关于EzStreamSvr for DSS

2. 1 关于EzStreamSvr for DSS

EzStreamSvr的标准版本是一个独立的、完整的、视频直播的流媒体服务器。

而考虑到大众对Darwin Streaming Server的认可度,我们特别再研发了一个版本,可以让EzStreamSvr的视频直接发布到某一台Darwin Streaming Server,再经由Darwin Streaming Server分发到各种支持流媒体的终端上。

此版本与标准版EzStreamSvr有相当的不同,甚至可以说,她是EzStreamSvr与罗索工作室的另一个产品EasyDSS(详请可浏览网页:http://rg4.net/easydss )的结合身。

下面是EzStreamSvr for DSS special version的功能及功能实现流程的简单介绍。

2.2 工作示意图

这是EzStreamSvr for DSS special version的工作示意图。

2.3 工作流程

如果要将整个流程串起来的话,我们需要从最初的请求讲起。

a. 首先是由Moc管理端向发起EzStreamSvrDSS请求,告知EzStreamSvrDSS现在有人要看某一个视频源的视频,同时告知该视频源的一些相关信息,如:视频源的地址(IP + Port)、请求方式(RTSP命令)、视频源所要求的认证信息(用户名和密码)。

b. EzStreamSvrDSS在收到上述信息后,开始向视频源获取视频。

c. EzStreamSvrDSS取到视频后,对其中的码流进行一些分析,然后再将之发布至Darwin Streaming Server。

d. Darwin Streaming Server开始接受流媒体客户端的请求。

e. 流媒体客户端向Darwin Streaming Server请求视频。

f. Darwin Streaming Server对EzStreamSvrDSS所发布的视频进行并行分发。

注:

这里必须要承认的是,此流程稍显复杂,其实标准版的EzStreamSvr已经可以在一定意义上替代Darwin Streaming Server,如果是换成标准版的EzStreamSvr的话,整个流程中可以省去Client Moc管理端的请求,以及EzStreamSvr与Darwin Streaming Server之间的多项交互,只需要一个请求即可,也即最终流媒体客户端向Darwin Streaming Server,只要标准播放器客户端发一个RTSP的命令到EzStreamSvr,EzStreamSvr即可向媒体源获取视频,然后分发到标准播放器,这样的好处是:

1)? 流程简单,可以减少意外因素导致的一些困惑。

2)? 在很大程度上减少时延。

所以正常情况下我们推荐您使用标准版的EzStreamSvr.

2.4 EzStreamSvr for DSS demo版下载

EzStreamSvr for DSS 的demo版您可以从以下地址下载:

完整服务器安装包:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.rar

单独的管理客户端安装包:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSSMoc.rar

注:其中完整服务器安装包中已经包括管理客户端,因此若是您已经安装了完整服务器,就不需要再安装管理客户端。

2.5 EzStreamSvr安装

EzStreamSvr for DSS的安装非常简单,就是解压缩EzStreamSvrDSS.rar,然后执行setup.exe,然后下一步,下一步,下一步,搞定。

如果您下载的是EzStreamSvr for DSS的绿色包,那您只需要解开,然后点击EzStreamSvr.exe执行即可。

三、EzStreamSvr for DSS使用

3. 1. 服务器

EzStreamSvrDSS服务器程序名为EzStreamSvr.exe。

其界面如下:

 

其中:

3.1.1 Darwin Streaming Server Settings

Darwin Streaming Server Settings中的稳中有各项指的是Darwin Streaming Server的各项配置,包括IP,端口,用户名,密码。

其中需要说明一下的是:

用户名和密码是您在安装Darwin Streaming Server时其安装向导要求您填入的。此外若是您的Darwin Streaming Server在安装时没有对用户名和密码做过什么硬性的配置的话,可予以忽略。

3.1.2 Server Settings

  1. Listen Port

EzStreamSvrDSS用于接收Moc管理客户端请求的端口。

  1. Log Level

EzStreamSvrDSS日志输出级别,这里设定的越大,输出的日志将会越详细。

  1. Max Stream Alive

单个视频允许在最大在线时长,超过这个时间视频将会被自动断开。

3.1.3 按钮类

l???????? 按钮Hide

点击此按钮,EzStreamSvr将会自动隐藏窗体。

l???????? 按钮Save Settings

点击此按钮,系统将会把当前窗体上的各项设定保存为一个文件,以便于下次重新运行EzStreamSvr的时候会以当前的设定来运行。其中若是您修改的管理端口,系统必须重启才能生效。

l???????? 按钮ReleaseNote

连接到官方网站(http://RG4.NET )查看本系统的发行文档。

l???????? 按钮About

连接到官方网站(http://RG4.NET )查看本系统的相关的一些文档说明。

l???????? 下拉列表

此下拉列表会实时显示当前系统运行中的各个视频源的状况。

l???????? 按钮Refresh

手动刷新当前连接中的视频源列表。

l???????? 按钮Preview

如果您有选中上面的下拉列表中的某一个视频源,通过点击此按钮您就可以实时的看到当前视频的的视频(同时与可以用于排查和确认该视频源的延时状况)。

l???????? 按钮Exit

退出EzStreamSvr。

3. 2. 管理客户端

管理客户端的界面如下:

由于我们的重点是放在服务器端,因为此管理客户端仅为一个简单的demo程序,用于方便您将您运行中的系统与EzStreamSvrDSS的整合,因为此功能与非常单一,直接发一个类似下面的命令到EzStreamSvrDSS服务器即可:

rtsp?StreamID=live&DeviceIP=218.86.232.24&DevicePort=80&DeviceCH=1&DeviceUser=root&DevicePass=pass&RTPPort=554&RTPType=1&RTSPCommand=/h264

其中:

3.2.1 StreamID

StreamID指的是EzStreamSvrDSS在将视频发布到Darwin Streaming Server时应该取的名字,假如您取的名字是live,同时Darwin Streaming Server的IP为222.22.33.44的话,那最终流媒体播放器在向Darwin Streaming Server请求视频时需要的连接命令就是:

rtsp://222.22.33.44/live.sdp

3.2.2 DeviceIP

DeviceIP指的是视频源所在的IP地址。

必需参数。

3.2.3 DevicePort

视频源的端口。必须要注意的是:通常情况下这个端口是没有任何意义,真正有用的是后面的那个RTPPort端口,我们预留这个端口的目的是为了一些可能会碰到的功能扩展。

可选参数。

3.2.4 DeviceCH

视频源的通道号。同前面的DevicePort参数,此参数在正常情况下也没人任何意义。

可选参数。

3.2.5 DeviceUser

DeviceUser将会被用于EzStreamSvr连接视频源时与视频源之间的认证。

必需参数。

3.2.6 DevicePass

同DeviceUser,将会被用于EzStreamSvr连接视频源时与视频源之间的认证。

必需参数。

3.2.7 RTPPort

注意这个参数是必须的。此参数将用于EzStreamSvr连接视频源,而非前面的DevicePort。若是检测到此参数不正确,我们将自动使用rtsp协议默认的端口:554。

3.2.8 RTPType

RTPType指的是视频源使用的RTP streaming模式。其可选值有三个,分别为0, 1, 2.

0:代表视频源使用RTP over UDP进行Streaming.

1:代表视频源使用RTP over TCP进行Streaming.

2:代表视频源使用RTP over HTTP进行Streaming.

 

在正常情况下,若是您对此项协议不是很清楚的话,我们建议您可以优先使用1,也即RTP over TCP来进行请求。

 

3.2.9 RTSPCommand

RTSP command是指用于连接视频源的请求命令,这个需要根据每个不同类型的视频源终端而定。

假定您直接连接视频源的命令是rtsp://11.22.33.44/asdf的话,那么,您在此应该填的就是/asdf。

 

如果您不知道此命令是什么的话,正常情况下我们推荐您去咨询视频源的提供者。但若是实在无法取得的话,您可以先去下载安装一个抓包工具,如:ethereal, wireshark等等来抓包获取。

若这样您对此实在不了解的话,您可以在安装好抓包工具后,向我们请求支持。

 

 

四、如何与我们取得联络

若您在使用EasyDSS中有碰到任何问题,或者有任何的意见或建议,您可以用以下方式跟我们取得联络:

Mail: service@rg4.net

或者您也可以直接到我们的网站进行留言:

http://rg4.net/ezstreamsvr

 

我们会尽快与您联络。

 

感谢您的关注和使用。

 

附录一:常见的流媒体播放器及其下载地址

常见的流媒体播放器:

1. CorePlayer(包括PC版和各种CorePlayer所支持的手机版:Windows Mobile, Symbian, iPhone, BlackBerry, etc.)

a. CorePlayer – Windows Mobile 手机版:http://bbs.rosoo.net/viewthread.php?tid=856

b. CorePlayer – Win32版: http://bbs.rosoo.net/viewthread.php?tid=6234

2. RealPlayer Embedded版(Nokia N73):诺基亚手机自带

3. VLC(PC版) :http://www.videolan.org

4. QuickTime Player Professional(PC版)

5. Android Player (Android手机内置播放器)

附录二:部分常见问题

Q: 为什么我一开始开着服务器的时候,无论电脑或者手机都可以看到视频,但是过了一段时间之后就什么也看不到了?

A: 我们提供了一个参数Max Source Alive用于设定单个视频源的最大连接时长,超过这个时间系统就会自动断开与视频源的连接。若是您还需要看该视频源的视频的时候,您只需要重新请求一下EzStreamSvr,并发送相关指令,EzStreamSvr就会重新与视频源建立连接,并发布视频到Darwin Streaming Server。

 

Q: 为什么我看到的视频是很久以前的视频?这个延时是怎么回事?

A: 坦白说此系统的功能流程具备一定的复杂度,但导致延时的最大因素是Darwin Streaming Server及播放器这两层的Cache机制,为避免您对此的疑惑,我们特别在EzStreamSvr上加了一个Preview的功能,点击此按钮,您可以实时的看到我们发布到Darwin Streaming Server时的视频,这样可以方便您对比到底是哪一层出现了延时。

 

Q: 我们有我们自己的系统平台,如果我们只是希望为我们现有的系统平台增加一个类似EzStreamSvr的视频模块,是否可以?

A: 这完全可以,我们非常乐意为您自己的系统平台做相关的订制。

 

Q: 我们只是需要一个类似EzStreamSvr的平台,但不需要订制,EzStreamSvr是否可以提供相关的SDK开发包,让我们可以自行开发相应的系统功能?

A: 事实上ClientTest就是一个简单的EzStreamSvr管理端程序,如果您有这方面的需要,我们可以提供EzStreamSvr的协议,以及ClientTest的源码,以利于您的开发,如果您有这方面需要,请随时告知我们。

 

EzStreamSvr 发布一个支线版本:EzStreamSvr for DSS

EzStreamSvr的标准版本是一个独立的、完整的、视频直播的流媒体服务器。

考虑到许多人对Darwin Streaming Server的认可程度,EzStreamSvr又出现了一个支线版本:EzStreamSvr for DSS。它可以让EzStreamSvr的视频直接发布到某一台Darwin Streaming Server,再经由Darwin Streaming Server分发到各种支持流媒体的终端上,使其可以把视频发布到Darwin Streaming Server,以撑大容量,扩充性能。

此版本与标准版EzStreamSvr有相当的不同,甚至可以说,她是EzStreamSvr与罗索工作室的另一个产品EasyDSS(详请可浏览网页:http://rg4.net/easydss )的结合身。

以下是这个版本的架构图:

EzStreamSvr架构图
EzStreamSvr架构图

下载地址:
安装版:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.rar
绿色版:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.Green.rar

安装说明及使用手册请浏览网页: http://rg4.net/archives/185

 

EzStreamSvr 更新至1.6

V 1.6 (2011-08-07)
?这几个月一直在做一个Linux上的视频监控平台,忙得死去活来,一直都没时间来看这个东西。前阵子在一个北京的

网友的建议下,我把这个东西放到了RG4.NET上,特地修改了一下程序的界面。

V 1.5 (2010-12-05)
?这又是一个milestone。思前想后,还是决定把原来的架构抛弃,这一方面是发现使用boost在windows下有许多一下

子解决不了的问题,另一方面,功能做得太杂了,又是支持Darwin Stream Server的Relay out,又支持自己利用JRTPLib来

Streaming,真的没什么必要,这只是一个自己做着玩的东西,没必要那么复杂。所以,以后的EzStreamSvr会变成这样:
?1. Windows / Linux各自做一套
?2. Windows下不再使用boost
?3. 去掉宣告到Darwin Streaming Server相关功能。
?4. 其它一些必要的改动……

V 1.4 (2010-11-28)
?BUG FIX:修改jrtplib,使用之可以动态修改RTP包中的sequence number及timestamp,以满足特定网络情况下丢包

重发的问题。

V 1.3 (2010-08-29)
?功能:修改RTSP/SDP相关代码,以支持手机版RealPlayer(在Nokia N73手机上测试通过)
?其它:将Boost升级至1.44.0。

V 1.2 (2010-08-07)
?界面:加入实时Log输出,以实时观察服务器运行状态。
?BUG FIX: 将Boost升级到最新版本1.43.0,以期解决在未插网线情况下boost handle resolve出错的问题。

V 1.1 (2010-02-28)
?BUG FIX: 以为够稳定了,结果在Windows下还是发现一些问题,程序开几个钟头后,会出现连接错误,继续修改。

V 1.0 (2010-02-18)
?功能:加入P2P NAT STUN控制,以支持部分3G网络下无法看到视频的问题。
?BUG FIX:过年没事做,改了许多之前留下来的问题。现在看上去程序似乎够稳定了,升到1.0,呵呵。

V 0.4 (2010-01-31)
?功能:加入Dual Stream(多码流)功能,由配置文件进行配置,使同一个视频源可同时支持多种不同格式的视频流,

如一种高码流、高解析度的视频给电脑看,一种低码流、低解析度的视频给手机看。

V 0.3 (2009-12-26)
?功能:架构大调整,将几部分的功能独立成一个个的控件。
??Windows: libEzDXCapture.dll, libCaptureAudio.dll, libEzCodec.dll
??Linux: libEzV4LCauture.so, libEzCodec.so

V 0.2 (2009-12-19)
?功能:架构大调整。用STL、Boost改写整个程序,使用其实绝大部分代码可同时支持Windows、Linux等操作系统。
?功能:支持Linux。
?功能:支持H.264 视频格式(当前可支持MPEG-4 + H.264)

V 0.1 (2009-02-01)
?功能:加入通过宣告到Darwin Streaming Server进行Relay Streaming。
?BUG FIX: 修正SDP中视频编码config错误。
?BUG FIX: 修正视频采集时会在C盘生成CAPTURE.AVI的问题。

V 0.0.1 (2009-01-03)
?支持MPEG-4视频。
?第一个版本。

EasyDSS 安装使用手册 v1.0

EasyDSS安装使用手册 (v 1.1)

完整文档下载:EasyDSS.User.Mannual

前言

由于EasyDSS是Darwin Streaming Server的一个扩展,因此本说明文档将主要分两部分,第一部分讲是的Darwin Streaming Server的安装和配置;第二部分才是关于EasyDSS的安装、配置和使用。
若您对本文档及本文档中所作的描述有任何的看法、意见或建议,希望您能不吝赐教。在此我表示万分感谢。

一、Darwin Streaming Server安装

由于是安装在Windows上,我采用的是Darwin Streaming Server 5.5.5,若是您没有此版本,可到罗索工作室 – 流媒体开发论坛下载。
以下是安装步骤:

1. 下载
下载地址:http://rg4.net/p/easydss/DarwinStreamingSrvr5.5.5-Windows.exe

2. 安装
2.1 Perl 安装(可选)
由于Darwin Streaming Server安装Perl的支持,所以,若是您的电脑上原本没有安装Perl的话,在进行DSS安装前您还必须先安装Perl。但若是您的电脑上已经有安装Perl,则过跳过此环节。
Perl的安装文件您可以到其官方网站下载,也可以直接从罗索工作室下载。罗索工作室下载地址:
http://rg4.net/p/easydss/ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi
ActivePerl的安装直接依据其安装向导,Next, Next, Next即可搞定。
2.2 DSS安装
注意事项:
a. 如果您的电脑上有安装一些所谓的“安全软件”,如:360,QQ电脑管家等等,请先将它们统统退出。
b. 若是在安装了Perl后仍无法安装DSS,请确保Perl的路径有被放在电脑的系统环境变量的路径下(环境变量的path项)。

DSS在解压后,您可以直接到解压目录(默认为C:\DarwinStreamingSrvr5.5.5),点击其中的Install.bat,开始安装。
其实,这个安装很简单,一般来说,只要你预先把那些“安全软件”退出的话,那你需要做的只有两件事情:
a. 依据向导填入DSS管理员用户名.
b. 依据向导填入DSS管理员密码.

回车,跳出画面如下:

此时DSS已经被安装成功,并自动启动,其中DSS将被安装成Service(服务)模式,并随开机自动启动,您可以在控制面板 ? 管理工具 ? 服务那里对其可以管理。
安装的路径为: c:\Program Files\Darwin Streaming Server\

3. DSS管理
DSS除了DarwinStreamingServer.exe外,还提供了一个基于B/S架构的管理服务器,该服务器可通过以下方式在命令行里启动:

C:\> perlpath “C:\Program Files\Darwin Streaming Server\streamingadminserver.pl”

在启动管理服务器后,您可以透过浏览器来进行访问,地址:http://localhost:1220
打开后出现画面如下:

在此填入您刚才在安装阶段设定的用户名、密码,并Log In。
若是您有一天忘了自己设定的用户名、密码,没关系,重新安装一遍就可以了。

登录进去以后,会要求你设定MP3广播的密码,你可以不用理会直接Next,也可以随便给他设一个密码,该画面如下:

再下去就是设置管理服务器的安全模式,默认要求启用SSL,若是您没有SSL证书,也可完全不予理会,直接Next。

再下一步就是设定媒体文件的存放路径,根据您自己的需求来设定此目录。

之后就是RTP over HTTP的设定,若是您的应用网络比较复杂的话,可能会用到(意思就是把这个Streaming on Port 80这个勾上);若是不复杂(如:单独的网络,或者是在特定的LAN或者类LAN网络的网络环境下)的话,可以不予理会。

点击Finish,搞定!

若要更多详情,可参考安装目录下,由官方提供的README,该文件位于解开目录下,如:C:\DarwinStreamingSrvr5.5.5\readme.rtf。

二、关于EasyDSS
2. 1 关于EasyDSS
EasyDSS是可以作为Darwin Streaming Server的一个扩展,同时由于EasyDSS支持transcode的功能,这样也使得您可以用一个连接地址来对N个媒体文件来进行拼接播放。
同时可指定transcode的各项参数,使一个本来用于在电脑播放的D1的文件transcode成比较小的适合手机播放视频,以实现各种不同的应用需求。

2.2 EasyDSS demo版下载
EasyDSS的demo版您可以从以下地址下载:
完整服务器安装包:http://rg4.net/p/easydss/EasyDSS.rar
单独的管理客户端安装包:http://rg4.net/p/easydss/EasyDSSMoc.rar

注:其中完整服务器安装包中已经包括管理客户端,因此若是您已经安装了完整服务器,就不需要再安装管理客户端。
2.3 EasyDSS安装
EasyDSS的安装非常简单,就是解压缩EasyDSS.rar,然后执行setup.exe,然后下一步,下一步,下一步,搞定。

三、EasyDSS使用
3. 1. 服务器
EasyDSS服务器程序包括两个exe,一个是EasyDSS.exe,另一个则是RsSvrDog.exe。正常您只需要从开始菜单或者快捷方式启动即可(成功安装EasyDSS后,会在桌面生成一个快捷方式:EasyDSS,点击执行)。
3. 2. 管理客户端
EasyDSS的管理客户端的程序员是EzDSSMoc.exe。
3.2.1 启动与登录
双击打开该程序

其中EasyDSS默认的用户名、密码为:
用户名:root
密码:rosoo.net

若您是从远程登录到EasyDSS服务器进行管理,请将此中的IP地址(127.0.0.1)改成您实际的服务器的IP地址。

点击OK登录进去:

下面详细介绍此画面中的功能:
3.2.2 按钮类功能介绍
? Refresh
Refresh按钮是用于刷新服务器中当前的播放列表,及每个播放列表中包含的文件等信息。
? Playlist
点击Playlist按钮可实时新增一个播放列表项。
注:单单新增播放列表并不能看视频。在新增了播放列表后,你还必须为此播放列表新增媒体文件,这样服务器才会开始工作。
? Reboot
强制重启服务器端。慎用!!!
? ReleaseNote
点击此按钮将会连接到EasyDSS的官方网站,您可以在那儿看到EasyDSS当前最新的信息,若您有任何问题也都可以在那儿进行提问。
? About
关于EzDSSMoc。
? Contact
通过mail方式与我们联络。

3.2.3 菜单功能介绍
若您的服务器中已经有一个或者若干个播放列表,您可以在此先选中一个您要进行操作的播放列表,然后按右键,系统会跳出一个菜单,如下图:

以下将逐项的对此菜单中的各个项目进行介绍:
? Start Playlist
强制服务器开始此播放列表,但若是此播放列表当前已经在播放中,系统不会重头开始,而是继续当前的运行状态。
? Stop Playlist
强制停止当前播放列表。
? Update Playlist
更新播放列表。
? Delete Playlist
删除播放列表,同时若该列表当前在运行中,也会强制令其停止。
? Maintain FileList
管理当前选中的播放列表下的文件列表。

3.2.3 播放列表管理
其中前面提到的菜单项? Update Playlist,? Delete Playlist和按钮类的Playlist都会跳出类似下图的一个界面:

这里边有几个栏位:
? SDP
SDP栏位是指服务器生成的RTSP的SDP名字。此栏位一旦输入后就不再允许更改。为避免混淆,在此特别举一个例子,以便您能更深刻的了解此栏位的意义。
假设您的服务器IP为192.168.1.100,然后,您为您的服务器新增了一个播放列表,其SDP栏位的值为abcd,同时也为此播放列表添加了若干个媒体文件,这样此播放列表就可以正式工作了。而若有客户端需要看此播放列表的视频,他/她就需要用以下这种方式来进行访问:
rtsp://192.168.1.100/abcd.sdp
? Name
此栏位仅仅是一个名称,用于自行记录,在系统运行中无实际意义。
? Loop
若是此栏位被选中,则代表当前播放列表中的媒体文件将会不断的、按顺序的、重复的进行播放;但若是未被选中,则在播放完当前播放列表下的所有媒体文件后,自动停止工作。

3.2.4 媒体文件管理
要对媒体文件进行管理,您需要先保证服务器端已经存在至少一个播放列表,并在EzDSSMoc的主界面中选中的播放列表,然后右键,弹出菜单,并在菜单项的选择? Maintain FileList来进行管理。
选中菜单项后会跳出界面如下

在这个画面中,
a. 列表框
上面的列表框是指当前播放列表下存在的所有文件列表,若是您发现此中有任何不正确的值,您只要先退出本画面,然后在EzDSSMoc的主界面中点一下? Refresh这个按钮,即可得到当前服务器中最新的数据。
b. SDP
SDP是指您选中的播放列表的SDP名称。此栏位是不允许更改的。
c. File
File是指您要新增的媒体文件全路径。
这里您必须要注意的是,此中的文件是指在服务器上的文件,并且路径必须是全路径。

四、如何与我们取得联络
若您在使用EasyDSS中有碰到任何问题,或者有任何的意见或建议,您可以用以下方式跟我们取得联络:Mail: service@rg4.net
或者您也可以直接到我们的网站进行留言:http://rg4.net/archives/13.html

我们会尽快与您联络。

感谢您的关注和使用。

EzStreamSvr 视频直播系统

这是一个标准的、基于RTP的流媒体服务器,服务器端捕捉第一个USB摄像头的视频,并编码成H.264 or MPEG4的视频,并打包以RTP的协议发送给客户端,可以在任何支持标准RTP的Windows客户端、Linux客户端、Mac客户端、 Windows Mobile手机客户端、Symbian手机客户端浏览实时视频。

当然,理论上讲是可以支持上述的客户端,但我个人测试的有:

1. CorePlayer(包括PC版和各种CorePlayer所支持的手机版:Windows Mobile, Symbian, iPhone, BlackBerry, etc.)

2. RealPlayer Embedded版(Nokia N73)

3. VLC(PC版)

4. QuickTime Player Professional(PC版)

5. Android Player (Android手机内置播放器)

相关软件可以在流媒体开发论坛下载到。

此外:

目前只支持视频,本想把音频也加进去的,但由于时间关系,本版本暂不支持音频。

若有哪个仁兄对此Streaming Server的实现感兴趣,可与我联络:

我的mail:service{at}rosoo.net.

相关下载:

EasyDSS 视频点播系统 v2.1

EasyDSS 版本更新到v2.1.0.30
EasyDSS

系统概述

Easy DSS视频点播系统模块是流媒体服务平台解决方案的重要模块之一,可以独立运营,也可提供嵌入到各种对视频有要求的系统平台中(如:网络授课系统、视频点播系统、安防监控系统等等)。

整个模块基于C/S架构,采用业界最优秀的流媒体服务器之一的Darwin Streaming Server内核,除支持MPEG-1、MPEG-2、MPEG-4、H.264、VC-1等多种标准编码格式的众多主流媒体格式及avi、asf、 wmv、mp4、mov、rm、rmvb、flv、3GP等等全格式的文件Container容器外,还支持所有非媒体流格式(需订制),同时采用完整 Profile的转码技术,同一个视频源可同时转码成多种不同的Profile,以适应不同的客户端, 支持从1080P、720P等高清客户端(如:PC电脑、专门的高清流媒体播放终端),到QCIF、QQVGA的小型终端(如:手机、MCU等)。采用标 准RTP协议(包括RTP over UDP、RTP over TCP、RTP over HTTP),全面实现对多网卡、跨网段、跨路由、跨防火墙的支持。单服务器支持1000并发流(无缓冲)。

EasyDSS内核

流媒体服务平台的一个关键技术,是其并发分发的性能,Easy DSS业界最优秀的流媒体服务器Darwin Streaming Server作为其分发的内核。使用 Easy DSS技术的单台服务器可以提供1000个并发流。

流媒体平台对比 EasyDSS
流媒体服务平台
Microsoft MediaService REAL HelixServer
单服务器并发数 1000~1200 400~500 200~400

注:
1、Media Service、Helix Server还包括所有用这两系统的SDK开发的流媒体系统。
2、采用EasyDSS的平台单机并发性能是Media Service、Helix Service以及采用两平台SDK进行二次开发系统的2~3倍。

全格式媒体文件支持

通常许多流媒体服务器都会受限于媒体文件的格式,只能支持其中一种或者几种媒体文件,这样用户必将受限于媒体文件格式,当媒体文件源是不支持的格式 的时候,只能通过转换格式来实现,而这样对用户来说,无论在管理上,还是质量上都会带来许多的不便和不利。而EasyDSS平台模块可以支持全格式的媒体 文件,这无疑将对您的整个系统带来相当大的便利。

转码技术

一般情况下,一个片源文件只能分发出一种格式的视频:如果这个格式是高清的,那手机就不能看;但是如果你提供的视频源是适合手机看的,那即使客户使用的支持大解析度的PC,效果也肯定只能到达视频源的效果。

而EasyDSS提供了一整套的转码技术,为您的各种困惑提供帮助:

1. EasyDSS可以让您的大解析度的视频源,也可以转码成适合手机看的视频,且同时支持视频源解析度的流媒体分发和转码后的适合手机源的视频。

2. 由于一些终端(如:手机)或者播放器的限制,可能该终端只能支持特定编码格式的视频,那EasyDSS的转码技术将无缝的为您提供支持。

3. 您的视频源可能是来自其它应用平台的多种不同编码格式的视频,经过EasyDSS后,可以让所有接入到您的平台的视频都变成统一的、标准的格式,这样您只要使用一个单一的播放器,即可实现所有视频的支持。

相关下载: