All Projects → enzo1982 → superfast

enzo1982 / superfast

Licence: GPL-2.0 license
⚡ SuperFast codecs for fre:ac

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to superfast

nipper
🌶 💽 Nipper - Youtube playlist (& video) ripper
Stars: ✭ 23 (-61.02%)
Mutual labels:  aac, opus
loudgain
ReplayGain 2.0 loudness normalizer based on the EBU R128/ITU BS.1770 standard (-18 LUFS, FLAC, Ogg, MP2, MP3, MP4, M4A, AAC, ALAC, Opus, ASF, WMA, WAV, AIFF, WavPack, APE)
Stars: ✭ 127 (+115.25%)
Mutual labels:  aac, opus
Youtube-DL-GUI
Graphical User Interace built around youtube-dl CLI
Stars: ✭ 38 (-35.59%)
Mutual labels:  aac, opus
libwinmedia
[Archived] A cross-platform simple media playback library for C/C++.
Stars: ✭ 35 (-40.68%)
Mutual labels:  aac, opus
fdk-aac-win32-builder
libfdk-aac for Windows binary builder
Stars: ✭ 25 (-57.63%)
Mutual labels:  aac, fdk-aac
uos
United Open-libraries of Sound. United procedures for open-source audio libraries. For FPC/Lazarus/fpGUI/MSEgui.
Stars: ✭ 112 (+89.83%)
Mutual labels:  opus
Master-Thesis
Deep Reinforcement Learning in Autonomous Driving: the A3C algorithm used to make a car learn to drive in TORCS; Python 3.5, Tensorflow, tensorboard, numpy, gym-torcs, ubuntu, latex
Stars: ✭ 33 (-44.07%)
Mutual labels:  multi-threading
Octavo
Verilog FPGA Parts Library. Old Octavo soft-CPU project.
Stars: ✭ 66 (+11.86%)
Mutual labels:  multi-threading
demuxer
A tool for demux ts/mp4/flv by typescript. Support HEVC/AVC/AAC codec
Stars: ✭ 108 (+83.05%)
Mutual labels:  aac
arduino-audio-tools
Arduino Audio Tools (Music Player, Music Recorder supporting I2S, Microphones, DAC, ADC, A2DP, Url, MP3, AAC, AudioKit, ES8388)
Stars: ✭ 393 (+566.1%)
Mutual labels:  aac
Potato
Read the fucking source code for the Android interview
Stars: ✭ 67 (+13.56%)
Mutual labels:  aac
thread-pool
BS::thread_pool: a fast, lightweight, and easy-to-use C++17 thread pool library
Stars: ✭ 1,043 (+1667.8%)
Mutual labels:  multi-threading
morsel
📇 Swift library for creating HLS playlists and fragmented mp4 files. Works on Linux and iOS.
Stars: ✭ 26 (-55.93%)
Mutual labels:  aac
RtmpPublishKit
rtmp publish kit for android , encode with mediacodec
Stars: ✭ 106 (+79.66%)
Mutual labels:  aac
ReactiveLiveData
An RxJava Extension for the LiveData observer introduced by Google.
Stars: ✭ 17 (-71.19%)
Mutual labels:  aac
YingKe-MediaCodec
学习实践MediaCodeC。Android MediaCodec API 实现下载网络video,MediaCodec播放器播放视频,MediaCodec录视频,MediaCodec实视频转码,MediaCodec从视频分离音频aac,MediaCodec音频解码pcm原始数据,MediaCodec多个音频进行混音,MediaCodec拼接多个视频
Stars: ✭ 79 (+33.9%)
Mutual labels:  aac
Realtime AudioDenoise EchoCancellation
No description or website provided.
Stars: ✭ 91 (+54.24%)
Mutual labels:  speex
dasher-web
Dasher text entry in HTML, CSS, JavaScript, and SVG
Stars: ✭ 34 (-42.37%)
Mutual labels:  aac
table2pojo
Generate POJOs for database table/columns
Stars: ✭ 16 (-72.88%)
Mutual labels:  multi-threading
goicy
AAC and MPEG (MP1, MP2, MP3) Icecast/Shoutcast source client written in Go
Stars: ✭ 58 (-1.69%)
Mutual labels:  aac

Attention: SuperFast codecs have been integrated into mainline fre:ac. This repository is kept here for reference only, but is no longer updated. Please refer to the fre:ac Component Architecture project for an up to date version of this code.

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

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