Giter Club home page Giter Club logo

superfast's Introduction

SuperFast Codecs

Multi-threaded MP3, AAC, Opus and Speex codec drivers for fre:ac

This repository provides multi-threaded MP3, AAC, Opus and Speex codec drivers for use with the fre:ac audio converter. The components use multiple instances of the respective codecs in parallel to provide faster processing on systems with multiple CPU cores.

Technology

The idea to use multiple codec instances to speed-up audio encoding goes back to 2006 when the LAME MT project tried to build a multi-threaded MP3 encoder. This project picks up the original idea behind LAME MT and takes it to AAC, Opus and Speex encoding in addition to MP3.

To achieve a speed-up, the audio stream is divided into overlapping chunks of audio frames. The chunks are then given to the codec instances in a round-robin manner. Finally, encoded packets are taken from the codec instances and written to the output file in the correct order.

For technical details on how this is implemented, please refer to this blog post or the PDF. Additional details on the MP3 implementation can be found in this blog post.

Download

Download an experimental fre:ac build with multi-threaded Opus, FAAC*, FDK-AAC, Core Audio and Speex converters:

* The FAAC encoder is provided as a fallback when neither FDK-AAC nor the Core Audio encoder are available.

Repository Contents

The components folder contains multi-threaded drivers for the following encoders:

  • Core Audio AAC/ALAC (iTunes)
  • Fraunhofer FDK AAC Encoder
  • Free Advanced Audio Coder (FAAC)
  • LAME MP3 Encoder
  • Opus
  • Speex

Support for additional codecs might be added in the future.

Compiling

The following packages must be installed in order to compile these components:

When all prerequisites are met, run make followed by sudo make install to compile and install the multi-threaded encoder components.

To actually use the components, please install the fre:ac audio converter.


The official fre:ac homepage: https://www.freac.org/

[email protected],
Robert Kausch

superfast's People

Contributors

enzo1982 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.