https://github.com/sheyll/mediabus-fdk-aac
Mediabus plugin for the Frauenhofer ISO-14496-3 AAC FDK
https://github.com/sheyll/mediabus-fdk-aac
Last synced: 3 months ago
JSON representation
Mediabus plugin for the Frauenhofer ISO-14496-3 AAC FDK
- Host: GitHub
- URL: https://github.com/sheyll/mediabus-fdk-aac
- Owner: sheyll
- License: bsd-3-clause
- Created: 2017-03-01T04:40:40.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-29T19:59:41.000Z (about 3 years ago)
- Last Synced: 2025-10-21T13:48:28.326Z (5 months ago)
- Language: Haskell
- Size: 87.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Frauenhofer ISO-14496-3 AAC FDK [mediabus](https://github.com/sheyll/mediabus) Integration
[](http://hackage.haskell.org/package/mediabus-fdk-aac)
A wrapper around the Frauenhofer Development Kit (FDK) for AAC.
Currently only encoding is supported.
This library requires that this C-library including the header files is
installed and can by queried via `pkg-config`.
## Usage Example
The easiest way to use this package is via the `Conduit` interface.
An example is found in [examples/Main.hs](http://github.com/lindenbaum/mediabus-fdk-aac/blob/master/examples/Main.hs).
Encoding via the conduit interface basically boils down to:
```haskell
.| encodeLinearToAacC (aacEncoderConfig aacHe48KhzStereo)
```
In this specific case `encodeLinearToAacC` has the type:
```haskell
encodeLinearToAacC ::
AacEncoderConfig (Hz 48000) Stereo 'HighEfficiency -- The encoder cofiguration
-> Conduit -- The resulting Conduit
(Stream SrcId32 -- Input: The Stream id is a 'SrcId32'
SeqNum16 -- 16 bit frame sequence numbers
(Ticks64 (Hz 48000)) -- 64 bit frame timestamps at 48kHz sample rate
() -- no stream-info for raw audio
(Audio (Hz 48000) Stereo (Raw S16))) -- linear signed 16bit stereo audio data
(ResourceT (LoggingT IO)) -- Monad: Logging and Resource management over IO
(Stream SrcId32 -- Output:
SeqNum64
(Ticks64 (Hz 48000))
(AacEncoderInfo (Hz 48000) Stereo 'HighEfficiency) -- AAC Stream Info: Framelength and Audio Specific Config
(Audio (Hz 48000) Stereo (Aac 'HighEfficiency))) -- AAC-HE audio data
```