January 2010

You are currently browsing the monthly archive for January 2010.

windows server

虽然我前期计划了那么多,但是最后部署的还是10台windows server 2008…

HA,NLB之流,我应该是9年前就拿了MCSE的证书

即使现在标榜着linux线路的系统管理员,设置起windows来依然没什么问题

我都忘记当年为什么改方向了

windows的操作及设置都很直观简单,非常容易上手

以至于操作者除了手册上介绍的步骤和ts之外,完全摸不着头脑

出现故障无从下手,即使积累了多年经验,会解决一些问题,还是会有很多纯粹经验的解决过程

到底怎么回事儿?只有天知道…

我的需求挺简单,现场采集视频信号,传输给服务器,再由服务器广播出去

前些年,我会毫不犹豫的选择windows media encoder + windows media services
轻车熟路,何乐而不为
不过呢,这个技术线路现在很少见,估计也在被淘汰的边缘了
作为一名进步青年,我决定尝试新技术

身边看得到的,还有个vlc
sjtu用它部署了挺大范围的视频转播系统
这是个非常好的方案,只有一个问题,它要求客户端安装软件
除此之外,我还真的很少见到vlc被部署到窄带视频应用上
(其实我也就见过sjtu的一套部署方案 – -b)

还剩下的,flash
起步于,我见过国外有网站应用这个技术转播比赛

采集编码,adobe flash media live encoder,这个是免费的,界面也很直观

flash streaming server:wowza  red5  FMS
red5开源,网上评价也不错,也就选定了

这个部署的过程真是相当的费劲
这跟我对基于java的webapp不甚了解不无关系
能找到的文档,几乎都是二次开发相关的,眼睛一扫到IDE和类
就晕了,于是反复仔细研读了red5的feature list
Streaming audio/video
Live Stream Publishing
求助文档无果的情况,决定装上试试

它的安装文档倒是相当体贴,没什么挫折,就搞定了
运行起来,通过web访问下,才知觉这玩意儿是个framework
app需要二次开发的,它自带了不少demo
然后,其中的一个demo就能满足我的要求…
oflaDemo

它实现的功能,就是个发布点,完整的形式是这样
rtmp://server.ip/oflaDemo
无论是采集发布的flash encoder还是播放的player,都连接这个地址

flash encoder会指定自己发布的stream的名称
player播放时也要加上名称参数

可以是文件名,live stream的话,可以使随意的代号

最后就是flash player的选择,网上大部分文章中提到的JW flash player
其实是不好用的….估计曾经是可以的,但是两家都顾着自己升级就出了问题

JW可以装载视频,可以快速seeking,但是不能播放,服务器的log里可以看到
Method checkBandwidth with parameters [] not found的提示

这个问题让我纠结了大半天,差点就回去找mms凑合了

换了个播放器,flowplayer,搞定。
附一个flowplayer的配置代码,也帮助理解streaming的一些概念

$f("SomeDivID", "http://releases.flowplayer.org/swf/flowplayer-3.1.5.swf", { 
 
    clip: { 
        url: 'my_lifecast', //could be a file name
        live: true,           //obviously
        provider: 'rtmp' 
    }, 
 
    // streaming plugins are configured under the plugins node 
    plugins: { 
 
        // here is our rtpm plugin configuration 
        rtmp: { 
            url: 'flowplayer.rtmp-3.1.3.swf', 
 
            // netConnectionUrl defines where the streams are found 
            netConnectionUrl: 'rtmp://cyzy7r959.rtmphost.com/flowplayer'   //发布点
        } 
    } 
});