プレイリストをDLNAサーバ用に変換する

DLNA リストコンバーター

(メイン画面)

MP3のプレイリストファイル(m3u)を、DLNAサーバ用に変換するツールについて説明します。

はじめに

Playstation3では、DLNA対応のネットワークハードディスク(以降、LANDISKと呼ぶ)上のMP3ファイルを再生できる便利な機能があります。

この機能を利用して家族みんなでMP3を共有したいと思いましたが、Playstation3とIO DATAのLANDISKを組み合わせると、以下の問題が発生しました。

  • IO DATAのLANDISKでは、公開できるファイル数は10000、フォルダ数は999以下という制限がある
  • 上記の制限を超えるとDLNAサーバがダウンしてしまい、LANDISKの初期化が必要になる

当方の環境では、MP3ファイルが数万ファイルあり、このままでは全ての曲を公開することが出来ません。

10000ファイルの制限回避方法

ファイル数の制限を解除する方法はありませんが、公開するファイル数を節約することは出来ます。

具体的には、DLNAサーバにはプレイリストのみを置き、MP3ファイルは別フォルダ(同じLANDISK上のDLNA対象外のフォルダ)に置けば良いです(例えば10曲入りのアルバムをそのまま公開すると10ファイルになりますが、プレイリストにまとめると1ファイルになります)。

さすがに、CDアルバムが1万枚以上になることはないので、これで全ての曲を公開することが出来ます。

しかし、DLNAサーバにプレイリストを置くには変換作業が必要であり、非常に面倒です。具体的な変換内容(LANDISKの仕様やファームウェアのバージョンで微妙に異なります)は以下の通りです。

  • プレイリストとMP3ファイルの格納場所が異なるため、MP3ファイルの場所を相対パスで指定する必要がある
  • 日本語のファイル名を含む場合、文字コードを変換(UTF8など)する必要がある
  • 改行コードをCRLFからLFに変換する必要がある
  • パスの区切り文字を"\"から"/"に変換する必要がある
  • パスは大文字・小文字を区別する場合があるため注意が必要である
    (ツールではどうしようもないので対処は入れてないです)

本ツールでは、指定されたフォルダ内のm3uファイルを検索し、指定された出力先フォルダに変換して出力します。

※本ツールは、Quick CD to MP3 encoderに同梱しています。Quick CD to MP3 encoder本体だけでも同様の変換を行うことが出来ますが、過去に作成したプレイリストを変換するために用意してあります。

動作確認環境

動作確認済の環境は以下の通りです。

DLNAサーバ IO DATA「LANDISK HDLP-G500」
DLNAクライアント SONY「Playstation3」(2009年秋の薄型)

上記環境で、プレイリストが正常に認識され、MP3ファイルが再生されるところまで確認済です。

ただし、Playstation3とLANDISKの相性のせいか、以下の問題が発生しています。

  • MP3再生が途中で途切れる場合がある(2〜3曲に1回止まる)
  • 一部のアーティスト名や曲名が文字化けする

結局、USB HDDにMP3ファイルをコピーして、それをPlaystation3に繋ぐのが一番楽で安定しているという結論に達してます(^^;。(せっかく投資したので機器のファームウェア更新で問題なく動くようになって欲しいものです)

2011/02/04 追記

SONYの40型液晶テレビ(BRAVIA KDL-40EX710)に標準装備されていたDNLAクライアント機能でも、動作確認が取れました。再生中にネットワークが切断される現象は、たまーに発生しますが、頻度は減ったような気がします(10〜20曲に1回位)。

2011/04/24 追記

LANDISKのファームウェアを最新(機能的にHDLP-Sシリーズと同等になったらしい)にしたらネットワークエラーは減りました。

ただ、プレイリスト(m3u)の認識率が下がってしまったので、試しに文字コードをJISにしたら認識率がかなりアップしました(どうもLANDISK側の文字コード自動判別がいまいちのようです)。

残念ながら本ツールはJISに対応してなかったため、JIS変換できるように対応しました。JISは文字コードの配列に特徴があり、自動判別で認識されやすいようです。

画面の説明

項目名 説明
検索フォルダ

プレイリストを検索するフォルダを指定します。

出力フォルダ

変換後のプレイリストを保存するフォルダを指定します。検索フォルダと同一ディスク内(ドライブ)である必要があります。

検索ファイル

検索するファイル名を指定します(通常は変更する必要はありません)。

文字コード

変換する文字コードを指定します。

UTF8(デフォルト)
SJIS
EUC
JIS

※DLNAサーバで認識可能な文字コードを指定してください。

フォルダ階層制限

検索フォルダのフォルダ構成を出力先に再現する場合に、作成するフォルダの階層数の上限を指定します。

"0"を指定するとサブフォルダを作成しません。Quick CD to MP3 encoderをデフォルト値で使用している場合は、"2"がお奨めです。

サブフォルダも検索する

検索フォルダのサブフォルダまで検索を行うかを指定してください。

改行コードをLFに変換する

改行コードをCRLF(Windows系)からLF(UNIX系)に変換します。

パス区切りを \ から / に変換する

プレイリスト(m3u)内に記述するパスの区切り文字を \ から / に変換するか指定してください。

例)チェックするとパスが以下のように変換されます。
 変換前:"..\Media\Music\mp3\sample.mp3"
 変換後:"../Media/Music/mp3/sample.mp3"
上書きする

出力先に同一ファイルが存在した場合に上書きするかどうかを指定します。

コメント行を削除する

プレイリスト中のコメント行(#から始まる行)を削除して出力します。

注意事項・制限事項

DLNAリストコンバーターでは、以下の形式のプレイリスト(m3u)を変換できます(条件に一致しない場合は、変換されません)。Quick CD to MP3 encoderで出力したプレイリストファイル(m3u)であれば問題ありません。

  • 変換前の文字コードがWindows標準の「Shift JIS」であること。
  • リスト内のファイル名に「.mp3」が含まれていること。
  • コメント行は先頭に"#"があること(行の途中に"#"があっても認識しません)。
  • プレイリストの置いてある場所と同じ、または下位フォルダのMP3ファイルを指定していること。

戻る