Safari原生播放器低延迟HLS播放异常:EXT-X-TARGETDURATION设置疑问
关于Safari原生播放器低延迟HLS流播放异常的问题
我制作了两条用于Safari原生播放器的低延迟HLS流,二者仅EXT-X-TARGETDURATION设置不同:
- 正常流:
EXT-X-TARGETDURATION与EXTINF均为6秒,可正常播放; - 异常流:
EXT-X-TARGETDURATION为8秒,EXTINF为6秒,仅下载m3u8和部分分段,完全无法播放。
以下是异常流的SBR m3u8内容(将EXT-X-TARGETDURATION设为6秒则可正常播放):
#EXTM3U #EXT-X-VERSION:9 #EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES,HOLD-BACK=24.000000,PART-HOLD-BACK=3.120000,CAN-SKIP-UNTIL=48.000000 #EXT-X-PART-INF:PART-TARGET=1.025000 #EXT-X-TARGETDURATION:8 #EXT-X-DISCONTINUITY-SEQUENCE:0 #EXT-X-MEDIA-SEQUENCE:280690554 #EXT-X-INDEPENDENT-SEGMENTS #EXT-X-MAP:URI="test_3000_video-init.mp4" #EXT-X-SKIP:SKIPPED-SEGMENTS=44 #EXTINF:6.000000, test_3000_video-280690598.mp4 #EXTINF:6.000000, test_3000_video-280690599.mp4 #EXT-X-PROGRAM-DATE-TIME:2023-05-15T09:40:02.016Z #EXTINF:6.000000, test_3000_video-280690600.mp4 #EXTINF:6.000000, test_3000_video-280690601.mp4 #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part0.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part1.mp4" #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part2.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part3.mp4" #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part4.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690602.part5.mp4" #EXTINF:6.000000, test_3000_video-280690602.mp4 #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part0.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part1.mp4" #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part2.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part3.mp4" #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part4.mp4",INDEPENDENT=YES #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690603.part5.mp4" #EXTINF:6.000000, test_3000_video-280690603.mp4 #EXT-X-PART:DURATION=1.000000,URI="test_3000_video-280690604.part0.mp4",INDEPENDENT=YES #EXT-X-PRELOAD-HINT:TYPE=PART,URI="test_3000_video-280690604.part1.mp4" #EXT-X-RENDITION-REPORT:URI="../test_1640_video/test_1640_fmp4Video.m3u8",LAST-MSN=280690604,LAST-PART=0 #EXT-X-RENDITION-REPORT:URI="../test_1100_video/test_1100_fmp4Video.m3u8",LAST-MSN=280690604,LAST-PART=0
根据HLS规范,EXT-X-TARGETDURATION标签用于指定媒体分段的最大时长,异常流的设置符合该规范。我使用streamvalidator工具验证流,仅检测到峰值比特率错误,而正常流也存在该错误。此外,非低延迟的普通HLS流在Safari原生播放器中可正常播放,不受EXT-X-TARGETDURATION与EXTINF是否相等的影响。
请问异常流无法播放的原因是什么?望各位不吝赐教,谢谢!
内容的提问来源于stack exchange,提问作者stackxyz
相关产品推荐
相关产品推荐

