我有一台本地运行的服务器,它提供有效的.m3u8和.ts文件。如果我在safari(桌面)上打开文件,它将开始正常播放流,但是,如果我在同一网络上的移动设备上打开文件(在Safari中或在iOS上的AVPlayer中),它将无法播放。据我所知,这不是网络问题,因为我可以看到移动浏览器向服务器发送清单请求,然后是第二个,然后它开始请求视频片段,但它们从不播放。我认为问题出在我的清单文件中,因为如果我用有效的.m3u8文件(example)替换URL,它就会正常运行。
我的清单文件:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=96
../../d/stream.m3u8?b=96
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=128
../../d/stream.m3u8?b=128
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=192
../../d/stream.m3u8?b=192
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=256
../../d/stream.m3u8?b=256
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=320
../../d/stream.m3u8?b=320
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=512
../../d/stream.m3u8?b=512
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1024
../../d/stream.m3u8?b=1024
从那里它从服务器请求第二个清单:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:2,
../m/file1.ts
#EXTINF:2,
../m/file2.ts
#EXTINF:2,
../m/file3.ts
#EXTINF:2,
../m/file4.ts
#EXTINF:2,
../m/file5.ts
然后设备请求一个段,但它从不显示它。