mod_netdub ネットdeダビング拡張のためのproftpdモジュールです。 このモジュールを組み込むことで、ネットdeダビング対応機種から PCへのダビングが可能になります。 転送時にフィルターを書ける事が可能なので、on th flyでの16:9の 黒帯クロップ等が可能です。(別途エンコーダが必要) 設定ディレクティブ ●NetDubUserInfo: ユーザー情報を設定します。 NetDubUserInfo ftpユーザー名 ホスト上でのユーザー名 ディレクトリ ●NetDubNameInfo: ネットdeダビングでの名前問い合わせの情報です。 NetDubNameInfo グループ名 ホスト名 [reuse_addr] グループ名はネットdeダビング対応機器がアナウンスするグループ名、 ホスト名はダビング先一覧に出る名前です。 reuse_addrはsambaと共存する場合に指定します。 その場合にはsmb.confの[global]セクションにも socket options = SO_REUSEPORT=1 を記述してください。 ●NetDubDeviceList: デバイスのリストを指定します。 NetDubDeviceList dev0 dev1 dev2 dev0, dev2はそれぞれHDD1, HDD2, dev1はDVDに対応します。 [フラグ][パス名]で指定します。 意味は以下の通りです。 フラグ - : デバイスが存在しない事を表します。パス名を指定しても無視されます。 + : 転送されたデータからファイル名を取り出します。 NetDubCpInfoで指定するコード変換が適用されます。 パス名 ・パス名が指定された場合はプログラムとして実行します。 起動されたプログラムの標準入力に転送されたデータが書かれます。 フラグに+が指定されていた場合は、その名前でファイルを作成し(重複 する場合は連番が付加されます)、標準出力として割り当てられます。 +が指定されていない場合はプログラムがファイルをオープンする必要があります。 ・パス名が指定されていない場合はファイルへの出力になります。 フラグに+指定されていた場合は上記と同様に転送データから取り出した 名前でファイルが作成されます。指定されていない場合はリクエストされた 名前そのものです。 フラグ、パス名共に空の場合は""で指定します。 例: ・"" リクエストされたファイル名で格納 ・+/usr/local/bin/crop /usr/local/bin/cropを実行。cropの標準出力は転送データから 取り出したファイル名。 ・/usr/local/bin/crop /usr/local/bin/cropを実行。 ●NetDubCpInfo: NetDubCpInfo fromコードページ toコードページ 転送データからファイル名を取り出す場合に行うコード変換の指定。 iconv(3)にがサポートしているコードが指定可能。 デフォルトはFrom:CP932, To:UTF-8 ●NetDubCharMap: NetDubCharMap from to ファイル名として使用不可能な文字の置換指定。デフォルトは from /\: to .-- ●NetDubShutdownCommand: NetDubShutdownCommand command_path [args ...] 「終了後電源を切る(両方)」が指定されていた場合に実行するコマンド。 設定例 ・proftpd.confに以下を設定 NetDubShutdownCommand /usr/sbin/daemon /usr/bin/lockf -s -t 0 /var/spool/safe_shutdown/lockfile /usr/local/sbin/safe_shutdown /var/spool/safe_shutdown/pids sudo /sbin/shutdown -p now ・ディレクトリ/var/spool/safe_shutdownを作成 NetDubUserInfoで指定したユーザ権限で書き込み可能な事 ・/sbin/shutdownがパスワード無しで実行できるようsudoを設定 ・/usr/sbin/safe_shutdownは以下の通り #!/bin/sh LOCK_DIR="$1" shift while [ -d "${LOCK_DIR}" ]; do sleep 5 done exec "$@" ●付録 16:9にクロップするスクリプト例(自動パワーオフ対応) mencoderとtexのcmr(Computer Modern Roman)フォントが必要。 #!/bin/sh PATH=`dirname $0`:$PATH FONT="/usr/local/lib/X11/fonts/texcm-ttf/cmr10.ttf" LOCK_DIR="/var/spool/safe_shutdown/pids" mkdir -p "${LOCK_DIR}/$$" && trap "rmdir ${LOCK_DIR}/$$ ${LOCK_DIR}" 0 mencoder -quiet -ovc lavc -oac copy -vf-pre crop=720:352:0:64 \ -of mpeg -mpegopts format=dvd:tsaf \ -lavcopts vcodec=mpeg2video:vbitrate=4600:autoaspect:keyint=15 \ -font "${FONT}" -cache 8192 - -o -