Menu toggle
latest: v0.9.1 GitHub


Transcoder is a well documented Android library providing hardware-accelerated video transcoding, using MediaCodec APIs instead of native code (no FFMPEG patent issues).

  • Fast transcoding to AAC/AVC
  • Hardware accelerated
  • Multithreaded
  • Convenient, fluent API
  • Concatenate multiple video and audio tracks [docs]
  • Clip or trim video segments [docs]
  • Choose output size, with automatic cropping [docs]
  • Choose output rotation [docs]
  • Choose output speed [docs]
  • Choose output frame rate [docs]
  • Choose output audio channels [docs]
  • Choose output audio sample rate [docs]
  • Override frames timestamp, e.g. to slow down the middle part of the video [docs]
  • Error handling [docs]
  • Configurable validators to e.g. avoid transcoding if the source is already compressed enough [docs]
  • Configurable video and audio strategies [docs]

Get started

Get started with install info, quick setup, or start reading the in-depth documentation.


This project started as a fork of ypresto/android-transcoder. With respect to the source project, which misses most of the functionality listed above, we have also fixed a huge number of bugs and are much less conservative when choosing options that might not be supported. The source project will always throw - for example, accepting only 16:9, AVC Baseline Profile videos - we prefer to try and let the codec fail if it wants to.


If you like the project, use it with profit, and want to thank back, please consider donating or becoming a supporter.