TS-239でFLACを共有(2)

トランスコードの問題は解決しました。

  1. ipkg で mt-daapd-svn (Nightly Builds)版をインストール
    1. 併せてflacやliboggもインストールされます。
  2. /opt/etc/mt-daapd/mt-daapd.conf を /opt/etc/ にコピー
  3. /etc/config/mt-daapd.conf(/etc/init.d/init_iTune.sh で動的生成されるファイル)を元に、/opt/etc/mt-daapd.conf を修正
    1. extensionに .flac等を追加するのを忘れないこと。
  4. /opt/bin/mt-daapd-ssc.sh 内のwavstreamerとflacのパスをちゃんと指定する(パス通ってたら不要?)
    1. wavstreamer, flacとも、mt-daapd-svnをインストールした時点で、 /opt/bin にインストールされます。oggdec は不明。
  5. /etc/init.d/init_iTune.sh 内の設定ファイル生成箇所を削除し、mt-daapdのパスを修正
  6. /etc/init.d/init_iTune.sh restart

コンパイルに備えてgccもインストールしてたので、ちょっと拍子抜けしてしまいました。
大量にファイルがあるのでまだ全部は反映されてませんが、タグ情報も文字化けなく使えてます。

とりあえず、ツールで設定変更した際の内容が反映されなくなるのもなんなので、init_iTune.shから設定ファイルを動的生成するように整理&ipkgのライブラリ整理辺りが必要?
あと、flacだとmp3よりデータ量が増えるので、compressオプションでgzip圧縮した方が良いかも。

qnap既存設定で置換したあとのmt-daapd.conf

# $Id: mt-daapd.conf.templ 1660 2007-09-12 13:08:04Z rpedde $
#
# This is the mt-daapd config file.
#
# If you have problems or questions with the format of this file,
# direct your questions to rpedde@users.sourceforge.net.
#
# Questions and discussions about the format and content of this
# config file can probably be obtained by consulting the wiki:
#
# http://wiki.fireflymediaserver.org/Config_File
#
# Or by asking questions on the forums at
#
# http://forums.fireflymediaserver.org
#
#

[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 = /opt/share/mt-daapd/admin-root
web_root = /home/httpd

#
# 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 = mt-daapd
admin_pw = qwer


#
# 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 = /opt/var/cache/mt-daapd
db_parms = /mnt/HDA_ROOT/.db_dir

#
# 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 = /mnt/mp3
mp3_dir = /share/Qmultimedia

#
# 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 %v on %h

#
# 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 = nobody
runas = admin

#
# 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,.aif,.wav,.flac,.ogg

#
# 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)
#

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 = /opt/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 <level> 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

#
# 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

#
# scan_type
# 
#
# This sets how aggressively mp3 files should be scanned to determine
# 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

#
# 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 = /opt/lib/mt-daapd/plugins


[scanning]

# should playlists be processed at all?
#
process_playlists = 1

 
# should itunes xml files be processed?
#
process_itunes = 1

# should m3u files be processed?
#
process_m3u = 1