RTMP: проверьте, подключен ли поток с помощью Python

У меня есть несколько потоков Flash, и я хочу отображать только активные / прямые / онлайн-потоки. Может ли кто-нибудь предоставить образец кода, который может проверить статус потока? или укажите, где я могу его взять (я думаю, что Red5 и RTMPy должны иметь это, но у меня совершенно нет опыта работы с RTMP; есть также спецификация RTMP, но вики говорит, что она неполная)? Мой целевой язык - Python, но код на любом языке будет мне полезен.


person Vladimir Mihailenco    schedule 28.11.2010    source источник


Ответы (1)


В случае потери соединения или сбоя соединения приведенный ниже код выведет сообщение об ошибке.

from twisted.internet import reactor
from rtmpy.client import ClientFactory

reactor.connectTCP('localhost', 1935, ClientFactory())
reactor.run()
person Lex    schedule 28.11.2010
comment
@lex, насколько я понимаю, этот код просто проверяет, есть ли RTMP-сервер на порту 1935. Но я хочу проверить, подключен ли конкретный поток (например, rtmp: //fms.rambler.ru/live/sc2tv1). Я что-то упускаю? - person Vladimir Mihailenco; 28.11.2010
comment
Что именно печатает скрипт при запуске с rtmp: //fms.rambler.ru/live/sc2tv1? - person Lex; 29.11.2010
comment
@lex, есть ли рабочий пакет rtmpy? В настоящее время у меня есть AttributeError: объект 'module' не имеет атрибута 'BaseProtocol', импортирующего BaseProtocol из rtmpy.protocol. - person Vladimir Mihailenco; 29.11.2010
comment
Та же ошибка. Traceback странный. Кажется, что rtmpy меняет путь к python или что-то еще. Скрипт пытается импортировать чужой пакет из моей системы. Нужно исследовать ... - person Lex; 30.11.2010
comment
Кстати, вы установили rtmpy как пакет или исходный код Egg? - person Lex; 30.11.2010
comment
@lex, я использовал virtualenv и pip install rtmpy. Похоже на проблему с rtmpy, я создал заявку в trac: dev.rtmpy.org/ticket/82 - person Vladimir Mihailenco; 30.11.2010
comment
Вы видели последний исходный код разработки от GIT? - person Lex; 30.11.2010