Home of the Squeezebox™ & Transporter® network music players.
Page 28 of 28 FirstFirst ... 18262728
Results 271 to 278 of 278
  1. #271
    Senior Member
    Join Date
    Jun 2005
    Posts
    285
    Quote Originally Posted by gorman View Post
    While I'm eternally grateful to you for what you made possible, I think that somebody just looking to playback DTS/AC3 on Squeezeboxes could more easily achieve the result needed through Audiomuxer. To each his/her own obviously, but I feel it's an easier option nowadays.

    But again, smst, I am eternally grateful to you for making this possible back then. It was a dream come true. Thank you!
    You're welcome. Audiomuxer looks much friendlier and actively maintained, so by all means go for that instead.

  2. #272
    Senior Member
    Join Date
    Apr 2005
    Location
    Milan, Italy
    Posts
    514
    Quote Originally Posted by smst View Post
    You're welcome. Audiomuxer looks much friendlier and actively maintained, so by all means go for that instead.
    Have you ever managed to have AC3/DTS transcoded to downmixed stereo audio for SBs not connected to a AV receiver? I've been banging against a wall several times in the past few years, trying to achieve this.

  3. #273
    Senior Member
    Join Date
    Apr 2005
    Location
    Milan, Italy
    Posts
    514
    SUCCESS!!! It's not completely ideal, because it forces me to transcode FLAC files to wired units even when not needed but still... 320kbps are more than fine for Booms and the SB Classic connected to the audio monitors I have.

    All units uncapable of playing AC3/DTS files limited to 320kbps.

    Completely untouched convert.conf with the following in custom-conf:

    flc mp3 * 00:00:00:00:00:00
    # FB:{PATH=%f}T:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=--resample %D}
    [flac] -dcs $START$ $END$ -- $FILE$ | [ffmpeg] -loglevel quiet -i - -f mp3 -aq 0 -ac 2 -

    The above is repeated for all units, just changing the MAC address, including the one connected to the AV Receiver, which has unlimited bitrate. When the AV Receiver connected unit plays back unsynched, the audio is untouched and all is well. If it is synched to an DTS/AC3 unit, the bitrate limiting kicks in and it goes back to the transcoding process. If it plays a normal FLAC by itself, again, the audio is untouched.

    I don't think this is the most elegant solution and I'm open to suggestions to make it better. The only real drawback it has is what I mentioned. I have wired units, not connected to an AV Receiver, and those are forced to transcoding even if there would be no need for it. I also am forced to use FFMPEG and not LAME for transcoding. But maybe it uses LAME libraries anyway, I'll check about this. EDIT: yes, it does by default use libmp3lame. Good!

    One last thing: FFMPEG needs to be in its shared version, not the static one. I thought the static one used the same libraries or something, just all included. But only the shared one with external libraries seems to work correctly.

    EDIT: I have found a clean solution. It involved transcoding (losslessly) all my multichannel files to ALAC. I don't have anything else in ALAC in my collection (nor I plan on having anything), hence I can safely use a custom-convert.conf and have the ALAC handled according (converted to FLAC two channels for wired units, or MP3 two channels for wireless units).
    Last edited by gorman; 2016-03-08 at 10:09.

  4. #274
    Senior Member
    Join Date
    Jun 2005
    Posts
    285
    Quote Originally Posted by gorman View Post
    Have you ever managed to have AC3/DTS transcoded to downmixed stereo audio for SBs not connected to a AV receiver? I've been banging against a wall several times in the past few years, trying to achieve this.
    This is not something I've tried I'm afraid. The script I wrote is closer to a remuxer than a transcoder: it doesn't try to understand the audio data or make new audio data, but simply repackages the existing data in a slightly different format. The information content is the same, and the process is pretty "dumb".

  5. #275
    Senior Member
    Join Date
    Jun 2005
    Posts
    285
    Quote Originally Posted by gorman View Post
    SUCCESS!!! It's not completely ideal, because it forces me to transcode FLAC files to wired units even when not needed but still... 320kbps are more than fine for Booms and the SB Classic connected to the audio monitors I have.

    All units uncapable of playing AC3/DTS files limited to 320kbps.

    Completely untouched convert.conf with the following in custom-conf:

    flc mp3 * 00:00:00:00:00:00
    # FB:{PATH=%f}T:{START=--skip=%t}U:{END=--until=%v}D:{RESAMPLE=--resample %D}
    [flac] -dcs $START$ $END$ -- $FILE$ | [ffmpeg] -loglevel quiet -i - -f mp3 -aq 0 -ac 2 -

    The above is repeated for all units, just changing the MAC address, including the one connected to the AV Receiver, which has unlimited bitrate. When the AV Receiver connected unit plays back unsynched, the audio is untouched and all is well. If it is synched to an DTS/AC3 unit, the bitrate limiting kicks in and it goes back to the transcoding process. If it plays a normal FLAC by itself, again, the audio is untouched.

    I don't think this is the most elegant solution and I'm open to suggestions to make it better. The only real drawback it has is what I mentioned. I have wired units, not connected to an AV Receiver, and those are forced to transcoding even if there would be no need for it. I also am forced to use FFMPEG and not LAME for transcoding. But maybe it uses LAME libraries anyway, I'll check about this. EDIT: yes, it does by default use libmp3lame. Good!

    One last thing: FFMPEG needs to be in its shared version, not the static one. I thought the static one used the same libraries or something, just all included. But only the shared one with external libraries seems to work correctly.

    EDIT: I have found a clean solution. It involved transcoding (losslessly) all my multichannel files to ALAC. I don't have anything else in ALAC in my collection (nor I plan on having anything), hence I can safely use a custom-convert.conf and have the ALAC handled according (converted to FLAC two channels for wired units, or MP3 two channels for wireless units).
    Have you tried renaming the multichannel FLACs to have a different extension, and then setting custom configuration for that? (I might be missing something obvious there!)

  6. #276
    Senior Member
    Join Date
    Apr 2005
    Location
    Milan, Italy
    Posts
    514
    Quote Originally Posted by smst View Post
    Have you tried renaming the multi-channel FLACs to have a different extension, and then setting custom configuration for that? (I might be missing something obvious there!)
    What would be the point? I'd have my collection with messed up extensions, while I manage to get perfect results the way I described.

    I try to summarize below.

    The problem
    Having FLAC files containing encapsulated DTS or AC3 content works fine. I have tagged all multi channel files with genre 5.1, to easily browse my multi channel collection. Lately I've made good use of Multilibrary and CustomBrowse plugins to have even better access. But a problem remains in a multi-user situation (in my case, wife and daughter). There might players around the house synced to the AV Receiver connected Squeezebox, there might be cases where even with tagging and plugins (as mentioned) a player connected through analog connections is sent multi-channel material. In that case we all know what happens: white noise inferno!

    The solution
    First of all we need to losslessly convert all multi-channel content from FLAC to ALAC (Apple lossless). It might work with other lossless audio codes, I tried with ALAC for ease of use in my case (I used foobar2000 to mass convert). So ALAC is tried and tested (by me) but I see no logic reason why a different lossless format should not work, it's up to you trying.

    Once that is done, we need to download a recent release of FFMPEG (http://www.ffmpeg.org/download.html#releases), in my case (Windows) I used Zeranoe's build (https://ffmpeg.zeranoe.com/builds/) and I needed to use the shared version (with libraries as separated files). Now, I'm not sure why that was the case but it works with shared version and I really don't want to waste more time trying to fix what's not broken. We then need to copy ffmpeg and its libraries in the correct server directory where other codecs are located (sox, for instance). For Windows it's \Squeezebox\server\Bin\MSWin32-x86-multi-thread.

    Now that we have all our multi-channel music in a specific lossless format that is not used for any other content, we proceed in setting up rules in custom-convert.conf (you need to create it if you don't have one already, in Windows it's located at \Squeezebox\server). I provide a custom-convert file as an example. The MAC addresses are set at 00:00:00:00:00:00 because you need to fill in the values from your different players.

    Code:
    #PLAYER_WITH_ENOUGH_BANDWIDTH_TO_HANDLE_LOSSLESS_FILES_NOT_TRANSCODED
    alc flc * 00:00:00:00:00:00
    	# FT:{START=-j %s}U:{END=-e %u}
    	[faad] -q -w -f 1 $START$ $END$ $FILE$ | [ffmpeg] -loglevel quiet -i - -f flac -ac 2 -
    	
    #PLAYER_WITH_LIMITED_BANDWIDTH_NEEDING_TRANSCODING_TO_HANDLE_LOSSLESS_FILES
    alc mp3 * 00:00:00:00:00:00
    	# FB:{PATH=%f}T:{START=-j %s}U:{END=-e %u}D:{RESAMPLE=--resample %D}
    	[faad] -q -w -f 1 $START$ $END$ $FILE$ | [ffmpeg] -loglevel quiet -i - -f mp3 -aq 0 -ac 2 -
    Bear in mind that some of the parameters I use above might not be needed (the resample option for mp3 is not needed as I think FFMPEG automatically resamples to 16/44.1 for mp3 conversion). The important options in ffmpeg is -ac 2, which tells ffmpeg to downmix the music to two channels.
    For mp3 transcoding I use audio quality 0 (-aq 0). -aq is equivalent to -q:a and is mapped to LAME (whose libraries FFMPEG uses) -V option. Audio Quality 0 is equivalent to a -V 0 LAME encoding (which is the highest VBR quality setting). You can find more details here: https://trac.ffmpeg.org/wiki/Encode/MP3
    If you have severe bandwidth limitations, you can modify the conversion instructions, per player, using lower bitrates.

    Now this all works fine if, on your network, you don't have players natively supporting ALAC. In Squeezelite case it's enough to launch it with the correct -c option (I use "-c flac,pcm,mp3,ogg,aac,wma,dsd"). For hardware natively supporting ALAC (I think that is the case for Touch and Radio) I *think* you could disable the native option Under Server Settings/Advance/File Types. Not having a Touch I cannot test this.

    Enjoy.
    Last edited by gorman; 2016-03-17 at 07:02. Reason: Spellchecking

  7. #277
    Senior Member
    Join Date
    Jun 2005
    Posts
    285
    Quote Originally Posted by gorman View Post
    What would be the point? I'd have my collection with messed up extensions, while I manage to get perfect results the way I described.
    I'm glad it works for you! Sounds like a good solution. I was merely suggesting a rename because for many practical purposes, the extensions no longer represent the file content (eg if you try to play the multichannel files on your local computer). It may have been easier to rename them so that they don't look like FLAC files (to your computer, and to other SB players in general) and then tell specific players how to understand them. Really, you've done something very similar I think: you've told a specific player to deal with ALAC specially, and told other players not to play ALAC.

    Anyway, it was just an idea. :-) Thanks for sharing your configuration, which I'm sure will be helpful to many!

  8. #278
    Senior Member
    Join Date
    Apr 2005
    Location
    Milan, Italy
    Posts
    514
    Quote Originally Posted by smst View Post
    I'm glad it works for you! Sounds like a good solution. I was merely suggesting a rename because for many practical purposes
    I got what you meant, it's just that I, as I guess many other users, am a PC user as well as a SB user. As such, having FLAC files renamed to .alc (or viceversa) leads to unwanted consequences, such as foobar2000 erroring out when playing them back with !"Unable to open item for playback (Unsupported format or corrupted file)". The solution I've devised is clean, with no compromises that I can think of. It plays well with Squeezeboxes, it plays well with local files playback (foobar2000 recognizes the DTS/AC3 stream and plays it back with multi-channel audio).
    Anyway, it was just an idea. :-) Thanks for sharing your configuration, which I'm sure will be helpful to many!
    Again, thank *you* for starting this whole thing. It seems impossible that already 10 years have passed since I played back my first multi-channel file on a SB.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •