Since I recently came across some music in the Ogg Opus format, I looked into playing it with LMS. The main issue is that the library LMS uses to read audio metadata (AudioScan) doesn't support Opus. I did, however, find a 'forked version' (https://github.com/jrmuizel/AudioScan-opus/) which does. As this one hasn't been updated in a while, I decided to merge the Opus support into the current AudioScan.
Attached you will find a patch for AudioScan enabling Opus support (credit goes to the original author linked above), plus some support files for LMS. INSTRUCTIONS Install the 'Opus libraries' (http://opus-codec.org/downloads/) and sox with the Opus codec enabled. Most likely, your distribution will have it packaged already (e.g. libopus, libopus-dev, opus-tools, sox in Debian) Note: if your sox version doesn't support Opus (check with sox -h), you can compile it yourself or use opusdec instead. However, you will lose the ability to seek in a track when using opusdec. Download the attached zip and build the module: Code: -------------------- mkdir build; cd build wget https://raw.githubusercontent.com/Logitech/slimserver-vendor/public/7.9/CPAN/buildme.sh wget http://search.cpan.org/CPAN/authors/id/A/AG/AGRUNDMA/Audio-Scan-0.96.tar.gz wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Sub-Uplevel-0.22.tar.gz wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Test-Warn-0.23.tar.gz wget https://github.com/Logitech/slimserver-vendor/raw/public/7.9/CPAN/Tree-DAG_Node-1.06.tar.gz unzip lmsopus-alpha.zip tar xzf Audio-Scan-0.96.tar.gz cd Audio-Scan-0.96 patch -p1 < ../Audio-Scan-0.96.opus.patch cd .. mv Audio-Scan-0.96.tar.gz Audio-Scan-0.96.orig.tar.gz tar czf Audio-Scan-0.96.tar.gz Audio-Scan-0.96 chmod +x buildme.sh ./buildme.sh Audio::Scan -------------------- If the build was successful, you'll find the perl modules in Code: -------------------- ./build/arch/<perl version>/<architecture> -------------------- e.g. for perl 5.24 on Linux 64bit: Code: -------------------- build/arch/5.24/x86_64-linux-thread-multi -------------------- copy the content of the build/arch directory to your LMS installation's CPAN/arch folder e.g. if your LMS is in opt/logitechmediaserver-7.8-0-noCPAN, the full final path will be Code: -------------------- /opt/logitechmediaserver-7.8-0-noCPAN/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Audio ... -------------------- In your LMS installation, edit Slim/Formats.pm and add the format: Code: -------------------- 'ogf' => 'Slim::Formats::OggFLAC', 'ops' => 'Slim::Formats::OggOpus', # add this line -------------------- and finally copy OggOpus.pm to your LMS installation's Slim/Formats folder This takes care of the metadata part. To actually be able to play it, add this line to your custom-types.conf: Code: -------------------- ops opus audio/ogg audio -------------------- and modify your custom-convert.conf. For sox with opus: Code: -------------------- ops mp3 * * # IFB:{BITRATE=--abr %B}D:{RESAMPLE=--resample %D} [sox] -q -t opus $FILE$ -t wav - | [lame] --silent -q $QUALITY$ $RESAMPLE$ $BITRATE$ - - ops ops * * - ops aif * * [sox] -q -t opus $FILE$ -t raw -r 44100 -c 2 -2 -s $-x$ - ops pcm * * [sox] -q -t opus $FILE$ -t raw -r 44100 -c 2 -2 -s - ops flc * * # IFRD:{RESAMPLE=-r %d}T:{START=trim %s} [sox] -t opus $FILE$ -t flac -C 0 $RESAMPLE$ - $START$ -------------------- For opusdec: Code: -------------------- ops mp3 * * [opusdec] --quiet $FILE$ --force-wav - | [lame] --silent -q $QUALITY$ $RESAMPLE$ $BITRATE$ - - ops ops * * - ops pcm * * [opusdec] --quiet --rate 44100 $FILE$ - ops flc * * [opusdec] --quiet --force-wav $FILE$ - | [sox] -q -t wav - -t flac -C 0 $RESAMPLE$ - -------------------- +-------------------------------------------------------------------+ |Filename: lmsopus-alpha.zip | |Download: http://forums.slimdevices.com/attachment.php?attachmentid=22177| +-------------------------------------------------------------------+ [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] ------------------------------------------------------------------------ Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=107011 _______________________________________________ Squeezecenter mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/squeezecenter
