Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

com.otaliastudios:transcoder

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

com.otaliastudios:transcoder

Accelerated video compression and transcoding on Android using MediaCodec APIs (no FFMPEG/LGPL licensing issues). Supports cropping to any dimension, concatenation, audio processing and much more.

  • 0.11.1
  • Source
  • Maven
  • Socket score

Version published
Maintainers
1
Source

Build Status Release Issues

Project logo

Transcoder

Transcodes and compresses video files into the MP4 format, with audio support, using hardware-accelerated Android codecs available on the device. Works on API 21+.

  • Fast transcoding to AAC/AVC
  • Hardware accelerated
  • Convenient, fluent API
  • Thumbnails support
  • 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]
// build.gradle.kts
dependencies {
    implementation("io.deepmedia.community:transcoder-android:0.11.1")
}

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.

Transcoder is trusted and supported by ShareChat, a social media app with over 100 million downloads.

Please check out the official website for setup instructions and documentation. You may also check the demo app (under /demo) for a complete example.

Transcoder.into(filePath)
    .addDataSource(context, uri) // or...
    .addDataSource(filePath) // or...
    .addDataSource(fileDescriptor) // or...
    .addDataSource(dataSource)
    .setListener(object : TranscoderListener {
         override fun onTranscodeProgress(progress: Double) = Unit
         override fun onTranscodeCompleted(successCode: Int) = Unit
         override fun onTranscodeCanceled() = Unit
         override fun onTranscodeFailed(exception: Throwable) = Unit
    }).transcode()

FAQs

Package last updated on 10 Sep 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc