简单的RTMP Python客户端

9 投票
3 回答
16090 浏览
提问于 2025-04-17 02:17

我在寻找一个合适的RTMP Python客户端或者Python代码示例,至少能做到以下几点:

  1. 与Flash服务器进行正确的握手
  2. 向服务器发送一个正确编码的(AMF0或AMF3)“连接”消息,并处理返回结果
  3. 发送一个正确编码的“订阅”消息,并处理返回结果

我一直在研究RTMPyrtmplitefmspy这些库,但还没有找到能正常工作的。rtmplite的AMF0编码能力看起来不错。

有没有人能给我指个方向?

3 个回答

0

试试这个:

import librtmp
conn=librtmp.RTMP(url)
conn.connect(None)
conn_stream=conn.create_stream(0,True)

想了解更多信息,可以访问 https://pypi.python.org/pypi/python-librtmp/0.2.0

1

这里有个小更新……我找到了一款可能解决这个问题的库:rtmp-python。rtmplite被用作测试用的Flash服务器……

from rtmp_python.rtmp_protocol import RtmpClient
cl = RtmpClient(ip="127.0.0.1", port=1935, tc_url='rtmp://localhost/myapp', page_url='', swf_url='', app='myapp')
cl.connect([])
cl.call(proc_name='createStream')
cl.call(proc_name='play', parameters=['user1'])
cl.handle_messages()

从日志中我看到连接已经成功建立,"createStream"这个调用也成功了,但"play"没有成功……待续

2

也许rtmplite可以帮到你?

撰写回答