• Stars
    star
    147
  • Rank 251,347 (Top 5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created over 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

提供一个高效的播放器库,播放相关的优化和功能都会在这个项目中完成

PlayerSDK

提供一个高效的播放器库,播放相关的优化和功能都会在这个项目中完成

目前支持的功能

  • 支持ijkplayer 和 exoplayer 两种播放器
  • 支持进度条和seek功能
  • 支持二维码扫描网址功能
  • 支持循环播放的功能
  • 支持倍速的功能
  • 支持针对HLS Master视频的切换清晰度功能
  • 添加Player实例监控方法
  • 支持GLSurfaceView渲染视频
  • 播放时调整声音大小
  • 播放视频加水印

播放器渲染SDK

  • 可以支持MediaPlayer、ijkplayer、exoplayer接入外部的渲染工具,使用opengl渲染
  • 可以支持SurfaceView和TextureView
  • 可以添加贴纸
  • 可以调整清晰度
  • 可以调整亮度、对比度、色温、饱和度、颗粒度、锐度
  • 可以截图
  • 可以调整黑白滤镜
  • 可以添加滤镜

版本更新日志

2.0.0
repositories {
    maven { url 'https://jitpack.io' }
}

implementation 'com.github.JeffMony:PlayerSDK:2.0.0'

播放时设置声音音量

这里的调整音量不是让用户操作按键,而是在播放过程中调整声音的振幅。

//将声音的振幅调整为原来的3倍
mPlayer.setSonicVolume(3f)

调整声音振幅使用Sonic库来实现。

Player实例监控

PlayerConfig config = new PlayerManager.Builder().setLimitCount(6).buildConfig();
PlayerManager.getInstance().initConfig(config);
PlayerManager.getInstance().addGlobalPlayerInstanceListener(mListener);

private IPlayerInstanceListener mListener = new IPlayerInstanceListener() {
    @Override
    public void onPlayerCount(int count) {
        LogUtils.e("onPlayerCount count=" + count);
    }

    @Override
    public void onExceedLimit() {
        LogUtils.e("onExceedLimit report info");
    }
};

设置player实例限制是6个,如果超过6个,那么可以上报信息

切换清晰度的接入

VideoInfoParserManager.getInstance().parseVideoInfo(mUrl, mVideoInfoCallback);

public interface IVideoInfoCallback {
  void onVideoType(String contentType, String name);
  void onMutipleVideo(List<M3U8Seg> urlList);
  void onFailed(Exception e);
}

在onMutipleVideo(List urlList)回调函数中会出现呈现的几个清晰度的片源

PlayerSDK接入文档

CommonPlayer mPlayer = new CommonPlayer(Context, PlayerType);
mPlayer.setLooping(mIsLooping);
mPlayer.setSurface(mSurface);
mPlayer.setOnPreparedListener(mPrepareListener);
mPlayer.setOnVideoSizeChangedListener(mSizeChangedListener);
mPlayer.prepareAsync();

设置接口层是IPlayer.java

demo示意图

播放视频加水印

欢迎关注我的公众号JeffMony,我会持续为你带来音视频---算法---Android---python 方面的知识分享

More Repositories

1

VideoDownloader

支持下载队列,支持M3U8视频、MP4视频等,支持M3U8合并为MP4视频。
Java
458
star
2

JeffVideoCache

Better than AndroidVideoCache, it supports M3U8 and MP4
Java
296
star
3

MediaSDK

The library is working for downloading video while playing the video, the video contains M3U8/MP4
Java
269
star
4

MediaEditSDK

使用android原生的MediaExtractor,MediaCodec和OpenGL ES对视频进行编辑, 裁剪,滤镜, 特效等.
Java
77
star
5

MediaParserTools

解析mp4 flv ts h264 ts 文件的一整套工具
38
star
6

AV_Library

从0开始教你做一款剪映APP
34
star
7

VideoCapCut

全面的商业化音视频编辑软件
Java
32
star
8

AndroidFFmpegCompile

编译Android 平台上 ffmpeg,openssl,x264 库
C
25
star
9

JeffFFmpegDemo

C
24
star
10

AV_Knowledge

专注音视频面试题汇总
C
23
star
11

JeffLiveSDK

Android 平台下的直播SDK(1.实现opengl 滤镜;2.实现H264视频编码,AAC音频编码3.实现FLV封包;4.实现RTMP推流)
Java
16
star
12

VideoApplication

1.分离音频、视频 2.裁剪音频、视频 3.音频、视频合成功能 4.两个或者多个视频拼接 5.取出视频中关键帧 6.生成快慢视频 7.生成倒播的视频
Java
16
star
13

JeffVideoLib

M3U8视频合并为MP4视频专用库,已经尽量裁减优化,减少包大小,只保留这个功能
C++
15
star
14

Laker

视频播放器外接的渲染工具,使用opengl渲染视频,实现视频翻转、各种滤镜、调整亮度、色温、对比度、饱和度、锐度、添加水印等等
C++
14
star
15

VLCAndroidDemo

实现Android VLC 库的播放调用,实现VLC的主要接口
Java
10
star
16

OpenCamera

实现android-camera和camera2的功能,可以3A调整,尽可能利用系统api爆发的能量
Java
10
star
17

JeffAudioPlayer

从0开始实现一款音频播放器
C
9
star
18

AV_Book

音视频开发书籍汇总
8
star
19

CustomPlayer

使用FFmpeg OpenGL-ES OpenSL-ES 实现一个简单的视频播放器
C
7
star
20

AVInterview

音视频/Android面试题集合
C
7
star
21

CameraApp

Camera1 Camera2 CameraX实现拍照、录视频、剪视频功能
Java
6
star
22

M3U8ParserTools

python 实现 M3U8文件的解析功能
Python
6
star
23

GifSDK

实现将若干张图片变成一个gif图
Java
6
star
24

AudioSDK

音频处理库
C
4
star
25

DexMerge

实现dex合并的功能
Java
4
star
26

androidEnhance

Android 平台framework、chromium、camera、音视频相关技术博客汇总
3
star
27

MessageQueue

c++ message queue
C++
3
star
28

Algorithm_Interview

算法知识总结
Java
3
star
29

FFmpegDemo

代码实现FFmpeg基本功能
C
2
star
30

JMediaCodec

实现MediaCodec并行编码和解码的工作
Java
2
star
31

MediaCache

C++
2
star
32

OpenGLDemo

提供了OpenGL ES 相关的几个demo,可以学习OpenGL ES基本功能
Java
2
star
33

JeffMP4SDK

实现MP4视频的拼接,h264转MP4视频,ts合并为MP4视频
Java
2
star
34

JeffMony

1
star
35

libwebp-android

libwebp library with android platform
CMake
1
star
36

CustomCameraFilter

Camera OpenGLES implements custom filters
Java
1
star
37

SPS-PPS-Parser

1
star
38

FutureHouse

1
star
39

JeffCamera

C
1
star