Как получить название песни из аудио потока (Python)
25 декабря 2012 г.
•
1 минута чтения
Как получить название песни c аудио потока?
Большинство серверов вещания аудио потока, такие как Icecast или Shoutcast, используют Shoutcast Metadata Protocol, в котором информация о текущем треке находится в потоке с определенной байт-сдвижкой, это довольно не плохо описано здесь
Пример кода на python:
#!/usr/bin/env python
import urllib2
stream_url = 'http://pub1.di.fm/di_classictrance'
request = urllib2.Request(stream_url)
try:
request.add_header('Icy-MetaData', 1)
response = urllib2.urlopen(request)
icy_metaint_header = response.headers.get('icy-metaint')
if icy_metaint_header is not None:
metaint = int(icy_metaint_header)
read_buffer = metaint+255
content = response.read(read_buffer)
title = content[metaint:].split("'")[1]
print title
except:
print 'Error'
Последнее обновление 9 мая 2021 г.
Перевод этой статьи:
English