最近在搞一个局域网web播放视频的东西,原来是只支持FLV 格式的, 我个人想让其能支持多点格式,如wmv,mp4 和 avi。

服务器环境是windows2003,flash player11,tomcat6,java1.6,windows media player10,swfobject 1.4(jw flv player),IE6。

一.  视频文件这里虽然说flv,mp4,avi 和wmv ,但是他们内部的编码不是都一样的。如海康威视的录像视频,后缀是mp4,但是内部编码是海康威视自己的编码,用一般的播放器是打不开的,这样的视频不在我的考虑之内,我目前只考虑播放正常通用的视频。

目前知道的支持的播放格式和编码:

格式mp4 和 flv,编码是H264/AVC ,H.263 支持播放,编码为AVC1 的不支持播放。

二. 需要播放带中文名称的视频文件的话, tomcat 必须修改默认编码ISO-8859-1 为UTF-8 或GBK 等支持中文的编码,建议是UTF-8, ISO-8859-1是不支持中文的。

引用的 swfobject.js 加上编码设置,如 <script type="text/javascript" src="swfobject.js"charset="uft-8"></script>, 如果是gbk 就改uft-8 为gbk,在一些一个页面多个编码的情况下或者不同浏览器的兼容性问题下,最好是明确指定编码。

三. 当一个视频文件被请求播放的时候, 通过判断其后缀名,决定由哪个播放器播放它。

1.   flv 和 mp4 由swfobject 1.4(jw flv player) 播放。

2.  其他的如wmv,avi 通过 <EMBED> 标签播放,配置其src 就行了,调用的是windows media player 来播放。

Windows Media Services 的话, 可以用mms 协议播放wmv, 但是不能播放avi, 其支持的格式只有几种asf,wmv和wma, 即使windows media player 能播放的视频,Windows Media Services 也是不去识别这个视频,所以我最后没考虑。

多媒体的话, 不得不说现在的html5(需要编码是h.264), 这个让苹果能安心抛弃flash 的东西,由于要考虑老IE6 的支持性问题,等后面再考虑。

四. 遇到的特殊奇怪bug

1. 视频文件路径是: xwlb\gddwxwlb190q.flv, 文件路径名称在url 中作为参数传递,在ie6 无法播放视频,视频是正常的。

ip地址如果用localhos 或 127.0.0.1 可以播放,用服务器的ip 就不行。

因为名称都是英文加字母加符号,不存在字符集编码的问题。

最奇怪的地方,把文件的名称改动任何一个字母,或放到其他文件夹就可以播放,如xwlb\gddwxwlb190a.flv 或 xxlb\gddwxwlb190q.flv

路径写成xwlb\\gddwxwlb190q.flv 可以播放,而 xwlb/gddwxwlb190q.flv 不可以播放,但是xxlb/gddwxwlb190q.flv 可以播放

这次真是无巧不成书,如果不是完全凑巧的话,这个bug 是很难遇见的, 就像在html 中特殊符号“空格” 可以用 &nbsp; 表达给浏览器, 难道xwlb\gddwxwlb190q.flv 也刚好构成了某个特殊用途!!!!

