Android视频播放器

视频播放器之开篇

2019-01-31  本文已影响40人  arvinljw

一直想学习如何开发一款视频播放器,做到尽量好用。然而一直没有机会,终于经历大半个月学习了夏曹俊老师的视频播放器开发课程,收获颇多,特此总结。学完基本上有了一个播放器应该有的大多内容了,之后再添加也就是小功能。

目的:

整体介绍

这里就不介绍视频音频相关的基础知识了,因为我还没有去深刻理解,估计说不好,但是这个部分其实很重要,对理解代码中为什么要这样,很有帮助。

开发这个视频播放器用到了几块技术,分为了以下几个部分:

这几步中,首先需要将数据解封装,再把数据交给解码器,音频解码器解码音频数据,视频解码器解码视频数据,解码后音频数据交给ffmpeg去重采样,解码后的视频数据交给shader绘制,最后让egl显示到surface上。

当然不一定要所有数据都解码或者重采样,因为如果解封装之后有的数据本身就是原始数据了,那么就能直接使用。

这几步变成时序图就是这样,步骤很清晰,主要是老师讲的好。

帧数据处理顺序图.png

其实只要这个流程清楚了,之后的步骤按照这个来就很轻松了,因为ffmpeg、opengl、opensl这些库都把这些功能封装好了,具体怎么解封装,怎么解码,怎么重采样,怎么播放和显示都是调用api就可以了。

到这里,其实这也才是刚入坑而已,其中视频的格式有很多,解码后数据是否存在问题等等,都只能慢慢的尝试调整了。

上一篇 下一篇

猜你喜欢

热点阅读