A tool for the transcoding of audio from lossless sources
Project description
# OATS OATS is Another Transcoding Script
OATS is a commandline tool that makes transcoding easy on Windows, Linux, or Mac. The only prerequisites for OATS are FFmpeg and Python3. It can also make torrents.
## A quick intro
OATS has one main script, called oats. Once installed you can make a quick config file to get started:
oats mkconfig
This will make a file in the current working directory named oats.conf. The options accessible there are the same as in the interface, so you can configure the defaults for your use. Any options specified at the command line take priority over the config file. All options not supplied to the command line will use their values set in the config file.
To see the options for oats, access the help:
oats -h
Here’s a sample command for transcoding two albums to MP3 at constant bitrate of 320 and MP3 of variable bitrate, quality 2, resulting files will be put into a directory named transcodes:
oats –output-dir transcodes –formats “MP3 CBR 320,MP3 VBR 2” Album1 Album2
## What formats can I use?
The best way to see what audio formats you can use is to enter
oats -F
which will print a list of all available formats on your system. Formats may allow parsed arguments which will be described per {name;units:restrictions}. For instance “MP3 CBR {bitrate;kbps:8-320}” indicates that MP3 constant bitrate accepts values in kbps between 8 and 320.
## Torrent creation options
The following options pertain to torrent creation: –torrent=<bool>, –announce-url=<url>, –torrent-dir=<dir>, and –source=<str>. A full example of these options is given here.
oats –torrent true –torrent-dir torrent_output –announce-url https://blah.com MyAlbum
## Tool Extensibility in OATS
OATS is a frontend to a variety of audio codec tools. In its first iteration it was just a frontend to FFmpeg, but now is able to modularly use different tools and dynamically detect what is available. For instance, if you install LAME on your system, and “lame” can be found on the path, OATS will attempt to encode your MP3s with it instead of FFmpeg (currently, FFmpeg’s Xing header is considered deficient). Similarly, Opus Tools’ opusenc and opusdec, and Vorbis Tools’ oggenc and oggdec will be employed over FFmpeg.
FFmpeg provides a good baseline of support for most formats, and you may never need anything else. I hope to also add Sound eXchange (SoX) in the future as a general tool.
## TODO - Things I want to do that are not yet done
ALAC support
AAC support
SoX Codecs
Channel Ops?
Possibly provide workaround for Windows Powershell tab-completion bug
magnet link support
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.