マルチメディアプレイリストファイルを読み込む(解析する)ライブラリは、M3U、WPL、anothersなどの異なるプレイリストフォーマットをサポートする場合に便利です。Python(ライブラリ)でマルチメディアプレイリストファイルを読む
私はこのページを見つけましたhttp://wiki.python.org/moin/PythonInMusic、それはm3ute2プロジェクトを指していますが、それは死んでいるようです。
マルチメディアプレイリストファイルを読み込む(解析する)ライブラリは、M3U、WPL、anothersなどの異なるプレイリストフォーマットをサポートする場合に便利です。Python(ライブラリ)でマルチメディアプレイリストファイルを読む
私はこのページを見つけましたhttp://wiki.python.org/moin/PythonInMusic、それはm3ute2プロジェクトを指していますが、それは死んでいるようです。
Mishaと同様、プレーンテキストファイルなのでかなり簡単に解析できます。
私はm3uファイルを解析して合計再生時間を計算し、長さを秒単位で表示するだけでなく、プレイリスト内の各曲の名前をあまりにもずっと前に書き留めました。
#!/usr/local/bin/python
import string, sys
def sec_to_days(seconds) :
return seconds/86400
def sec_to_hours(seconds) :
return seconds/3600
def sec_to_minutes(seconds) :
return seconds/60
def sec_to_minutes_seconds(seconds) :
minutes = sec_to_minutes(seconds)
sec = seconds % 60
return "%(n1)02d:%(n2)02d" % {"n1": minutes, "n2": sec}
# If no arguments were given, print a helpful message
if len(sys.argv)==1:
print 'Usage: m3utime filename.m3u'
sys.exit(0)
filename = sys.argv[1]
items = [line.replace("#EXTINF:", "").strip() for line in file(filename) if line.startswith('#EXTINF')]
splitList = [line.split(",") for line in items ]
time = 0
for s in splitList : time = time + int(s[0])
days = sec_to_days(time)
hours = sec_to_hours(time) - (days * 24)
minutes = sec_to_minutes(time) - (days * 1440) - (hours * 60)
seconds = time % 60
print filename + " : " + str(time) + "s\n"
for s in splitList :
print sec_to_minutes_seconds(int(s[0])), s[1]
print
print "Total play time : " + str(days) + ":" + str(hours) + ":" + str(minutes) + ":" + str(seconds) + "\n"
ここに再生リストを解析するライブラリがあります。ライブラリは、プレイリストの正しいmimetypeに大きく依存しています。ライブラリのテストにはいくつかのサンプルがあります。 http://t11.mine.nu/playlists_analyser.tar.gz
あなたのライブラリはどのライセンスの下にありますか?私はGPL v3のライセンスを取得したプレーヤーで使用したいと思います。 – Mic92
LGPL。私はどこかにそれをマークする必要があると思う.. –
私の経験では、Python用のマルチメディアライブラリを見つけようとするとサポートが貧弱です。 –
フォーマットはプレーンテキストなので、あまり問題なく独自のパーサーを書くことができるはずです。 – misha
しかし、サポートがPythonで貧弱であれば、C#(モノ)やJavaにはいくつかのライブラリがありますか? – rhodan