2017-10-28 154 views
1

最容易移動的自適應比特率流式傳輸是HLS(HTTP實時流式傳輸)。com.codename1.components.MediaPlayer是否支持HLS自適應比特率流式傳輸

HLS正在使用一個主m3u8清單文件來映射不同的屏幕分辨率和媒體文件塊,並根據客戶端屏幕分辨率和網絡波動提供適當的分辨率。

我檢查了你的KitchenSink應用的代碼,我發現你的MediaPlayer服務的是mp4文件。 有沒有人試圖用m3u8清單替換mp4鏈接? 它應該工作嗎? 您是否考慮在MediaPlayer中包含現有的解決方案=>https://github.com/videojs/videojs-contrib-hls

回答

1

媒體依賴於本地操作系統回放,所以如果操作系統支持本地編解碼器,它就可以工作。

主要動機是避免媒體的問題性質,這是一個專利訴訟和複雜領域。

如果本地平臺支持編解碼器,它將工作,我們使用264,因爲它是普遍支持的,這是非常罕見的。我們的模擬器使用JavaFX進行視頻播放,並且他們的編解碼器支持是「有問題的」,所以264可能是我們可以選擇在模擬器和所有設備中工作的唯一方法。

話雖如此,如果你有一個純粹的編解碼器Java實現,你可以將它移植到Codename One。以上編解碼器的JavaScript版本可能在Web瀏覽器組件中也可以工作,但可能無法在模擬器中使用,因爲JavaFX的webview在HTML5支持方面相當薄弱,但它可能在設備上工作。

0

我用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

相關問題