Skip to content

Instantly share code, notes, and snippets.

@boostrack
Last active August 29, 2015 14:16
Show Gist options
  • Save boostrack/5d08b1ebc62a8af94cde to your computer and use it in GitHub Desktop.
Save boostrack/5d08b1ebc62a8af94cde to your computer and use it in GitHub Desktop.

Android Video PLayers

This document is a resume of the players best players / projects / code found found all over the internet for Smooth Video Playback on Android.

ITEC-MediaPlayer

The ITEC MediaPlayer library is a video player library for Android supporting exact seeking to frames, playback speed adjustment, shader support, zooming & panning, frame extraction and a lot of media source protocols and formats, including DASH. It strives to be an API-compatible direct replacement for the Android MediaPlayer and VideoView components and builds upon the Android MediaExtractor and MediaCodec API components. It is very lightweight, easy to use, makes native code / NDK fiddling unnecessary, and works from Android 4.1 up.

  • Source code:

    https://github.com/protyposis/ITEC-MediaPlayer
  • Features

    • Direct replacement for Android components

    • Frame-exact seeking

    • Playback speed adjustment

    • GLES shader support

    • Picture zooming/panning support

    • Frame extraction

    • Local files and network sources

    • Supports all Android network protocols and media formats

    • DASH support

    • Lightweight (all components total to ~100kB)

  • Demo available on the Google Play Store.

    https://play.google.com/store/apps/details?id=at.aau.itec.android.mediaplayerdemo

VLC Android RELEASE 1.0.0

  • Source code:

    git://git.videolan.org/vlc-ports/android.git
  • Docs

    https://www.videolan.org/vlc/download-android.html
    https://wiki.videolan.org/Documentation:Android/
    http://www.theverge.com/2015/2/27/8123217/vlc-major-update-ios-windows-android
  • Supported Video Formats:

    .3g2 .3gp .3gp2 .3gpp .amv .asf .avi .divx .drc .dv .f4v .flv .gvi .gxf .ismv .iso .m1v .m2v .m2t .m2ts .m3u8 .mkv .mov .mp2 .mp2v .mp4 .mp4v .mpe .mpeg .mpeg1 .mpeg2 .mpeg4 .mpg .mpv2 .mts .mtv .mxf .mxg .nsv .nut .nuv .ogm .ogv .ogx .ps .rec .rm .rmvb .tod .ts .tts .vob .vro .webm .wm .wmv .wtv .xesc .3G2 .3GP .3GP2 .3GPP .AMV .ASF .AVI .DIVX .DRC .DV .F4V .FLV .GVI .GXF .ISMV .ISO .M1V .M2V .M2T .M2TS .M3U8 .MKV .MOV .MP2 .MP2V .MP4 .MP4V .MPE .MPEG .MPEG1 .MPEG2 .MPEG4 .MPG .MPV2 .MTS .MTV .MXF .MXG .NSV .NUT .NUV .OGM .OGV .OGX .PS .REC .RM .RMVB .TOD .TS .TTS .VOB .VRO .WEBM .WM .WMV .WTV .XESC
  • Supported Audio Formats:

    .3ga .a52 .aac .ac3 .adt .adts .aif .aifc .aiff .amr .aob .ape .awb .caf .dts .flac .it .m4a .m4b .m4p .mid .mka .mlp .mod .mpa .mp1 .mp2 .mp3 .mpc .mpga .oga .ogg .oma .opus .ra .ram .rmi .s3m .spx .tta .voc .vqf .w64 .wav .wma .wv .xa .xm .3GA .A52 .AAC .AC3 .ADT .ADTS .AIF .AIFC .AIFF .AMR .AOB .APE .AWB .CAF .DTS .FLAC .IT .M4A .M4B .M4P .MID .MKA .MLP .MOD .MPA .MP1 .MP2 .MP3 .MPC .MPGA .OGA .OGG .OMA .OPUS .RA .RAM .RMI .S3M .SPX .TTA .VOC .VQF .W64 .WAV .WMA .WV .XA .XM
  • Demo available on the Google Play Store.

    https://play.google.com/store/apps/details?id=org.videolan.vlc

INTEL Android MediaPlayer

  • INTEL INDE - Android

    https://github.com/INDExOS/media-for-mobile
    Article: https://software.intel.com/en-us/articles/sample-application-video-player
    Sample Code: https://software.intel.com/sites/default/files/article/328493/videoplayer_0.zip (44.21 MB)
  • Article Whitepaper + Source Code

    https://software.intel.com/en-us/android/articles/android-mediaplayer-sample-code-walkthrough-on-intel-architecture
    https://software.intel.com/en-us/android/articles/sample-code-media-sample-for-android-basic-media-player
    https://software.intel.com/de-de/articles/sample-code-media-sample-for-android-advanced-media-player

Youtube Direct Lite Android

Reference implementation for an Android OS application that captures video, uploads it to YouTube, and submits the video to a YouTube Direct Lite instance.

  • Source code:

    https://github.com/youtube/yt-direct-lite-android
  • Features:

    Basically it shows how to read and obtain data from a Youtube Channel and how to use youtube apis that might be use useful for reference implementation  as we use Youtube as video content provider.
    Requires an API_KEY mostly because of age check for looking for adult content and some other stuff.. e.g storage

Youtube WatchMe for Android

This application make use of YouTube Data API v3 , YouTube Live Streaming API, Google Play Services and Plus API

Some arguments as for Youtube Direct Lite Android apply here.

  • Source code:

    https://github.com/youtube/yt-watchme.git

RockPlayer® 2.0 for Android (Uses FFmpeg / libAV)

dolphin-player (Uses FFmpeg / libAV)

Audio and Video Player for Android

  • Source code:

    https://code.google.com/p/dolphin-player/

ijkplayer

Android/iOS video player based on FFmpeg 2.5.x and Supports MediaCodec

  • Source code:

    https://github.com/bbcallen/ijkplayer

Mythtv Player For Android

Basically a Exoplayer wrapper plus some "doritos".

  • Source code:

    https://github.com/MythTV-Clients/MythtvPlayerForAndroid

Cine.io

Live video-streaming. Audio- and video-conferencing. Focus on coding your app and let us take care of your video needs.

  • Source code:

    https://github.com/cine-io

Brightcove Player SDK For Android

Basically some App examples how to use the Brightcove Player SDK. The Brightcove Player SDK is distributed as binary so no implementation details are available for free. If there is something on this that could be interesting we can see what can be done (reveng).

  • Source code:

    SDK (binary): http://files.brightcove.com/android-native-player-public-4.3.3.zip
    APP EXAMPLES (source): https://github.com/BrightcoveOS/android-player-samples
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment