android - WOWZA + RTMP + HTML5 播放?

标签 android ios html rtmp wowza

我有 Wowza 并正在测试 RTMP 流媒体。现在就像在 Wowza RTMP 示例中一样,我现在可以:

  • 通过 Flash 播放
  • 通过适用于 iOS 的 HTML5 播放
    • <video x-webkit-airplay="allow" type="video/m3u8" src="http://xx.xx.xx.xx:1935/live/myStream/playlist.m3u8" />

也就是说,到现在为止,我可以通过以下方式播放:

  • Flash (我最后不想要它)
  • iOS HTML5

那么如何让它继续播放:

  • 非 iOS 浏览器的 HTML5?

对于 HTML5 上的 iOS:

<video x-webkit-airplay="allow" type="video/m3u8" src="http://xx.xx.xx.xx:1935/live/myStream/playlist.m3u8" />

适用于 Android 或 Windows 或任何其他浏览器的 HTML5?

最佳答案

您在 iPhone 上使用的 HTML 5 直播通常称为“HLS”。目前大多数桌面浏览器不支持通过 HTML 5 视频标签的 HLS。

但是,使用 Wowza,您几乎可以轻松地将直播流放到任何屏幕上。

iOS:

你被覆盖在那里。从 Wowza 到 iOS 设备的 HLS 直播就像一个魅力。

桌面:

不幸的是,对于桌面浏览器,您仍然只能使用 Flash 进行直播。您可以通过以下两种方式之一执行此操作:

  1. 使用典型的 Flash 媒体播放器,例如 JWPlayer,如您所述,使用久经考验的 RTMP 方法。

  2. 使用支持 HLS 流的 Flash 媒体播放器(例如 JWPlayer)。在这种情况下,您将使用与用于 iOS 流的相同端点。我一直在桌面上的闪存中以这种方式运行实时流。为了我的钱,我更喜欢将 HLS 用于桌面,因为我在一天结束时只处理所有设备上的直播流的一种协议(protocol)。我还发现性能非常好。

您可以在此处阅读 JWPlayer 中的 HLS 支持:

http://support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming

请注意,JWPlayer 中的 HLS 支持仅限于其企业版。

综上所述,我真的建议您查看 JWPlayer .在我看来,没有什么比在所有设备上运行直播更容易的了。

安卓:

尽管 Android 在技术上不支持 HLS,但我发现在许多 Android 设备(包括 Galaxy S4 和 HTC One)上,在视频标签中使用 HLS 流就像在 iOS 上一样。因为我读过的所有内容都表明 Android 不支持 HLS,所以我只能假设此功能是由各个制造商添加的。或者,您向 Android 用户提供一个链接,该链接指向 Wowza 在其默认应用程序配置中生成的 rtsp 流。在大多数其他 Android 设备上,可以使用设备的 native 媒体播放器打开 rtsp 流。可以在此处找到有关 Android 直播的完整历史记录和解决方法:

http://www.jwplayer.com/blog/the-pain-of-live-streaming-on-android/

最后我要说的是,尽管在去年向多个设备进行实时流式传输变得更加容易,但仍然存在对接负载 fragment 化,这可能会使寻求实现解决方案的开发人员抓狂。此外,尽管大多数人都同意 HTML 5 视频规范是 future ,但该规范仍在广泛争论中,尚未真正“完成”。 Jeroen Wijering 有一篇关于该主题的文章,该文章会定期更新,在我看来,任何在 Web 应用程序中处理视频的人都需要阅读。我会仔细阅读它,并在您继续为网络开发视频解决方案时经常回来查看更新:

http://www.jwplayer.com/html5/

更新:

JWPlayer 现在正式支持 Android 4.1+ (Jellybean) 上的 HLS:

http://support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming

关于android - WOWZA + RTMP + HTML5 播放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17906181/

相关文章:

ios - 如何自动调整单元格大小以适合每行 4 个单元格

ios - 使用土耳其语无点 i 进行字符串搜索

ios - 如何向 UITextView 添加事件指示器?

javascript - 你如何用 javascript 清除 <div> 的内容?

javascript - jQuery 未定义 twitter bootstrap

android - 使 RecyclerView 垂直

java - Android-RecyclerView 从 JSON 中设置图像和文本

java - CipherOutputStream 和 FileOutputStream(someFile, true) 在追加数据时产生垃圾

javascript - 在相同的上下文中复制相同的东西

java - AES - 生成 key 并加载它会产生无效 key 异常