-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcustom-convert.conf
More file actions
77 lines (71 loc) · 4.18 KB
/
custom-convert.conf
File metadata and controls
77 lines (71 loc) · 4.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Mobile Transcode Rules for Lyrion Music Server
# Optimized custom-convert.conf rules for mobile Squeezebox clients
#
# This plugin provides optimized transcode rules for mobile streaming apps.
# Each app can define its own rules based on its specific needs.
#
# Installation:
# 1. Copy the rules for your app to LMS prefs/custom-convert.conf
# 2. Restart LMS
# 3. Your mobile app will automatically use these rules
# ============================================================================
# LyrPlay (iOS) - Optimized for iOS devices
# ============================================================================
# Note: Uses FT flag for fast pipeline launch to prevent timeout errors on iOS
# Conservative settings: 44.1kHz, 16-bit, moderate bitrates
# FLAC to FLAC transcoding with fresh headers for seeking support
# ALWAYS transcodes to generate complete FLAC headers for BASS push stream compatibility
# Supports sample rate resampling via D:{RESAMPLE=-r %d}
flc flc LyrPlay *
# FT:{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 $RESAMPLE$ -C 0 -
# WAV transcoding for lossless audio streaming reliability
# Generates standard wav headers for maximum BASS compatibility - solves HTTP streaming issues
flc wav LyrPlay *
# FT:{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 wav $RESAMPLE$ -
# Opus transcoding for superior bandwidth efficiency
# 256kbps provides excellent quality with smaller file sizes
flc ops LyrPlay *
# FT:{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 - -
# OGG Vorbis transcoding for bandwidth-efficient streaming
# Quality level 10 provides ~320kbps equivalent quality
flc ogg LyrPlay *
# FT:{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 -
# MP3 transcoding at 320kbps for high-quality mobile streaming
# Uses -b 320 instead of $BITRATE$ to override the 128kbps default
flc mp3 LyrPlay *
# FT:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=--resample %D}
[flac] -dcs $START$ $END$ -- $FILE$ | [lame] --silent -q 0 $RESAMPLE$ -b 320 - -
# ============================================================================
# Add Your App's Rules Here
# ============================================================================
# To add transcode rules for your mobile app:
#
# 1. Set your app's Model name in SlimProto HELO capabilities
# Example: Model=YourApp
#
# 2. Copy the template below and customize:
# - Replace "YourApp" with your model name
# - Adjust flags (IFT/FT/IF/I/F) based on your app's needs
# - Set quality parameters (sample rate, bit depth, bitrate)
#
# 3. Test thoroughly with your app
#
# 4. Share your rules with the community!
#
# Template:
#
# flc flc YourApp *
# # 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 YourApp *
# # 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 YourApp *
# # 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 -