VLC播放基于HLS协议m3u8文件的几个问题

最近比较忙,刚刚接手一个电视视频直播与点播的项目,服务器端视频流是基于HLS协议,关于HLS协议的相关介绍这里就不介绍了,请参考Apple的官网。刚接手项目的时候,试了几种开源播放器,MPlayer、VLC、ffplayer等,,效果都不怎么样,播放m3u8 list的时候多多少少都有些问题,经过权衡以后,还是选择了VLC,看了大约一周VLC的源码,对VLC的源码架构有了一些了解,其中重点看了播放m3u8的主要流程,VLC里面对m3u8文件的解析在modules\stream_filter\Httplive.c这个文件里。 经过播放测试,发现VLC播放直播没有问题,但是播放点播以及回放(也可理解为直播,不过它的m3u8文件标签和点播有些不同,我也不清楚服务器进行分割的时候为什么会生成不同的标签)的时候不好用。经过分析发现VLC对HLS协议支持不好,对一些HLS协议的标签不支持。经过二天的修改搞定了点播和回放的问题。 但是这时候又来问题了,点播和回放的时候没有当前播放时间与视频长度现实,调查了一下,发现Httplive.c里面根本就没有这部分的代码,经过一天的折腾,把这部分的代码加上以后这个问题搞定了。

计算视频长度的时候与HLS协议版本号有关系。。。。。。。版本号小于3,取得是整数,否则才是浮点型,整数是与实际视频长度有误差的。。。。。。

在旅途中,我遇见了你,你我相识是缘分!看着你手中的戒指,

VLC播放基于HLS协议m3u8文件的几个问题

相关文章:

你感兴趣的文章:

标签云: