2014-03-25 30 views
1

我目前正在开发一个项目,为公司开发电子运动流式日历。该应用程序工作正常,但问题是,抽搐只能让你流Flash,而对于Android,谷歌决定取消支持后不起作用。 Http-live-streaming并没有得到很好的支持,所以该团队目前处于死胡同。Twitch应用程序如何流向Android?

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

回答

1

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

从HLS开始,它不需要任何形式的本机支持来处理Android,它只是简单的HTTP,如果你愿意,你甚至可以自己写实现。本机MediaPlayer API Android已经提供了实现。 RTMP + RTSP也是一样。

所以,你的问题的,这里有两种方式我能想到的解决这个问题:

  1. 获取支持分组sniffering路由器(也许一个路由器的OpenWRT闪过并安装tcpdump的),和反向设计使用的URL和协议抽搐Android客户端,然后在您的应用中使用它。

    优点:对抽搐应用本身

    缺点没有依赖性:更难拉断,可能会破坏如果抽搐改变了它的内部协议

  2. 反向工程用来传递到它的视频播放器的意图抽搐应用活动,并模仿你自己的一个让用户打开播放器观看流。

    工具可能对你有用:https://play.google.com/store/apps/details?id=uk.co.ashtonbrsc.android.intentintercept

    优点:它更可靠和更一致的

    缺点:如果目的是私有的可能无法正常工作,取决于用户在安装twtich应用

UPDATE:

  • 我刚发现抽搐网站开通e也适用于Android本机浏览器。似乎它使用HTML5标准中的<video>标记。因此,最简单的解决方案可能只是使用WebView环绕该流页面,但对用户体验不利。

    或者,您可以编写一个接受流页面URL作为参数并将视频标记作为输出的服务器端代码,并使用正则表达式或XPath或一些XML解析器库将<video>标记提取到客户端。客户端应用程序可以只设置一个WebView,其中只有<video>标签。这种方法可以防止你的应用程序停止工作,如果Twitch改变其页面结构。如果您不想使用WebView,则可以提取该<video>标记的src属性,并在Android的本机MediaPlayer AP上播放它(如果需要)。

  • +0

    让我知道它是否可以通过电子邮件发送请谢谢 – CarlLee

    +0

    我会尽快测试我有空!提前致谢! – Josmomo

    +0

    @Josmomo我测试了'