Linux下视频播放方案

来源:互联网 发布:百度新乡seo招聘 编辑:程序博客网 时间:2024/05/22 12:21

 

Linux下视频播放方案

    本方案设计目的是初步实现企业网内的视频播放。方案分为文件上传,视频转码,视频播放三个方面。
   

    文件上传方面,考虑到目前浏览器上传大文件的性能问题,建议采用FTP上传方式。上传后,由客户端发起刷新请求,服务端更新数据库。

    
   流程图如下

   流程如下
  1. 客户端利用FTP工具将视频文件上传到服务端的上传目录中
  2. 客户端利用IE浏览器发出指令,WAS将文件信息写入数据库中
  3. 服务端将视频文件从上传目录转移到播放目录中
  4. 客户端可以通过一览列表播放视频  


   视频转码方面,采用mencoder进行转码。
  • 通过mencoder读取媒体信息
  • 通过java调用mencoder进行编码转换
    • mencoder 01.wkv -o outfile.flv -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=150:mbd=2:mv0:trell:v4mv:cbp:last_pred=3 -srate 22050
  • 通过renice降低用mencoder进程优先级,防止cpu占用率过高。

 
   视频播放方面,采用WAS+Apache+wod_bw方式提供服务端支持,客户端采用JwPlayer解码播放
   实现方案如下:
  • 软件要求
流媒体服务器Apache 2.2.17客户端流量控制模块mod_bw 0.7前端播放模块JW Player5.3
  • 系统结构图
  • 流程说明
    1. IE浏览器强求WAS服务
    2. IE打开Play.jsp页面
      1. Play.jsp页面内部嵌入JwPlayer播放组件
    3. JwPlayer播放组件请求Apache
    4. Apache提供flv文件下载
      1. Apache可以控制请求Ip上限
      2. Apache可以限制每个Ip请求的流量
    5. JwPlayer缓冲flv文件流,即时播放。
  • 测试情况

测试环境-硬件CPU型号M900CPU速度2.2GHz二级缓存1MB硬盘容量320GB转速5400转/分钟接口类型SATA 串行

软件Linux 内核2.6.33.2Apache2.2.17mod_bw0.7JDK6.0Tomcat5.5.27IE6.0/7.0JW Player4.5

     

    测试文件信息
    测试文件dmkj.FLV 文件大小405M播放时间76分钟
    Apache服务器配置信息
    IP下载速度限制200k/s每客户端连接上限2个服务区IP连接上限40个

    压力测试效果
    客户端数目20个 ~ 25个客户端缓冲时间< 3秒客户端下载速度< 200k/s服务器CPU16% ~ 30%服务器内存255m ~ 300m服务器带宽占用0m/s ~ 4m/s
    原创粉丝点击