M3U8文件是一个记录索引的纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。TSINGSEE青犀视频EasyDSS直播点播系统支持调用m3u8播放地址进行二次开发或者集成。

目前在m3u8地址上仍存在的问题是,调用获取指定时间录像的m3u8播放地址用苹果手机进行播放,会出现黑屏无法播放的问题,但是其他平台并无该问题。所以这个成为我们亟待解决的问题。

经过研发的分析,应该是后台在生成新的m3u8文件出现了问题,新的m3u8文件对内容不是很严谨,其中在统计播放时长的那个参数一开始并没有统计,导致iOS系统在识别的时候出现问题。
因此我们从代码中对最大ts切片的时长和总时长进行统计,将数据写到对应的m3u8参数中。

for _, tsname := range *strs {
realTsPaths := strings.Split(tsname, sDay+"/")
tsId := strings.Split(realTsPaths[1], "/")
periodPath := filepath.Join(realTsPaths[0], sDay, tsId[0], fmt.Sprintf(`%s_record.m3u8`, id))
timeStr = getTsTime(periodPath,

博客讲述了在EasyDSS直播点播系统中遇到的一个问题,即使用苹果手机播放指定时间录像的m3u8地址时出现黑屏。研发分析认为是m3u8文件内容不严谨,缺少播放时长参数导致。解决方案是通过代码统计最大ts切片时长和总时长,并更新到m3u8参数中。修复后,播放问题得到解决。
最低0.47元/天 解锁文章
397

被折叠的 条评论
为什么被折叠?



