视频直播


随着视频相关技术的进步和新产品的出现,人们对于在网络中实现直播的需求也越来越多。本文给出一个在网络中实现直播的解决方案,本方案可以用于把直播电视引入到网络中,也可以用于直播会议,讲座等,也就是实现“现场直播”。 方案采用当前网络中比较流行的视频格式,也就是flash。很多视频分享站点都采用flash,国际上比如Google的Youtube视频分享站点,国内比如土豆。 方案尽可能避免采用商业软件,至少避免采用付费软件,尽可能采用开源的产品。用到的产品有: 3.1 red5 0.9.0 wordpress 3.0.1 wordpress plugin – Flash Video Player 5.0.4 还需要一个采集卡或者摄像头。 第一步要做的就是依次安装上述软件,如果想实际运营,比较理想的是把Adobe Flash Media Live Encoder,red5以及wordpress分别安装在不同的计算机或者服务器上,如果仅仅是为了测试,这样的安装就没有什么必要了。然后在 wordpress上安装Flash Video Player插件。 第二步当然是启动Adobe Flash Media Live Encoder,red5以及wordpress三个服务。 第三步启动实时内容注入,这是在Adobe Flash Media Live Encoder上完成的。无非是选择视频采集设备,音频采集设备,在输出配置中的FMS URL一栏,填入如下内容:rtmp://ip.of.the.red5/oflaDemo,在Stream一栏填入:livestream。然后启动编码。 第四步在wordpress的管理页面新建一个Post,并加入如下内容,且内容需要用中括号括起来: flashvideo streamer=rtmp://ip.of.the.red5/oflaDemo file=livestream type=video / 最后用浏览器打开wordpress中刚刚加入的那个Post,会看到一个Flash播放器,开始播放。 ok? 顺便提一下,如果是点播,那么只是file=…的文件名不一样,比如oflaDemo就提供了avatar.flv等多个flv视频用于点播测试,在streams目录里。

一个基于flash的直播电视解决方案


11
这个清明节多请了两天假,就为了回老家戒烟。在老家上网又不大方便(因为老家正常一年到头也只有过年的时候才有人),闲着真的好无聊,又加上前阵子左思右想想出路,陷入第二个“大学时期”,结果睡眠不足,导致牙痛,牙痛又引发喉咙痛,头也痛,浑身无力,回家那天又开了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.4.0.212, 现在可以支持大华的DVR了


5
这个版本没有修改功能代码,但修复了一个重要的、会导致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.2.0.202



10
由于之前的版本在Windows 7下面跑总是有问题(视频采集的原因),恰好前两天安装了Windows 7,所以今天就把代码再稍微改了一下下,终于,EasyRTMP也可以支持Windows 7了。 此外,由于EasyRTMP/EzStreamSvr/EasyDSS等等工程其实有很多很多的代码都是重复了,为了日后维护的方便,特地把许多功能独立成一个个的DLL,这样,每个工程都可以使用,同时,万一发现什么问题,也可以只改一个DLL就可以了,不需要所有的工程都去改一遍。所以,这也是一个大变革(对于软件工程而言,并不是针对功能)。 建议大家下载新的程序使用。 下载地址:http://rg4.net/easyrtmp 介绍说明:http://rg4.net/easyrtmp    

EasyRTMP更新到1.3.0.41


3
前两天发现EzStreamSvr在以Relay模式下分发高清的视频(300万像素,解析度为1920*1280)时,若对视频进行预览,会导致EzStreamSvr挂掉,现已修复这个问题。 除这个问题外,本版本还解决了一些其他的小问题,就小在此详述了。 欢迎大家随时回报使用中发生的任何问题,问题请寄到:EzStreamSvr {a} rg4.net。在此表示万分感谢。 下载地址:http://rg4.net/ezstreamsvr 介绍说明:http://rg4.net/ezstreamsvr

EzStreamSvr 更新到3.3.2.183




1
相关更新说明:从功能上讲主要是加入了relay的功能,使EzStreamSvr也可以变成一个纯粹的分发服务器,您可以使用下面这样的命令来实现和测试relay的功能: rtsp://180.128.12.227/relay.sdp?url=rtsp://root:pass@180.128.12.225/play1.sdp 其中: 180.128.12.227:指EzStreamSvr的IP地址。 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 […]