web播放视频(flv mp4 wmv avi)相关推荐

  1. kindeditor支持视频flv, mp4格式视频上传播放

    首先声明本人用的版本为4.1.12 1.mp4视频格式上传: 修改kindeditor-all.js  _mediaImg()方法 原代码 function _mediaImg(blankPath, ...

  2. 关于NOKIA E71 播放视频文件(mp4等)的问题

    因本人暂时不想更换智能手机,目前打算继续NOKIA E71到底,虽然屏幕较小,但也准备尝试下视频文件的播放,NOKIA E71手机中自带的或者通过手机本身录像产生的视频文件播放正常,在将电脑上下载的f ...

  3. 基于nginx搭建直播,web播放视频方案

    1 流媒体服务器nginx搭建: #nginx源码     git clone https://github.com/nginx/nginx.git #nginx的rtmp模块源码     git c ...

  4. 视频转换格式的软件哪个好,视频转mp4格式转换器,

    视频转换格式的软件哪个好?不知道大家有没有遇到过这种问题:自己喜欢的歌曲没有音频资源,只有MV视频.此时我们该怎么办呢?对于这种情况其实最好的方法便是使用视频转换软件将视频转换为音频格式,如此便可以通 ...

  5. matlab读取/播放视频的函数以及写入/合成视频函数

    1.可以用mmreader和 read这两个函数读取视频帧 readerobj = mmreader('1.mpg'); vidFrames = read(readerobj); 具体参数含义帮助文档 ...

  6. android 视频播放滤镜,用openGL ES+MediaPlayer 渲染播放视频+滤镜效果

    之前曾经写过用SurfaceView,TextureView+MediaPlayer 播放视频,和 ffmpeg avi解码后SurfaceView播放视频,今天再给大家来一篇openGL ES+Me ...

  7. 全志D1-H 双屏异显第一弹来啦 D1同时支持两个屏幕,一边做UI交互,一边播放视频

    1文档中有功能:双屏同显!具体操作见文档:https://d1.docs.aw-ol.com/source/3_getimg/ 双屏同显测试固件:https://www.aw-ol.com/downl ...

  8. LCD图片显示、触摸屏、音乐播放、缩放图片和播放视频

    一.GEC6818开发板的LCD 1.LCD (1)原理 LCD屏幕是由一个个像素组成的,横向像素个数和纵向像素个数是LCD的一个重要指标,称为像素分辨率,当前举例开发板的分辨率是 800X480 L ...

  9. mkv、rmvb、avi、MP4、flv、wmv特点和区别

    mkv.rmvb.avi.MP4.flv.wmv这些指的都是文件格式,也就是封装格式,而不是真正的数据压缩格式,至于他们的特点,下面分别来说.首先纠正一下上面说的一个观点,其实mkv和avi并不能说成 ...

最新文章

  1. MicroSoft的Office使用攻略
  2. 九、Swift对象存储服务(双节点搭建)
  3. Place the Guards
  4. 属于PHP语言结构的是,PHP语言结构
  5. 《战争论》第四篇《战斗》的主要内容
  6. 致我唯一的kiyoumi
  7. 【HNOI2003】【BZOJ1218】激光炸弹
  8. C#根据屏幕尺寸大小重新定位控件大小和位置
  9. 深度学习2.0-26.Regularization减轻overfitting
  10. 微信APP支付 C#
  11. mysql实体监听器_监听器模式(Listener)
  12. 爬虫福利二之妹子图网批量下载MM
  13. 企业级静态代码分析工具清单
  14. Linux cp 复制文件强制覆盖的用法
  15. mac 桌面显示服务器,隐藏 Mac 桌面内容的三种方法 | 一日一技 · Mac
  16. Codeforces ~ 1009C ~ Annoying Present (贪心)
  17. react如何获取input值_react中怎么获取input的值?
  18. CDH添加ELASTICSEARCH服务elasticsearch-cdh-parcels
  19. 使用validate注解做校验以及自定义validate注解
  20. python/php/java/nodejs+vue社区团购系统

热门文章

  1. -bash: 无法为立即文档创建临时文件: 结构需要清理
  2. 【Unity主程手记学习】第一章——软件架构
  3. 和我一起学 Three.js【初级篇】:3. 掌握摄影机
  4. kylin使用时候出现的问题及处理方式(一)
  5. 小程序导出朋友圈海报详细记录
  6. 梁继璋家书:下辈子无论爱与不爱,都不会再见
  7. 哪些借款合同会被认定无效
  8. VirtualBox使用时卡顿的解决方案(亲测有效)
  9. php八字喜用神实现博客,八字喜用神分析你是什么性格
  10. ASL Code中的_DSM方法