I'm stuck. I'm hoping someone can help.
Problem Description: When a jukebox player is selected, and songs are played, the playlist fills but no sound is emitted from the audio on the server.
Troubleshooting Steps: See below
Playback Application and version: Subsonic jukebox player
Subsonic Version: 4.6 (build 2583) – December 6, 2011
Server Version: Tomcat/6.0.35, java 1.7.0_04, Linux (59.6 MB / 123.8 MB)
Hardware Platform: Linux (32-bit, x86)
Java Memory Limit: ()
Problem Filename: (All files)
Output from ffmpeg -i: It doesn't matter what file I play, but I'll pick one as a sample:
- Code: Select all
ffmpeg version 0.8.1-4:0.8.1-0ubuntu1, Copyright (c) 2000-2011 the Libav developers
built on Mar 22 2012 05:29:10 with gcc 4.6.3
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).
[mp3 @ 0x93f7aa0] max_analyze_duration reached
Input #0, mp3, from '/net/share/Music/MP3/AC-DC/Back In Black/01-Hells Bells.mp3':
Metadata:
Tagging time : 2008-01-27T05:43:32
TLEN : 312400
artist : AC/DC
album : Back In Black
album_artist : AC/DC
title : Hells Bells
composer : Angus Young/Brian Johnson/Malcolm Young
publisher : Albert Productions
track : 1
genre : Rock
date : 1980
Duration: 00:05:12.45, start: 0.000000, bitrate: 128 kb/s
Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
Last ten log file lines:
- Code: Select all
[2012-04-29 18:21:09,999] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Stream #0.0 -> #0.0
[2012-04-29 18:21:09,999] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Press ctrl-c to stop encoding
[2012-04-29 18:21:45,384] DEBUG TranscodeInputStream - Starting transcoder: [/var/subsonic/transcode/ffmpeg] [-ss] [0] [-i] [/net/share/Music/MP3/Pink Floyd/Meddle/01-One of These Days.mp3] [-v] [0] [-f] [au] [-]
[2012-04-29 18:21:45,494] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Stream mapping:
[2012-04-29 18:21:45,494] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Stream #0.0 -> #0.0
[2012-04-29 18:21:45,494] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Press ctrl-c to stop encoding
[2012-04-29 18:33:41,609] DEBUG TranscodeInputStream - Starting transcoder: [/var/subsonic/transcode/ffmpeg] [-ss] [0] [-i] [/net/share/Music/MP3/Hoodoo Gurus/Amazon Sampler/08 - Sour Grapes.mp3] [-v] [0] [-f] [au] [-]
[2012-04-29 18:33:42,488] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Stream mapping:
[2012-04-29 18:33:42,488] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Stream #0.0 -> #0.0
[2012-04-29 18:33:42,488] DEBUG InputStreamReaderThread - (/var/subsonic/transcode/ffmpeg) Press ctrl-c to stop encoding
Note: These same 4 lines will repeat with whatever file I attempt to play, only the filename changes.
Diagnostic things I've tried:
I can play the song through the web player (flash).
I can play the song through the Android app.
I can run the ffmpeg command from the log, and pipe the resulting stream to "aplay", and it plays fine.
Changes I've tried:
I started with openjdk-6, but many people reported that there were known problems with openjdk and jukebox mode, so I installed the Oracle/Sun Java 7 implementation.
Some people reported that things didn't work until they removed openjdk entirely, so I've now removed openjdk entirely.
I've restarted tomcat (countless times, practically after every change).
I've rebooted the server (almost as often as I've restarted tomcat6).
I've purged and reinstalled tomcat6.
I've reinstalled Oracle/Sun Java 7.
I've copied libpulse-java.so and pulse-java.jar from the openjdk implementation into the corresponding lib/i386 and lib/ext locations in the Oracle/Sun JVM implementation (gets me different, but still non-successful behvior, this time with a "javax.sound.sampled.LineUnavailableException" in the log.)
I've updated the sound.properties file in the $JAVA_HOME/lib directory, and returned it to the default.
It LOOKS like ffmpeg is converting the data, but the stream isn't being read - it just sits there. There's no error. I can see the ffmpeg process is still running:
- Code: Select all
frontal:~$ ps -elf | grep tomcat
0 S tomcat6 6906 1 1 80 0 - 73950 futex_ 18:03 ? 00:00:47 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start
0 S tomcat6 6944 6906 0 80 0 - 6868 pipe_w 18:04 ? 00:00:00 /var/subsonic/transcode/ffmpeg -ss 0 -i /net/share/Music/MP3/AC-DC/Back In Black/01-Hells Bells.mp3 -v 0 -f au -
0 S tomcat6 7029 6906 0 80 0 - 6868 pipe_w 18:21 ? 00:00:00 /var/subsonic/transcode/ffmpeg -ss 0 -i /net/share/Music/MP3/Alice Cooper/A Fistful of Alice/12-Elected.mp3 -v 0 -f au -
0 S tomcat6 7032 6906 0 80 0 - 6868 pipe_w 18:21 ? 00:00:00 /var/subsonic/transcode/ffmpeg -ss 0 -i /net/share/Music/MP3/Pink Floyd/Meddle/01-One of These Days.mp3 -v 0 -f au -
0 S tomcat6 7041 6906 0 80 0 - 6909 pipe_w 18:33 ? 00:00:00 /var/subsonic/transcode/ffmpeg -ss 0 -i /net/share/Music/MP3/Hoodoo Gurus/Amazon Sampler/08 - Sour Grapes.mp3 -v 0 -f au -
Any help would be appreciated. I've already fought with it for 12+ hours, and searched through so many forums and tried so many things that I don't know what state the packages are in anymore. I can even start over with a fresh Ubuntu install, though that would not be my first choice.
