Optimized custom-convert.conf transcode rules for mobile Squeezebox clients.
This plugin provides optimized transcode rules for mobile streaming apps that connect to Lyrion Music Server (LMS). Once installed, LMS automatically uses these rules for supported mobile apps.
- LyrPlay (iOS) - Optimized for iPhone/iPad streaming
- Others?
- In LMS web interface, go to Settings → Plugins → Third Party
- Add a 3rd party plugin at this link: https://raw.githubusercontent.com/mtxmiller/MobileTranscode/main/repo.xml
- Find Mobile Transcode Rules and click Install
- Restart LMS
- Done! Your mobile app automatically uses the optimized rules
How it works: LMS automatically searches all plugin directories for custom-convert.conf files. When you install this plugin, LMS finds and uses the rules immediately after restart.
Want to add your mobile app's rules to this plugin? Here's how:
In your SlimProto HELO capabilities:
Model=YourAppName,ModelName=Your App Display Name,...
Fork this repository and add your app's rules to custom-convert.conf:
# YourAppName (Platform) - Brief description of your optimization choices
flc flc YourAppName *
# IFT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=-r %d}
[flac] -dcs $START$ $END$ --force-raw-format --sign=signed --endian=little -- $FILE$ | [sox] -q -t raw --encoding signed-integer -b $SAMPLESIZE$ -r $SAMPLERATE$ -c $CHANNELS$ -L - -t flac -r 44100 -C 0 -b 16 -
flc ops YourAppName *
# IFT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=-r %d}
[flac] -dcs $START$ $END$ --force-raw-format --sign=signed --endian=little -- $FILE$ | [opusenc] --raw --raw-bits=$SAMPLESIZE$ --raw-rate=$SAMPLERATE$ --raw-chan=$CHANNELS$ --bitrate=256 - -
flc ogg YourAppName *
# IFT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=-r %d}
[flac] -dcs $START$ $END$ --force-raw-format --sign=signed --endian=little -- $FILE$ | [sox] -q -t raw --encoding signed-integer -b $SAMPLESIZE$ -r $SAMPLERATE$ -c $CHANNELS$ -L - -t ogg -C 10 -
See custom-convert.conf in this plugin for a complete template with detailed comments.
Include:
- App name and platform
- Explanation of your quality/bandwidth choices
- Platform-specific notes if any
Rule Matching:
LMS matches transcode rules based on the Model field in your SlimProto HELO packet.
Model=LyrPlay → Matches: flc flc LyrPlay *
Model=YourApp → Matches: flc flc YourApp *
Rule Format:
[source] [dest] [model] [player]
# [flags]:{[capabilities]}
[transcode pipeline]
- I (Initial) - Synchronous pipeline launch (waits for transcoder)
- F (Fast) - Async pipeline launch (sends audio immediately)
- T (Time) - Supports seek with
{START=--skip=%t} - U (Until) - Supports duration with
{END=--until=%v} - D (Resample) - Supports resampling with
{RESAMPLE=-r %d}
Choose flags based on your app's requirements - different platforms have different needs.
FLAC Output:
-r 44100or-r 48000- Sample rate (Hz)-b 16or-b 24- Bit depth (bits)-C 0to-C 8- Compression level (0=fast, 8=best)
Opus Output:
--bitrate=128to--bitrate=320- Quality (kbps)
OGG Vorbis Output:
-C 0to-C 10- Quality level
MP3 Output:
-b 128to-b 320- Bitrate (kbps), 320 recommended for quality
If you want to see or edit the rules directly:
- Go to Settings → Information in LMS
- Find your Plugins folder path
- Navigate to
Plugins/MobileTranscode/custom-convert.conf - Edit as needed
- Restart LMS
Note: Changes will be overwritten when you update the plugin. For permanent custom rules, fork the plugin or maintain your own custom-convert.conf in your LMS prefs directory.
Mobile streaming has unique requirements:
- Network Variability - Cellular vs WiFi bandwidth
- Battery Constraints - Efficient codecs save power
- Platform Differences - iOS, Android behave differently
- User Behavior - Mobile users seek/skip frequently
Custom transcode rules let each app optimize for its platform and use case.
We welcome contributions from all mobile Squeezebox developers!
To contribute:
- Fork: https://github.com/mtxmiller/MobileTranscode
- Add your app's rules to
custom-convert.conf - Update this README with your app name
- Submit a pull request
- Plugin Issues: https://github.com/mtxmiller/MobileTranscode/issues
- LyrPlay App: https://github.com/mtxmiller/LyrPlay
- LMS Forums: https://forums.lyrion.org
MIT License - Free to use and modify.
- Eric Miller (mtxmiller) - Plugin creator, LyrPlay developer
- Lyrion Community - For maintaining LMS
- Mobile Squeezebox Developers - For keeping the ecosystem alive
Version: 1.3.0 Last Updated: December 2025