Android视频资料整理

来源:互联网 发布:小号云免费源码 编辑:程序博客网 时间:2024/05/21 19:21

参考资料

|-在Google Android官方的开发文档中有一文 Android Supported Media Formats详细的介绍了Android终端支持的音频视频格式

|-连接 http://developer.android.com/guide/appendix/media-formats.html

|-当然,农民伯伯博客中也有译文--http://www.cnblogs.com/over140/archive/2011/05/20/2051720.html


先把译文看完你就会明白了为什么Android不是所有以MP4为后缀名的视频文件都能播放.

而且有的MP4可以在手机以及平板上播放,有的在模拟器又不可播放.


了解一个定义-什么是 "流媒体"

具体含义是什么,我也说不上来,按照我查的资料以及自己的理解,以在线流的形式传输的音视频,就叫做流媒体了


如何在Android上播放流媒体?

首先让视频源支持Android本地播放.最好是能让模拟器能播放


|-首先我们明白Android支持的视频编码有三种,H.263,H.264 AVC,MPEG-4 SP

如果我们不选择将视频源转换成Android支持的格式,那就需要移植解码库,类似于做万能播放器

由上面的信息确定,我们第一个想法就是找一款视频转换工具,按照Android支持的协议转换一个视频.那什么样的工具可以提供这样的行为.


|-说一下我用过的工具,在window下有QuickTime,MeGUI || Linux下则Make FFmpeg,这两个都必须用H.264编码来转换


|-MeGUI,插件比较多,安装以及设置麻烦.但是转出来的视频又小又清晰,转视频是一件很考验耐心的事情...

   参数要微调才能得出好的效果,--profile baseline --level 2.1 这是主要参数<参照乐视视频源>,MeGUI转出来的视频

   可以直接在android的模拟器上播放,转好的视频可以支持网络播放,相关

MeGUI安装配置文档下载 http://download.csdn.net/detail/forever_crying/3671174


|-FFmpeg,插件也很多,可以选择性安装,但主要函数也-profile baseline -level 2.1 其他插件参数另外参考

   但是用FFmpeg转换后必须得把视频索引前置才能支持HTTP渐进式,不然就会一直黑屏,不播放, 

   用到的工具是qt-faststart,一般在ffmpeg中的tools目录下,make即可使用

这个的最好到官网下,然后看帮助文档.更多相关要发挥搜索精神


|-QuickTime打开视频源,右键导出调好参数就是了,这个视频转换质量损失太严重,不推荐


转换好的视频可以放到Tomcat上,用VideoView测试播放.

转换后的视频质量如何决定呢?其实视频是为了Android的终端能够播放,而片子的码率越高,对宽带的要求也就越高,这个可以参考开发文档给出的参数

也可以自己多测试....


应该用哪种方案来解决Android的在线播放?

http://www.chinaunicom.com.cn/upload/1287474923316.pdf

以上这篇文章详细的综述了HTTP,RTSP,以及3.0以上支持的苹果提供的HTTP Live Streaming

这里做一下简要的总结


|-HTTP渐进式下载(Progressive Download),顺序下载,在Android客户端可以做到边下边播,但是播放控制只能操作已下载的部分.

   所以当视频文件比较大的时候,用这个方案,是比较郁闷的....我不能从后半截开始看,一定要从头?


|-RTSP/RTP,实时流媒体,可以随点随播, 协议类似于HTTP,我没有深入.

   RTSP协议不是每一个流媒体服务器都一样,所以如果使用这个的话,就会增加Android客户端编码难度

   其实在Android下支持的协议是RTP,但是在android下RTP不能脱离RTSP来单独工作


|-HTTP Live Streaming,苹果的东西,详细还是参照上面的PDF吧


 

非常期望能得到大家的意见和更多关于Android流媒体的帮助