codenameone - com.codename1.components.MediaPlayer 是否支持 HLS 自适应比特率流

标签 codenameone http-live-streaming

最适合移动设备的自适应比特率流媒体是 HLS(HTTP 实时流媒体)。

HLS 使用主 m3u8 list 文件将不同的屏幕分辨率与媒体文件 block 进行映射,并根据客户端屏幕分辨率和网络波动提供适当的分辨率。

我检查了您的 KitchenSink 应用程序的代码,发现您的 MediaPlayer 正在提供 mp4 文件。 你们中有人尝试过用 m3u8 list 替换 mp4 链接吗? 它应该起作用吗? 您是否考虑将现有解决方案包含在 MediaPlayer => https://github.com/videojs/videojs-contrib-hls 中。

最佳答案

媒体依赖于 native 操作系统播放,因此如果操作系统支持 native 编解码器,它就可以正常工作。

主要动机是为了避免媒体的问题本质,即专利诉讼和复杂性领域。

如果 native 平台支持编解码器,它就会工作,我们使用 264,因为它得到普遍支持,这非常罕见。我们的模拟器使用 JavaFX 进行视频播放,并且它们的编解码器支持“有问题”,因此 264 可能是我们可以选择在模拟器和所有设备上工作的唯一方法。

话虽如此,如果您有一个编解码器的纯 Java 实现,您可能可以将其移植到 Codename One。上面的编解码器的 JavaScript 版本可能也可以在 Web 浏览器组件中工作,但可能无法在模拟器中工作,因为 JavaFX 的 Webview 在 HTML5 支持方面相当薄弱,但它可能在设备上工作。

关于codenameone - com.codename1.components.MediaPlayer 是否支持 HLS 自适应比特率流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46992452/

相关文章:

websocket - 将连续的 PNG 输出图像文件编码和流式传输为 Web 浏览器上的实时视频流

xcode 流无法在 iPhone 上播放

google-chrome - 谷歌浏览器中这些 http-livestream 伪影的原因可能是什么?

ios - 在 iOS 中从 HLS 下载特​​定分辨率

safari - HTML 视频 : Is it possible to fallback to HLS for lack of DASH/Webm-VP9 support on Safari, 或者我如何在 DASH 上同时支持 Webm 和 H264?

java - 自动在网页上移动

java - 如何从 StateMachineBase.java 调用 native 接口(interface)并使用代号一从 native 实现发回一些值?

netbeans - Codename One 无法在 Netbeans 调试器上看到本地通知

java - LeadComponent() 在 getname() 方法中给出问题

java - 在 NetBeans 中将 jar 文件添加到 codenameone