All Projects → MasayukiSuda → Exoplayerfilter

MasayukiSuda / Exoplayerfilter

This library uses OpenGL Shaders to apply effects on ExoPlayer video at Runtime

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Exoplayerfilter

ti.exoplayer
A native control for playing videos for Titanium. Based on Google ExoPlayer, using Titanium.Media.VideoPlayer API.
Stars: ✭ 17 (-97.7%)
Mutual labels:  exoplayer, videoplayer
KingPlayer
🎬 一个专注于 Android 视频播放器的基础库,无缝切换内核。(IjkPlayer、ExoPlayer、VlcPlayer、MediaPlayer)
Stars: ✭ 35 (-95.26%)
Mutual labels:  exoplayer, videoplayer
VideoMetadataProvider
Video metadata provider library (collect metadata from ExoPlayer, FFMpeg, Native Android)
Stars: ✭ 20 (-97.29%)
Mutual labels:  exoplayer, videoplayer
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (-76.83%)
Mutual labels:  exoplayer, videoplayer
Gpuvideo Android
This library apply video filter on generate an Mp4 and on ExoPlayer video and Video Recording with Camera2.
Stars: ✭ 403 (-45.39%)
Mutual labels:  glsl-shaders, exoplayer
Exovideoview
a simple video view for exoplayer
Stars: ✭ 263 (-64.36%)
Mutual labels:  exoplayer
Shader Toy
Shadertoy-like live preview for GLSL shaders in Visual Studio Code
Stars: ✭ 349 (-52.71%)
Mutual labels:  glsl-shaders
Playerbase
The basic library of Android player will process complex business components. The access is simple。Android播放器基础库,专注于播放视图组件的高复用性和组件间的低耦合,轻松处理复杂业务。
Stars: ✭ 2,814 (+281.3%)
Mutual labels:  exoplayer
RtmpPlayer
RTMP player on Android
Stars: ✭ 28 (-96.21%)
Mutual labels:  exoplayer
Pixi Filters
Collection of community-authored custom display filters for PixiJS
Stars: ✭ 524 (-29%)
Mutual labels:  glsl-shaders
Musicplayer
Implemented using Clean Arch, MVVM, LiveData, Room, Koin, Coil, Service, Notification and ExoPlayer
Stars: ✭ 413 (-44.04%)
Mutual labels:  exoplayer
Dkvideoplayer
Android Video Player. 安卓视频播放器,封装MediaPlayer、ExoPlayer、IjkPlayer。模仿抖音并实现预加载,列表播放,悬浮播放,广告播放,弹幕
Stars: ✭ 3,796 (+414.36%)
Mutual labels:  exoplayer
Vuh
Vulkan compute for people
Stars: ✭ 264 (-64.23%)
Mutual labels:  glsl-shaders
Thebookofshaders
Step-by-step guide through the abstract and complex universe of Fragment Shaders.
Stars: ✭ 4,070 (+451.49%)
Mutual labels:  glsl-shaders
Blotter
A JavaScript API for drawing unconventional text effects on the web.
Stars: ✭ 2,833 (+283.88%)
Mutual labels:  glsl-shaders
Urweatherview
Show the weather effects onto view written in Swift4.2
Stars: ✭ 439 (-40.51%)
Mutual labels:  glsl-shaders
Exoplayersample
This project is developed with ExoPlayer 2. You can play audio files and play video files with custom playback controls.
Stars: ✭ 299 (-59.49%)
Mutual labels:  exoplayer
Xgplayer
A HTML5 video player with a parser that saves traffic
Stars: ✭ 4,792 (+549.32%)
Mutual labels:  videoplayer
Gsyvideoplayer
视频播放器(IJKplayer、ExoPlayer、MediaPlayer),HTTPS,支持弹幕,外挂字幕,支持滤镜、水印、gif截图,片头广告、中间广告,多个同时播放,支持基本的拖动,声音、亮度调节,支持边播边缓存,支持视频自带rotation的旋转(90,270之类),重力旋转与手动旋转的同步支持,支持列表播放 ,列表全屏动画,视频加载速度,列表小窗口支持拖动,动画效果,调整比例,多分辨率切换,支持切换播放器,进度条小窗口预览,列表切换详情页面无缝播放,rtsp、concat、mpeg。
Stars: ✭ 16,948 (+2196.48%)
Mutual labels:  exoplayer
Exoplayer
An extensible media player for Android
Stars: ✭ 18,648 (+2426.83%)
Mutual labels:  exoplayer

ExoPlayerFilter

Platform API

This library uses OpenGL Shaders to apply effects on ExoPlayer video at Runtime and
depends EXOPlayer core 2.10.2.

Gradle

Step 1. Add the JitPack repository to your build file

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

Step 2. Add the dependency

    dependencies {
        implementation 'com.github.MasayukiSuda:ExoPlayerFilter:v0.2.5'
        implementation 'com.google.android.exoplayer:exoplayer-core:2.10.2'
    }

This library depends ExoPlayer core 2.10.2

Sample Usage

STEP 1

Create SimpleExoPlayer instance. In this case, play MP4 file.
Read this if you want to play other video formats.

    // Produces DataSource instances through which media data is loaded.
    DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(context, Util.getUserAgent(this, "yourApplicationName"));

    // This is the MediaSource representing the media to be played.
    MediaSource videoSource = new ProgressiveMediaSource.Factory(dataSourceFactory)
           .createMediaSource(Uri.parse(Constant.STREAM_URL_MP4_VOD_LONG));

    // SimpleExoPlayer
    player = ExoPlayerFactory.newSimpleInstance(this);
    // Prepare the player with the source.
    player.prepare(videoSource);
    player.setPlayWhenReady(true);

STEP 2

Create EPlayerView and set SimpleExoPlayer to EPlayerView.

    ePlayerView = new EPlayerView(this);
    // set SimpleExoPlayer
    ePlayerView.setSimpleExoPlayer(player);
    ePlayerView.setLayoutParams(new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    // add ePlayerView to WrapperView
    ((MovieWrapperView) findViewById(R.id.layout_movie_wrapper)).addView(ePlayerView);
    ePlayerView.onResume();

STEP 3

Set Filter. Filters is here.
Custom filters can be created by inheriting GlFilter.java.

    ePlayerView.setGlFilter(new GlSepiaFilter());

Special Thanks to

License

Copyright 2017 MasayukiSuda

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ExoPlayer and ExoPlayer demo.

Copyright (C) 2014 The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
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].