PDA

View Full Version : transcoding on a per-player basis



John McNamara
2004-05-26, 20:23
My music collection is mainly AAC (.m4a) and I'd like to have my
slimserver setup to:

1. do .m4a -> .aif for my squeezebox (on my LAN)
2. do .m4a -> .aif -> .mp3 for softsqueeze (internet, limited by my
upstream bandwidth)

I installed lame and now transcoding works great. The problem is it
now transcodes (to .mp3) for my squeezebox too. I haven't found any
way around this as it seems slimserver always tries .mp3 first, and if
it can make the conversion it does that. Looking at Source.pm it seems
this is the way things work:

foreach my $checkformat (@supportedformats) {

my @profiles = (
"$type-$checkformat-$player-$clientid",
"$type-$checkformat-*-$clientid",
"$type-$checkformat-$player-*",
"$type-$checkformat-*-*",
);

foreach my $profile (@profiles) {

$::d_source && msg("checking formats for: $profile\n");
...


So the outer loop is on format, and the first format that works is what
will be used. Is there some work-around I'm missing, something that
might give me the desired functionality I sketched out above? I'm
willing to put player specific rules in convert.conf for instance. It
occurred to me that one idea would be to have the mov -> mp3 rule not
match my squeezebox but it seems you can't have a negation in the
destination_device* field of convert.conf.

--
John

kdf
2004-05-26, 23:23
In the recent nightly builds, and in Server release 5.2 (coming soon) each
player has a 'bitrate limiting' setting. This setting will control the
preference for either wav or mp3 output on squeezebox. Wired squeezebox will
default to 'no limit' which means it will play any format to uncompressed, and
mp3's native. Wireless defaults to 320kbps, which transcodes all formats to
320kbps mp3. This can be chnaged manually if your wireless performance allows
you uninterrupted PCM.

-kdf

Quoting John McNamara <jmcnamara (AT) mac (DOT) com>:

> My music collection is mainly AAC (.m4a) and I'd like to have my
> slimserver setup to:
>
> 1. do .m4a -> .aif for my squeezebox (on my LAN)
> 2. do .m4a -> .aif -> .mp3 for softsqueeze (internet, limited by my
> upstream bandwidth)
>
> I installed lame and now transcoding works great. The problem is it
> now transcodes (to .mp3) for my squeezebox too. I haven't found any
> way around this as it seems slimserver always tries .mp3 first, and if
> it can make the conversion it does that. Looking at Source.pm it seems
> this is the way things work:
>
> foreach my $checkformat (@supportedformats) {
>
> my @profiles = (
> "$type-$checkformat-$player-$clientid",
> "$type-$checkformat-*-$clientid",
> "$type-$checkformat-$player-*",
> "$type-$checkformat-*-*",
> );
>
> foreach my $profile (@profiles) {
>
> $::d_source && msg("checking formats for: $profile\n");
> ...
>
>
> So the outer loop is on format, and the first format that works is what
> will be used. Is there some work-around I'm missing, something that
> might give me the desired functionality I sketched out above? I'm
> willing to put player specific rules in convert.conf for instance. It
> occurred to me that one idea would be to have the mov -> mp3 rule not
> match my squeezebox but it seems you can't have a negation in the
> destination_device* field of convert.conf.
>
> --
> John