All Projects → natario1 → Transcoder

natario1 / Transcoder

Licence: apache-2.0
🎞 Hardware-accelerated video transcoding using Android MediaCodec APIs. Supports cropping, concatenation, clipping, audio processing, video speed and much more.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Transcoder

Mp4composer Android
This library generate an Mp4 movie using Android MediaCodec API and apply filter, scale, trim, transcode, crop, timeScale, mute and rotate Mp4.
Stars: ✭ 674 (+66.83%)
Mutual labels:  video-processing, h264, video-editing
Trinity
android video record editor muxer sdk
Stars: ✭ 609 (+50.74%)
Mutual labels:  opengl, mp4, h264
Gifcompressor
An Android tool to compresses your GIFs into lightweight MP4 video using fast, hardware-accelerated encoders. Supports cropping, rotation, GIF concatenation and much more.
Stars: ✭ 85 (-78.96%)
Mutual labels:  opengl, opengl-es, mp4
camstudio
CamStudio fork
Stars: ✭ 83 (-79.46%)
Mutual labels:  h264, mp4
Implicit-Internal-Video-Inpainting
[ICCV 2021]: IIVI: Internal Video Inpainting by Implicit Long-range Propagation
Stars: ✭ 190 (-52.97%)
Mutual labels:  video-processing, video-editing
live-stream-media-source-extensions
Live stream h264 encoded mp4 video on media source extensions using ffmpeg, node.js, socket.io, and express. Works in chrome, firefox, safari, and android. Not iOS compatible. Work has moved to mse-live-player repo =>
Stars: ✭ 24 (-94.06%)
Mutual labels:  h264, mp4
rrtsp client
Rust high level RTSP client
Stars: ✭ 12 (-97.03%)
Mutual labels:  h264, mp4
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (-34.9%)
Mutual labels:  opengl, opengl-es
video-audio-tools
To process/edit video and audio with Python+FFmpeg. [简单实用] 基于Python+FFmpeg的视频和音频的处理/剪辑。
Stars: ✭ 164 (-59.41%)
Mutual labels:  video-processing, video-editing
Node Video Lib
Node.js Video Library / MP4 & FLV parser / MP4 builder / HLS muxer
Stars: ✭ 264 (-34.65%)
Mutual labels:  mp4, h264
Rabbittoolbox
🤸🏾‍♀️👗开源的动画渲染软件,提倡以简单、易用,高质量的物理演算以及渲染质量和性能,为喜爱二次元动画的用户降低视频制作门槛
Stars: ✭ 309 (-23.51%)
Mutual labels:  opengl, opengl-es
Nager.VideoStream
Get images from a network camera stream or webcam
Stars: ✭ 27 (-93.32%)
Mutual labels:  h264, video-processing
ffcvt
ffmpeg convert wrapper tool
Stars: ✭ 32 (-92.08%)
Mutual labels:  mp4, video-processing
laav
Asynchronous Audio / Video Library for H264 / MJPEG / OPUS / AAC / MP2 encoding, transcoding, recording and streaming from live sources
Stars: ✭ 50 (-87.62%)
Mutual labels:  h264, video-processing
SSffmpegVideoOperation
This is a library of FFmpeg for android... 📸 🎞 🚑
Stars: ✭ 261 (-35.4%)
Mutual labels:  mp4, video-processing
Qfusion
Source code for cross-platform OpenGL gaming engine
Stars: ✭ 255 (-36.88%)
Mutual labels:  opengl, opengl-es
Lwjgl3
LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan), audio (OpenAL), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR) applications.
Stars: ✭ 3,540 (+776.24%)
Mutual labels:  opengl, opengl-es
Auto Editor
Auto-Editor: Effort free video editing!
Stars: ✭ 382 (-5.45%)
Mutual labels:  video-processing, video-editing
Vk Gl Cts
Khronos Vulkan, OpenGL, and OpenGL ES Conformance Tests
Stars: ✭ 324 (-19.8%)
Mutual labels:  opengl, opengl-es
demuxer
A tool for demux ts/mp4/flv by typescript. Support HEVC/AVC/AAC codec
Stars: ✭ 108 (-73.27%)
Mutual labels:  h264, mp4

Build Status Release Issues

Looking for a powerful camera library to take videos? Take a look at our CameraView.

Need support, consulting, or have any other business-related question? Feel free to get in touch.

Like the project, make profit from it, or simply want to thank back? Please consider sponsoring me!

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 18+.

implementation 'com.otaliastudios:transcoder:0.10.0'
  • 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]

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.

Support

If you like the project, make profit from it, or simply want to thank back, please consider sponsoring me through the GitHub Sponsors program! You can have your company logo here, get private support hours or simply help me push this forward.

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

Feel free to contact me for support, consulting or any other business-related question.

Setup

Please read the official website for setup instructions and documentation. You might also be interested in our changelog. Using Transcoder is extremely simple:

Transcoder.into(filePath)
        .addDataSource(context, uri) // or...
        .addDataSource(filePath) // or...
        .addDataSource(fileDescriptor) // or...
        .addDataSource(dataSource)
        .setListener(new TranscoderListener() {
             public void onTranscodeProgress(double progress) {}
             public void onTranscodeCompleted(int successCode) {}
             public void onTranscodeCanceled() {}
             public void onTranscodeFailed(@NonNull Throwable exception) {}
        }).transcode()

Take a look at the demo app for a complete example.

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].