All Projects → CainKernel → CainPlayer

CainKernel / CainPlayer

Licence: GPL-3.0 license
A Simple Android MediaPlayer using FFmpeg, OpenSLES and OpenGLES base on ffplay

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language

CainPlayer

基于ffplay逻辑实现的简单播放器。该播放器最开始是为了CainCamera中的短视频编辑而造的播放器,目前播放器还是个demo,离真正的商用播放器还差得远,各种异常状态都还没考虑进去。对于直播点播来说,个人推荐ijkplayer,都是基于ffplay实现的播放器,ijkplayer着重对网络流进行了优化,目前各大公司的直播点播的播放器基本采用ijkplayer或者基于ijkplayer改造而来,属于一个久经考验的播放器。

支持部分ffplay命令

通过使用 setOption 方法指定参数:

指定使用MediaCodec进行解码
mCainMediaPlayer.setOption(CainMediaPlayer.OPT_CATEGORY_PLAYER, "vcodec", "h264_mediacodec");

截图

本地视频

网络视频

讲解文章

第零章 基础公共类的封装

第一章 播放器初始化与解复用流程

第二章 音视解码器和视频解码器实现

第三章 音频输出 —— OpenSLES

第四章 音频重采样与变速变调处理

第五章 视频同步渲染输出

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].