前言

  虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式、性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的Android万能播放器!
 
声明
  欢迎转载,但请保留文章原始出处:) 
    博客园:http://www.cnblogs.com
    农民伯伯: http://over140.cnblogs.com
 
正文
  一、实现目标 

    1.1  支持格式

      支持主流的视音频格式:mp3/mp4/mkv/avi/3gp/rmvb/mov/flv等。

    1.2  支持功能

      1.2.1  当然最重要的是播放功能,含播放控制(播放、暂停,声音、亮度调整等)

      1.2.2  可以扫描SDcard,用列表展现出来,可以搜索

      1.2.3  可以播放网络视音频(http、rtsp、mms)   

  二、Vitamio项目简介

    Vitamio是一个支持所有Android设备的多媒体框架。Vitamio与Android默认的MediaPlayer工作方式相似,但包含更加强大的功能!(注意:Vitamio商业化后个人免费、公司收费)

    2.1  网址

官方微博:http://weibo.com/vitamio

官方网址:http://vov.io/vitamio/

    2.2  成功案例

      国内:VPlayer熊猫影音321影音

      国外:TvltalianeDizi TV

    2.3   网络协议

       支持以下协议的音频和视频播放:

      *  MMS
      *  RTSP (RTP, SDP)
      *  HTTP流式传输(progressive streaming)

      *  HTTP Live Streaming (M3U8), Android 2.1+

    2.4   媒体格式

      Vitamio集成了许多音频和视频的解码包,相比Android内置默认的媒体格式,这里列出其中的一些:

      *   divx/xvid
      *   wmv
      *   flv
      *   ts
      *   rmvb
      *   mkv
      *   mov
      *   m4v
      *   avi
      *   mp4
      *   3gp 

    2.5   字幕

      Vitamio支持显示一些内置或外挂字幕格式:

      * SubRip(.srt)
      * Sub Station Alpha(.ssa) / Advanced Sub Station  移步wiki

      * Alpha(.ass)

      * SAMI(.smi/.sami)
      * MicroDVD(.sub/.txt)
      * SubViewer2.0(.sub)
      * MPL2(.mpl/.txt)
      * Matroska (.mkv) 字幕轨迹

    2.6   其他功能

      * 后台播放
      * 多音轨支持
      * 多字幕支持,包括内部或外挂的 
      * 多平台处理器优化
      * 可调长宽比
      * 文字编码自动检测 

    2.7  许可/授权(Lisences)

      Vitamio使用了sevral开源项目,感谢他们。

      2.7.1  FFmpeg

        FFmpeg提供软件解码器和多路输出(demuxers)。Vitamio使用LGPLv2.1许可下FFmpeg的代码,代码可以从这里下载。

      2.7.2  Universalchardet (是Mozilla的一个自动检测页面文字编码的程序)

         Universalchardet是Mozilla的编码检测库。Vitamio使用MPL许可下Universalchardet的代码来检测字母文本编码。

    以上主要是对官方介绍进行了简单翻译。

  三、相关文章

    移动流媒体移动协议综述.pdf

    开发者指南Android支持的媒体格式

    Android网络收音机项目

  四、文章维护

    Vitamio 3.0 新手教程

结束

  本系列将是继 C#视频监控系列 之后又一与视频相关的重要系列,值得高兴的是Vitamio是国人开发的,在国外得到了广泛使用,国内也有一些,欢迎大家交流。

 

Vitamio视频播放器的更多相关文章

  1. Android开发学习之路--基于vitamio的视频播放器(二)

      终于把该忙的事情都忙得差不多了,接下来又可以开始good good study,day day up了.在Android开发学习之路–基于vitamio的视频播放器(一)中,主要讲了播放器的界面的 ...

  2. android视频播放器开发

    http://blog.csdn.net/u010181592/article/details/49301703 http://blog.csdn.net/qq_33291295/article/de ...

  3. 开源的Android视频播放器

    之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问 ...

  4. Vitamio 视频播放

     资料总结 Vitamio官网:https://www.vitamio.org 源码地址:https://github.com/yixia/VitamioBundle 最佳教程:大名鼎鼎的农民伯伯博客 ...

  5. Python应用03 使用PyQT制作视频播放器

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载. 最近研究了Python的两个GUI包,Tkinter和PyQT.这两个GUI包的底层分别是Tcl/ ...

  6. C# VLCPlayer视频播放器(附源码)

    VLCPlayer视频播放器. 支持本地播放,支持网络URL.支持全屏,截图. 基于VLCPlayer. 附带基本代码. 下载地址:http://pan.baidu.com/s/1nvjNvID

  7. 建站技能get(1)— Asp.net MVC快速集成ckplayer网页视频播放器

    故事背景大概是这样的,我厂两年前给山西晋城人民政府做了一个门户网站(地址:http://jccq.cn/),运行了一年多固若金汤,duang的有一天市场部门过来说,新闻管理模块带视频的内容播放不了了. ...

  8. 打造自己的html5视频播放器

    前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...

  9. 一款开源免费跨浏览器的视频播放器--videojs使用介绍

    最近项目中的视频功能,需要做到浏览器全兼容,所以之前用html5实现的视频功能就需要进行改造了.在网上翻了个遍,试来试去,在所有的视频播放器中,就数它最实际了.首先我们来看看它的优点: 1.它是开源免 ...

随机推荐

  1. Struts Ajax Json

    一.包 struts2与json的依赖包:struts2-json-plugin-2.2.3.jar 二.过程: ①引入json依赖包 ②编写action类 ③配置struts.xml ④编写页面 ⑤ ...

  2. openldap 备份与导入 及相关问题

    摘要: 对openldap进行备份时,直接使用slapcat命令进行备份,使用ldapadd还原出现问题及解决. 介绍: 对openldap进行备份时,直接使用slapcat命令进行备份(如代码一), ...

  3. 在js代码中调用jsp的变量

    <% int coblid=Integer.parseInt(request.getParameter("blid")); %> <script> var ...

  4. Linux mdev 热拔插配置

    在嵌入式领域使用比较多的是用 mdev 进行热插拔的操作. 文件系统进行配置 # 首先对 /etc/fstab 进行配置 # <file system> <mount pt> ...

  5. Android——RadioGroup和CheckBox

    xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  6. 6. GC 调优(工具篇) - GC參考手冊

    进行GC性能调优时, 须要明白了解, 当前的GC行为对系统和用户有多大的影响. 有多种监控GC的工具和方法, 本章将逐一介绍经常使用的工具. 您应该已经阅读了前面的章节: 垃圾收集简单介绍 - GC參 ...

  7. iOS边练边学--UIGestureRecognizer手势识别器简单介绍

    iOS 3.2之后,苹果退出了手势识别功能(Gesture Recognizer),在触摸事件处理方面,大大简化了开发者的开发难度. 一.UIGestureRecognizer UIGestureRe ...

  8. pymongo创建索引、更新、删除

    pymongo创建索引.更新.删除     索引创建 ## collection 为数据集合collection.create_Index({'需创建索引字段': 1})collection.ensu ...

  9. 利用层的table-row、table-cell属性进行页面布局

    利用层的table-row.table-cell属性可以进行等高.宽度自适应页面布局,这是参看了<我所知道的几种display:table-cell的应用>及<基于display:t ...

  10. java基础复习二——面向对象一

    面向对象三大特性:封装,继承,多态 类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义 对象:是实际存在的该类事物的每个个体,也称为实例 类之间三种关系:依赖关系(uses-a) ...