gpt4 book ai didi

android - Twitch 应用程序如何流式传输到 Android?

转载 作者:行者123 更新时间:2023-11-30 03:00:15 25 4
gpt4 key购买 nike

我目前正在从事一个项目,为一家公司开发电子竞技流媒体日历。该应用程序运行良好,但问题是 twitch 仅允许您流式传输 flash,而对于 Android,在 Google 决定取消支持后,它就不能正常工作了。 Http-live-streaming 也没有得到很好的支持,因此该小组目前处于死胡同。

因此我的问题是:Twitch 应用程序如何流式传输到 Android?
它适用于不支持 flash 或 HLS 的 Android 设备,因此应该有另一种方法。

最佳答案

我猜它可能已经在它的 flash 客户端中使用了 HLS 或 RTSP(RTMP+RTSP 是最常见的场景),Android 应用程序只是另一个流客户端实现。

从 HLS 开始,它不需要任何类型的 native 支持即可在 Android 上运行,它只是简单的 HTTP,如果需要,您甚至可以编写自己的实现。原生 MediaPlayer API Android 已经提供了实现。 RTMP + RTSP 同理。

所以,对于你的问题,我可以想到两种方法来解决它:

  1. 获取一个支持数据包嗅探的路由器(可能是一个装有 OpenWRT 和 tcpdump 的路由器),并对使用的 URL 和协议(protocol) twitch Android 客户端进行逆向工程,然后在您的应用中使用它。

    优点:不依赖于 twitch 应用程序本身

    缺点:更难实现,如果 twitch 更改其内部协议(protocol)可能会中断

  2. 对用于传递给其视频播放器 Activity 的 Intent twitch 应用程序进行逆向工程,并模仿您自己的应用程序以允许用户打开播放器观看流。

    您可能会发现有用的工具:https://play.google.com/store/apps/details?id=uk.co.ashtonbrsc.android.intentintercept

    优点:它更可靠、更一致

    缺点:如果 Intent 是私有(private)的,则可能无法工作,这取决于安装 twtich 应用程序的用户

更新:

  1. 我刚发现 Twitch 网站也可以在 Android native 浏览器上运行。好像用过<video>来自 HTML5 标准的标签。所以最简单的解决方案就是使用 WebView环绕该流页面,但这对用户体验不利。

    或者,您可以编写服务器端代码,接受流页面 URL 作为参数,视频标签作为输出,并使用正则表达式或 XPath 或某些 XML 解析器库来提取 <video>标记给客户端。客户端应用程序可以设置一个 WebView就这样 <video>里面的标签。这种方法可以防止您的应用在 Twitch 更改其页面结构时停止工作。

    此外,如果您不想使用 WebView , 你可以提取 src的属性 <video>如果需要,标记并使用 Android 的原生 MediaPlayer AP 播放。

关于android - Twitch 应用程序如何流式传输到 Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22644901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com