连接冰投方法 - 找出谁在收听流的想法


on-connect icecast method - ideas on finding out who is listening to the stream

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

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

所以我正在使用连接过程来捕获谁在请求监听,Icecast 将向我传递 IP 地址、代理以及许多其他变量。 然后,它使用他们正在侦听的标志更新表,并在断开连接时标记他们侦听的时间量。

所以总结一下:

  1. 登录
  2. 将会话/IP 记录到数据库
  3. 进入网站/应用程序
  4. 播放流
  5. OnConnect - 添加代理和"流"标志(基于 ip)
  6. 断开连接 - 添加侦听时间(基于代理和 ip)

问题是,我可以让人们同时在多个设备(平板电脑/笔记本电脑)上收听(或者他们在几分钟内从一个切换到另一个),或者在同一 IP 上有多个登录(例如在防火墙后面)。

我真的不想使用传统意义上的基于 http 的身份验证(即 user:pass@domain.com),因为越来越多的浏览器正在逐步淘汰它。那么,我有哪些选择可以确切地了解谁是谁?

当前的脚本基于PHP,但是如果需要,我很乐意使用其他东西。

你说你已经有一个cookie,如果你确保它对你的Icecast服务器的URL也有效,那么你可以在你的URL身份验证中使用该cookie。

特别是在 URL 身份验证的 Icecast 文档中,有关标头header_prefix的部分。只需确保将 cookie 标头转发到您的后端,你们都可以对它们进行身份验证并知道它们的身份。