我可以在Python中读取ID3标签吗?我在文档中发现了很多库,但没有任何人支持从实时音频流中读取ID3标签。真的不退出库吗?或者我发现错了?如果可以,请帮助我。谢谢你的回答。
答案 0 :(得分:0)
您可能想在python上尝试streamscrobbler,以便从流式MP3 /广播电台读取元数据。
streamscrobbler
依赖于以下模块。
httplib2 as http
httplib
re
urlparse
pprint
urllib2
可以安装为
pip install <module-name>
一旦安装它们,它非常直接获得元数据[SHOUTcast / Icecast]信息。它提供的信息如下:
的Content-Type
比特率
说明
歌曲名称
URL
服务器
from streamscrobbler import streamscrobbler
streamscrobbler = streamscrobbler()
##streamurl can be a url directly of the stream or of a file.
streamurl = "http://pub1.di.fm/di_classictrance"
#All information available via streamscrobbler module
allData = streamscrobbler.getAllData(streamurl)
print ("allData =",allData)
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
parse headers:
{ 'cache-control': 'no-cache',
'content-type': 'audio/mpeg',
'expires': 'Mon, 26 Jul 1997 05:00:00 GMT',
'ice-audio-info': 'bitrate=48000',
'icy-br': '48000',
'icy-description': 'DI.FM',
'icy-genre': 'DI',
'icy-metaint': '16000',
'icy-name': 'Important Message',
'icy-pub': '0',
'icy-url': 'http://message-stream.audioaddict.com/3rdparty_di_english',
'pragma': 'no-cache',
'server': 'Icecast 2.3.3-kh7'}
icy metaint: 16000
('allData =', {'status': 1, 'metadata': {'contenttype': 'audio/mpeg', 'bitrate': '48000', 'song': 'An important message from www.di.fm'}})
>>>