on-connect icecast方法 - 关于找出谁正在收听流的想法

时间:2015-01-23 12:57:10

标签: php authentication audio streaming icecast

所以我有一个你需要登录的网站,一旦你通过身份验证,就会设置一个cookie,其中包含一个唯一的会话变量(以及带有ip地址的强制数据库插入,表示他们已经登录)我可以用于识别有关个人。

我希望能够确切地识别谁正在收听icecast音频流。

所以我使用on-connect进程来捕获谁请求监听,Icecast会传递给我ip地址,代理以及许多其他变量。然后它会用一个他们正在监听的标志更新一个表,并且断开标记他们收听的时间。

总结一下:

  1. 登录
  2. 将会话/ IP记录到DB
  3. 进入Website / App
  4. 播放流
  5. OnConnect - 添加代理和" Streaming" flag(基于ip)
  6. OnDisconnect - 添加已侦听的时间(基于代理和IP)
  7. 问题在于我可以让人们同时收听多个设备(平板电脑/笔记本电脑)(或者在几分钟的时间内从一个设备切换到另一个)或者在同一个ip上有多个登录(例如在防火墙后面)。

    我真的不想在传统意义上使用基于http的身份验证(即用户:pass@domain.com),因为越来越多的浏览器正在逐步淘汰这种身份验证。那么我有什么选择来了解究竟谁是谁?

    当前脚本基于php,但如果需要,我很乐意使用其他内容。

1 个答案:

答案 0 :(得分:0)

你说你已经有了一个cookie,如果你确定它对你的Icecast服务器的URL也有效,那么你可以在你的URL-auth中使用该cookie。

具体在Icecast documentation on URL auth关于标题 header_prefix 的部分。只需确保将cookie标头转发到您的后端,您就可以对它们进行身份验证并了解其身份。