我很长时间以来一直面临着这些问题,而且我对HLS的Android支持感到非常失望,因为它的行为太随机了。
要求:
1)播放多个.m3u8视频流
2)应该在不同的设备和api级别上工作。
我所遇到的问题和各自的问题:
方法 - 1) TextureView with native MediaPlayer:
播放的视频数量取决于设备,对于某些设备而言 只播放一个视频(我的设备 - 三星galaxy grand quattro - api 等级16),对于某些设备,它可以播放所有四个视频 串流。
取决于api级别,一些.m3u8 url正在研究软糖而不是 以上kitkat。
方法 - 2) ExoPlayer:
方法 - 3) Vitamio:
成功播放每个.m3u8网址
方法 - 4) grafika:
我正在寻找的解决方案:
1)应该播放多个视频流,就像上述任何方法一样,我的设备可以播放单个视频,但似乎Milestone Mobile能够在我的设备中播放8个视频流(How?:O)。
2)如果本机MediaPlayer无法播放某些.m3u8网址,那么如何调试问题就像aac编解码器,解码器,网段,.ts文件等有什么问题?
3)如果原生MediaPlayer无法播放流媒体,那么我该如何制作支持大多数流媒体网址的自定义MediaPlayer?
4)有没有可能用Vitamio播放多个视频?
5)参考符合我要求的任何其他HLS客户?
就我个人而言,我想选择Method-1,那么有什么我可以做的吗?