EzStreamSvr 更新至3.3.1.152


1
V 3.1.0.77 (2011-10-16) 功能:EzStreamSvr录像功能支持多种主流容器:MP4,FLV,AVI,MKV等(但存在一个问题:由于音视频同步的问题未 解决,现在变成了只支持录视频,等日后搞定了再来fix this issue)。 功能:水印功能弃用DirectShow Filter,改以ffmpeg的libavfilter替代,以使此功能可移植到各种平台。 界面:其实前阵子变戏法一样,一直在变界面,就是想找一个简单的、好看的、与功能代码可脱离的界面库,试了无数个,始终不满意。现在想想其实我真的很无聊,界面本不应该是我关注的重点,却浪费了这么多时间,所以,就此打住。 少废话,先上个图。 下载地址:http://rg4.net/ezstreamsvr 这个版本最大的一个问题是因为加了界面库和皮肤,所以,文件一下子变大了很多了。下载要注意了,可能要老半天,呵呵。

EzStreamSvr 更新至3.1.0.77


2
EzStreamSvr For DSS版本更新到2.3.0.31。 新的版本已经可以支持将视频录制成AVI文件。无论前端的视频源是MPEG-4格式,还是H.264格式,现在我们都可以将之录制成一个标准的AVI视频,让一个普通的播放器(如:Windows自带的Media Player)就可以回放录制下来的视频。 由于加了录像功能,因此在配置文件格式及界面上也有了一点小小的调整,主要是加入与录像设定相当的配置及界面。 新界面如下: 欢迎大家下载使用。 下载地址:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.rar

EzStreamSvr For DSS现在支持将视频录制成AVI文件



4
完整文档下载: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电脑管家等等,请先将它们统统退出。 […]

EzStreamSvr for DSS安装说明使用手册


3
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 )的结合身。 以下是这个版本的架构图: 下载地址: 安装版:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.rar 绿色版:http://rg4.net/p/ezstreamsvr/EzStreamSvrDSS.Green.rar 安装说明及使用手册请浏览网页: http://rg4.net/archives/185  

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


这个周末本应该是一个难熬的周末,妈妈带女儿去看生病中的外婆,老婆跟团去舟山祭拜普陀山,于是剩下我孤家寡人一个,好不凄惨。不过,这样带来的好处是也没人来管我的,也就意味着又可以玩通宵了,呵呵。 这两个通宵的结果还是比较显著的,我把EzStreamSvr一下子从2.1升到了3.0。当然这不是随便乱升的,肯定是加了不少得意之作,诸如支持录像,支持所有参数的设定等等。 不废话了,上图。 若想一睹为快,请到此处下载。 下载地址:http://rg4.net/ezstreamsvr

EzStreamSvr 更新到3.0.0.54



EzStreamSvr 版本更新至 2.1.0.33 2
目前EzStreamSvr可以同时Streaming音频和视频,且支持多个摄像头,及Dual Stream(多码流)功能,是同一个视频源在同一时间内既可以提供适合电脑观看的大解析度的高清的视频,又可以提供适合手机看的小解析度的低码流的视频。 EzStreamSvr简易使用说明文档: Windows版:http://rg4.net/p/ezstreamsvr/EzStreamSvr.For.Windows.Deploy.Guide.doc Linux版:http://rg4.net/p/ezstreamsvr/EzStreamSvr.For.Linux.Deploy.Guide.doc EzStreamSvr v2.0 for Windows版下载:http://rg4.net/p/ezstreamsvr/EzStreamSvr.rar Linux版暂停更新。 ———————————————————- V 2.0 (2011-08-08) 功能:先把音频加了一种进去(PCMA),让EzStreamSvr可以支持音视频。 功能:加强RTCP控制,但发现丢包尚未处理重发。 功能:更强大的Dual Stream支持。 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) […]

EzStreamSvr 升级到 v2.1.0.33


1
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 […]

EzStreamSvr 更新至1.6


这是一个标准的、基于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. 相关下载: EzStreamSvr程序下载 EzStreamSvr安装手册 EzStreamSvr使用手册 CorePlayer下载 VLC下载 QuickTime Player下载

EzStreamSvr 视频直播系统