架设流媒体服务器的技术储备

        经过一个星期的搜索,将结果整理如下。

        客户端播放器采用flowplayer,格式转换工具采用ffmpeg,服务器采用tomcat。将flv文件放在tomcat的root目录下,html代码中嵌入flowplayer播放器并添加flv文件的地址即可实现flv文件在本地的播放。如下图。

        这里html文件是将flowplayer安装目录中的一个实例文件进行简单修改得到的。代码如下:

<html> <head> <meta http-equiv="content-type" content="text/html; charset=gb2312"> <!-- A minimal Flowplayer setup to get you started -->

<!--   include flowplayer JavaScript file that does    Flash embedding and provides the Flowplayer API.  --> <script type="text/javascript"  src="http://localhost:8080/flowplayer/flowplayer-3.2.11.min.js"></script>

<!-- some minimal styling, can be removed --> <link rel="stylesheet" type="text/css"  href="http://localhost:8080/flowplayer/example/style.css">

<!-- page title --> <title>FLV播放测试</title>

</head> <body>

 <div id="page">

  <!-- this A tag is where your Flowplayer will be placed. it can be anywhere -->   <h1>FLV播放测试</h1>   <a href="http://localhost:8080/1.flv"    style="display: block; width: 520px; height: 330px" id="player">   </a>

  <!-- this will install flowplayer inside previous A- tag. -->   <script>    flowplayer("player", "http://localhost:8080/flowplayer/flowplayer-3.2.12.swf",{clip: { autoPlay: false }});   </script>  </div>

</body> </html>

        其中要用到一个css文件,代码如下:

body {
	background-color:#fff;	
	font-family:"Lucida Grande","bitstream vera sans","trebuchet ms",verdana,arial;
	text-align:center;
}

#page {
	background-color:#efefef;
	width:600px;
	margin:50px auto;
	padding:20px 150px 20px 50px;
	min-height:600px;
	border:2px solid #fff;
	outline:1px solid #ccc;
	text-align:left;
}

h1, h2 {
	letter-spacing:-1px;
	color:#2D5AC3;
	font-weight:normal;		
	margin-bottom:0px;
}

h1 {
	font-size:22px;
}

h2 {
	font-size:18px;
}

.less {
	color:#999;
	font-size:12px;
}

a {
	color:#295c72;		
}

        还有一个小问题是,虽然flowplayer是开源软件,但是免费版有一个logo,全屏之后右上角也有一个大的logo。商业版是没有logo的。破解方法参考这篇文章。

        http://seaskys.iteye.com/blog/1014133

        至于要不要使用流媒体服务器,这个问题还有待讨论。是不是不用流媒体服务器的话,必须等到文件传输之后才能播放?如果是flv格式的话流媒体服务器还有没有必要?备选的流媒体服务器是red5。如果将使用jdk1.7版本,则red5启动失败,换成1.6版本则没有问题。red5还有个bug,如果用exe文件进行安装的话,则自带例子程序在网页无法显示。使用zip解压则可以正常显示。

        关于格式转换,目前土豆、优酷已经在使用f4v格式以实现高清播放。flv格式文件后缀改成f4v仍然可以播放,反之亦然。ffmpeg不支持f4v格式的转换。如果要使用f4v格式的话,目前还没有有效的解决方案。

        还有一个值得注意的问题是,目前迅雷7版本可以对网络视频链接进行嗅探并边下边播。但公司主要客户是保密机构,应该尽可能避免第三方软件的使用。

----------------------------------------------------------------------------分割线------------------------------------------------------------------------

         关于flowplayer的破解:

        网上可以找到3.2.6的破解版


        我们只需要其中的这两个文件:


        然后嵌入破解后的播放器就ok了,如下:

<a  
	 href="http://192.168.1.102:8080/2.flv"
	style="display:block;width:676px;height:429px"  
	id="player"> 
</a> 
<script>
	flowplayer("player", "../service/flowplayer.commercial-3.2.6-dev.swf",{clip: { autoPlay: false }});
</script>

        如果要播放本地的视频文件,需要放在tomcat目录下或者启用IIS。

关于流媒体服务器:

经过测试,如果将视频放在tomcat的root下,则播放时未缓冲部分无法拖动播放。使用red5能否解决这个问题还有待研究。

        to be continued...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值