com.codename1.components.MediaPlayer是否支持HLS自适应比特率流式传输

问题描述:

最容易移动的自适应比特率流式传输是HLS(HTTP实时流式传输)。com.codename1.components.MediaPlayer是否支持HLS自适应比特率流式传输

HLS正在使用一个主m3u8清单文件来映射不同的屏幕分辨率和媒体文件块,并根据客户端屏幕分辨率和网络波动提供适当的分辨率。

我检查了你的KitchenSink应用的代码,我发现你的MediaPlayer服务的是mp4文件。 有没有人试图用m3u8清单替换mp4链接? 它应该工作吗? 您是否考虑在MediaPlayer中包含现有的解决方案=>https://github.com/videojs/videojs-contrib-hls

媒体依赖于本地操作系统回放,所以如果操作系统支持本地编解码器,它就可以工作。

主要动机是避免媒体的问题性质,这是一个专利诉讼和复杂领域。

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

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

我用KitchenSink/src/com/codename1/demos/kitchensink/Video.java替换了演示m3u8链接的mp4媒体链接,并在iPhone 6S/IOS 11.0.2和Galaxy Tab Note上测试了生成的apk和ipa/Android 7.1.1。
m3u8串流可以在Android和iPhone设备上正常工作。 对于那些需要一些m3u8样品的人来说,请帮助你的自己在videojs中获取更多信息=>https://github.com/videojs/videojs-contrib-hls