You are here: Home » Topic » Can’t play oggs — Firefly on NSLU2

Can’t play oggs — Firefly on NSLU2

This topic contains 8 replies, has 4 voices, and was last updated by  rpedde 10 years, 4 months ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #1578

    cwrather
    Participant

    I am running Firefy on a NSLU2 running Debian, using the Debian package installed through apt-get. I have also installed ffmpeg. My library is showing up fully on itunes running on another computer, and I am able to stream .mp3 files, but when I try to stream an ogg file, a box opens in itunes saying “Loading” and everything just seems to freeze. I’d appreciate any help. I googled the problem but couldn’t find a solution. Here’s what the log file says when I do this:

    2007-07-22 10:48:13 (00018005): Session 0: Streaming file '11 - Surfer Girl.ogg' to 192.168.2.199 (offset 0)
    2007-07-22 10:48:13 (00018005): Transcoding /home/media/music/Beach Boys/Good Vibrations - 30 Years Of The Beach Boys (Disc 1)/11 - Surfer Girl.ogg with ssc-ffmpeg/svn-1376
    2007-07-22 10:48:13 (00018005): opening /home/media/music/Beach Boys/Good Vibrations - 30 Years Of The Beach Boys (Disc 1)/11 - Surfer Girl.ogg
    2007-07-22 10:48:13 (00018005): opening file with format
    2007-07-22 10:48:14 (00018005): Updating Content-Type from application/x-dmap-tagged to audio/wav
    2007-07-22 10:48:14 (00018005): Added *Connection=Close*
    2007-07-22 10:48:14 (00018005): Emitting reponse header Connection: Close
    2007-07-22 10:48:14 (00018005): Emitting reponse header Expires: -1
    2007-07-22 10:48:14 (00018005): Emitting reponse header Cache-Control: no-cache
    2007-07-22 10:48:14 (00018005): Emitting reponse header Content-Type: audio/wav
    2007-07-22 10:48:14 (00018005): Emitting reponse header DAAP-Server: mt-daapd/svn-1376
    2007-07-22 10:48:14 (00018005): Emitting reponse header Accept-Ranges: bytes
    2007-07-22 10:48:14 (00018005): Emitting reponse header Date: Sun, 22 Jul 2007 17:48:13 GMT
    2007-07-22 10:48:14 (00018005): Channels.......: 2
    2007-07-22 10:48:14 (00018005): Sample rate....: 44100
    2007-07-22 10:48:14 (00018005): Bits/Sample....: 16
    2007-07-22 10:48:14 (00018005): Swab...........: 0

    Here’s a copy of my mt-daapd.conf file (sorry for the long text…)

    # $Id: mt-daapd.conf.templ 1238 2006-06-18 04:54:13Z rpedde $
    #
    # This is the mt-daapd config file.
    #
    # If you have problems or questions with the format of this file,
    # direct your questions to [email protected]
    #
    # You can also check the website at http://mt-daapd.sourceforge.net,
    # as there is a growing documentation library there, peer-supported
    # forums and possibly more.
    #

    [general]

    #
    # web_root (required)
    #
    # Location of the admin web pages.
    #
    # If you installed from .RPM, .deb, or tarball with --prefix=/usr, then
    # this is correct.
    #
    # If you installed from tarball without --prefix=/usr, then the correct
    # path is probably /usr/local/share/mt-daapd/admin-root.
    #

    web_root = /usr/share/mt-daapd/admin-root

    #
    # port (required)
    #
    # What port to listen on. It is possible to use a different
    # port, but this is the default iTunes port
    #

    port = 3689

    #
    # admin_pw (required)
    #
    # This is the password to the administrative pages
    #

    admin_pw = wrench


    #
    # db_type (required)
    #
    # This is what kind of backend database to store the song
    # info in. Valid choices are "sqlite" and "sqlite3".
    #

    db_type = sqlite3

    #
    # db_parms
    #
    # This is any extra information the db needs to connect.
    # in the case of sqlite and sqlite3, this is the name
    # of the directory to store the database in
    #
    # If you installed from RPM or .deb, this path likely already
    # exists. If not, then you must create it. The directory itself
    # must be writable by the "runas" user.
    #

    db_parms = /var/cache/mt-daapd

    #
    # mp3_dir (required)
    #
    # Location of the mp3 files to share. Note that because the
    # files are stored in the database by inode, these must be
    # in the same physical filesystem.
    #

    mp3_dir = /home/media/music

    #
    # servername (required)
    #
    # This is both the name of the server as advertised
    # via rendezvous, and the name of the database
    # exported via DAAP. Also know as "What shows up in iTunes".
    #

    servername = firefly

    #
    # runas (required)
    #
    # This is the user to drop privs to if running as
    # root. If mt-daapd is not started as root, this
    # configuration option is ignored. Notice that this
    # must be specified whether the server is running
    # as root or not.
    #
    # This is also ignored on Windows.
    #

    runas = mt-daapd

    #
    # playlist (optional)
    #
    # This is the location of a playlist file.
    # This is for Apple-style "Smart Playlists"
    # See the mt-daapd.playlist file in the
    # contrib directory for syntax and examples
    #
    # This doesn't control static playlists... these
    # are controlled with the "process_m3u" directive
    # below.
    #

    # playlist = /etc/mt-daapd.playlist

    #
    # password (optional)
    #
    # This is the password required to listen to MP3 files
    # i.e. the password that iTunes prompts for
    #

    #password = mp3

    #
    # extensions (optional)
    #
    # These are the file extensions that the daap server will
    # try to index and serve. By default, it only indexes and
    # serves .mp3 files. It can also server .m4a and .m4p files,
    # and just about any other files, really. Unfortunately, while
    # it can *attempt* to serve other files (.ogg?), iTunes won't
    # play them. Perhaps this would be useful on Linux with
    # Rhythmbox, once it understands daap. (hurry up!)
    #
    # Failing that, one can use server-side conversion to transcode
    # non-standard (.ogg, .flac) music to wav on the server side.
    # See the ssc_* options below.
    #
    # To be able to index .ogg files, you'll need to have configured
    # with --enable-oggvorbis. For .flac, --enable-flac, for .mpc,
    # --enable-musepack.
    #

    extensions = .mp3,.m4a,.m4p,.ogg,.flac,.mpc

    #
    # ssc_codectypes (optional)
    #
    # List of codectypes for files that the daap server should
    # perform internal format conversion and present to clients
    # as WAV files. The file extensions that these codectypes correspond
    # to must also be present in 'extensions'
    # configuration value, or files are not probed in the first
    # place.
    #
    # Valid codectypes:
    #
    # mp4a - for AAC (.aac, .mp4, .m4a, .m4p)
    # mpeg - for mp3
    # wav - for wav
    # wma - for wma
    # ogg - for ogg
    # flac - for flac (.flac, .fla)
    # mpc for musepack (.mpc, .mpp, .mp+)
    # alac for alac (.m4a)
    #

    # Not needed because ffmpeg is enabled. -joshk
    # ssc_codectypes = ogg,flac,alac

    #
    # ssc_prog (optional)
    #
    # Program that is used in server side format conversion.
    # Program must accept following command line syntax:
    # ssc_prog filename offset length ...
    # Parameter filename is the real name of the file that is
    # to be converted and streamed, offset is number of bytes
    # that are skipped from the beginning of the _output_ file
    # before streaming is started, length is length of the song
    # in seconds (or zero). All other possible arguments must
    # be ignored. The resulting wav file (or the rest of
    # the file after initial seek) is written to the standard
    # output by the ssc_prog program. This is typically
    # a script that is a front end for different conversion tools
    # handling different formats.
    #

    # ssc_prog = /usr/bin/mt-daapd-ssc.sh

    #
    # logfile (optional)
    #
    # This is the file to log to. If this is not configured,
    # then it will log to the syslog.
    #
    # Not that the -d switch will control the log verbosity.
    # By default, it runs at log level 1. Log level 9 will churn
    # out scads of useless debugging information. Values in between
    # will vary the amount of logging you get.
    #

    #logfile = /var/log/mt-daapd.log

    #
    # art_filename (optional)
    #
    # There is experimental support thanks to Hiren Joshi
    # ([email protected]) for dynamically adding art to the id3v2
    # header as it is streamed (!!). If you were using a music system
    # like zina or andromeda, for example, with cover art called
    # "_folderOpenImage.jpg", you could use the parameter
    # art_file _folderOpenImage.jpg and if the file _folderOpenImage.jpg
    # was located in the same folder as the .mp3 file, it would appear
    # in iTunes. Cool, eh?
    #

    #art_filename = _folderOpenImage.jpg

    #
    # rescan_interval
    #
    # How often to check the file system to see if any mp3 files
    # have been added or removed.
    #
    # if not specified, the default is 0, which disables background scanning.
    #
    # If background rescanning is disabled, a scan can still be forced from the
    # "status" page of the administrative web interface
    #
    # Setting a rescan_interval lower than the time it takes to rescan
    # won't hurt anything, it will just waste CPU, and make connect times
    # to the daap server longer.
    #
    #

    #rescan_interval = 300

    # always_scan
    #
    # The default behavior is not not do background rescans of the
    # filesystem unless there are clients connected. The thought is to
    # allow the drives to spin down unless they are in use. This might be
    # of more importance in IDE drives that aren't designed to be run
    # 24x7. Forcing a scan through the web interface will always work
    # though, even if no users are connected.

    # always_scan = 0

    #
    # process_m3u
    #
    # By default m3u processing is turned off, since most m3u files
    # sitting around in peoples mp3 directories have bad paths, and
    # I hear about it. :)
    #
    # If you are sure your m3u files have good paths (i.e. unixly pathed,
    # with relative paths relative to the directory the m3u is in), then
    # you can turn on m3u processing by setting this directive to 1.
    #
    # I'm not sure "unixly" is a word, but you get the idea.
    #

    # process_m3u = 0

    #
    # scan_type
    #
    #
    # This sets how aggressively mp3 files should be scanned to detrmine
    # file length. There are three values:
    #
    # 0 (Normal)
    # Just scan the first mp3 frame to try and calculate size. This will
    # be accurate for most files, but VBR files without an Xing tag will
    # probably have wildly inaccurate file times. This is the default.
    #
    # 1 (Aggressive)
    # This checks the bitrates of 10 frames in the middle of the song.
    # This will still be inaccurate for VBR files without an Xing tag,
    # but they probably won't be quite as inaccurate as 0. This takes
    # more time, obviously, although the time hit will only happen the
    # first time you scan a particular file.
    #
    # 2 (Painfully aggressive)
    # This walks through the entire song, counting the number of frames.
    # This should result in accurate song times, but will take the most
    # time. Again, this will only have to be incurred the first time
    # the file is indexed.
    #

    scan_type = 2
    logfile = /var/log/fireflylog
    debuglevel = 9

    #
    # compress
    #
    # Whether to use gzip content-encoding when transferring playlists etc.
    # This was contributed as a patch by Ciamac Moallemi just prior to the 0.2.1
    # release, and as such, hasn't gotten as much testing as other features.
    #
    # This feature should substantially speed up transfers of large databases
    # and playlists.
    #
    # It will eventually default to 1, but currently it defaults to 0.
    #

    #compress = 0

    [plugins]
    plugin_dir = /usr/lib/mt-daapd/plugins
    plugins = rsp.so,ssc-ffmpeg.so

    Would appreciate any help!

    #11793

    rpedde
    Participant

    @cwrather wrote:

    I am running Firefy on a NSLU2 running Debian, using the Debian package installed through apt-get. I have also installed ffmpeg. My library is showing up fully on itunes running on another computer, and I am able to stream .mp3 files, but when I try to stream an ogg file, a box opens in itunes saying “Loading” and everything just seems to freeze. I’d appreciate any help. I googled the problem but couldn’t find a solution. Here’s what the log file says when I do this:

    looks like ffmpeg isn’t transcoding it. Can you transcode that file to wav using ffmpeg from the command-line?

    #11794

    cwrather
    Participant

    @rpedde wrote:

    looks like ffmpeg isn’t transcoding it. Can you transcode that file to wav using ffmpeg from the command-line?

    Hmmm. I think you are right. But I’m not sure what the problem is. Here is the result of trying to convert from ogg to wav:

    LKG3162F8:/home/media/music/Miles Davis/Birth of the Cool# ffmpeg Move.ogg /tmp/Move.wav
    FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2004 Fabrice Bellard
    configuration: --enable-gpl --enable-pp --enable-pthreads --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
    libavutil version: 0d.49.0.0
    libavcodec version: 0d.51.11.0
    libavformat version: 0d.50.5.0
    built on Mar 26 2007 19:25:46, gcc: 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
    /dev/dsp: No such file or directory
    Could not find audio grab device
    #11795

    fizze
    Participant

    why on earth would you prefer ffmpeg over the tremor ogg-vorbis decoder?
    This is a 266Mhz ARM we are talking about, after all 😉

    So pretty please use the ssc-transcode plugin 🙂

    #11796

    cwrather
    Participant

    @fizze wrote:

    why on earth would you prefer ffmpeg over the tremor ogg-vorbis decoder?
    This is a 266Mhz ARM we are talking about, after all 😉

    So pretty please use the ssc-transcode plugin 🙂

    OK, thanks…now I just have to figure out how to do that!

    #11797

    mas
    Participant

    ffmpeg wont work on an ARM 266 MHz. Well it does – for a second, then it stops for a while. The CPU is too slow simply. So forget it. Use oggdec-tremor and search the forums here, theres info how to do it.

    #11798

    fizze
    Participant

    if you install the ipkg of mt-daapd it automatically installs the tremor version of ogg-vorbis-dec.

    #11799

    cwrather
    Participant

    @fizze wrote:

    if you install the ipkg of mt-daapd it automatically installs the tremor version of ogg-vorbis-dec.

    I loaded Unslung onto the Slug instead of debian, and then installed the svn ipkg. Scanning was unsuccessful, even after checking the permissions on the shared music directory were correct. Finally I figured out that the permissions on the parent directories of the music directory were not set properly so Firefly couldn’t get to the music directory. After fixing that everything seems to be working.

    Thanks for the help!

    (I wonder if the documentation should caution people to check the permissions on all the parent directories of the music directory?)

    #11800

    rpedde
    Participant

    @cwrather wrote:

    @fizze wrote:

    if you install the ipkg of mt-daapd it automatically installs the tremor version of ogg-vorbis-dec.

    I loaded Unslung onto the Slug instead of debian, and then installed the svn ipkg. Scanning was unsuccessful, even after checking the permissions on the shared music directory were correct. Finally I figured out that the permissions on the parent directories of the music directory were not set properly so Firefly couldn’t get to the music directory. After fixing that everything seems to be working.

    Thanks for the help!

    (I wonder if the documentation should caution people to check the permissions on all the parent directories of the music directory?)

    Perhaps. The default location (mp3 in public) has correct permissions, but probably that should be noted.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.