视频:
视频播放形式
- 使用网络url播放视频
使用网络url播放视频分为两种情况:
A:流视频:对流形式的视频而言,Android原生的Mediaplayer等播放控件可以实现在线播放功能。
B:非流视频:需要把视频下载到本地,再进行播放,但是这里有个缺陷,不能实现边播边下。 - 使用本地url播放视频:直接在MediaPlayer或者VideoView放置一个url即可。
视频格式的组成
简要地说,MP4文件主要由ftyp,mdat,moov这三部分组成。
-
ftyp 记录了mp4格式,编码格式之类的一些基本信息
-
mdat记录了视频媒体信息(mdat的体积往往非常的大,几乎等于MP4总大小)
-
moov是如同检索表一样的存在,里面记录了每一帧对应的数据在哪里等等
如果moov比较大,播放器需要较多的时间去解析,所以在播放之前可能会出现较长的缓冲时间,特别是视频文件较大的情况下,所以现在有些点播网站会采用每段mdat都有自己独立的metadata的封装方式,这样就可实现渐进式下载和快速缓冲的效果。
视频工作过程
- 读取ftype部分决定解码方式。
- 寻找并读取moov部分,获取视频总时长等信息。