python-audiotranscode
python-audiotranscode copied to clipboard
transcode using installed codecs (lame mp3, ogg vorbis, flac, aac, wav)
audiotranscode
python module to transcode between audio formats using the CLI frontends of the codecs already installed on your system, e.g lame, vorbis-tools etc
supported python versions:
- 2.6
- 2.7
- 3.2
- 3.3
- pypy
supported formats
As of now audiotranscode can transcode between any of the following formats:
filetype (program used)
- mp3 (lame, ffmpeg)
- ogg (vorbis oggenc/oggdec, ffmpeg)
- aac/m4a (faac, faad)
- flac (flac)
- wav
command line usage
audiotranscoder [-b BITRATE] <infile> <outfile>
bitrate is specified in kbits/s.
<input> is the path to the file that needs to be transcoded.
<output> is the output path. The file extension of the output determines the output format
audiotranscoder --codecs
shows all installed codecs
programatical usage
Using audiotranscode is as easy as py:
import audiotranscode
at = audiotranscode.AudioTranscode()
at.transcode('path/to/some.mp3','output/path.ogg')
you can also set the bitrate of the output stream, like so:
at.transcode('path/to/some.aac','output/path.mp3',bitrate=128)
You can also get the encoded data on the fly for live transcoding:
for data in at.transcode_stream('path/to/some.flac','mp3'):
# do something with chuck of data
# e.g. sendDataToClient(data)
If you need to know which formats can be transcoded:
at = audiotranscode = AudioTranscode()
at.available_encoder_formats() #returns list like ['mp3','ogg', ...]
at.available_decoder_formats() #returns list like ['mp3','ogg', ...]
limitations
As of now, i have only tested 16bit, 44100Hz, 2 channel audio, since it is the most used, other formats might or might not work.
But feel free fork this repo and to add stuff!