Transcoding is the process of converting from one media format to another. Subsonic's transcoding engine allows for streaming of media that would normally not be streamable, for instance lossless formats. The transcoding is performed on-the-fly and doesn't require any disk usage.
The actual transcoding is done by third-party command line programs which must be installed in c:\subsonic\transcode (on Windows), /var/subsonic/transcode (other operating systems), or in a directory present in the PATH environment variable.
Up to three transcoders can be chained together. For instance, to convert FLAC to MP3 you would typically use a FLAC decoder which converts to WAV, and chain it with a WAV to MP3 encoder.
A transcoding pack for Windows with a selection of codecs can be downloaded here. It supports the following media types:
| Name | Convert from | Convert to | Step 1 | Step 2 |
|---|---|---|---|---|
| wav > mp3 | wav | mp3 | lame -b %b -S %s - | |
| ogg > mp3 | ogg | mp3 | oggdec %s -o | lame -b %b - - |
| wma > mp3 | wma | mp3 | wmadec %s | lame -b %b -x - - |
| flac > mp3 | flac | mp3 | flac -c -s -d %s | lame -b %b - - |
| ape > mp3 | ape | mp3 | mac %s - -d | lame -b %b - - |
| m4a > mp3 | m4a | mp3 | faad -w %s | lame -b %b -x - - |
| mpc > mp3 | mpc | mp3 | mppdec --wav --silent %s - | lame -b %b - - |
| ofr > mp3 | ofr | mp3 | ofr --decode --silent %s --output - | lame -b %b - - |
| wv > mp3 | wv | mp3 | wvunpack -q %s - | lame -b %b - - |
| shn > mp3 | shn | mp3 | shorten -x %s - | lame -b %b - - |