HLS流媒体:可以从PHP URL中获得块



我需要创建一个HLS播放列表,该播放列表应包含PHP URL而不是块名称。在我看来,.m3U8播放列表应该如下:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:4
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:11
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=0
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=1
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=2
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=3
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=4
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=5
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=6
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=7
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=8
#EXTINF:10,
http://localhost/hls/get.php?a=1&b=9
#EXT-X-ENDLIST

我有几个问题:
1.可以使其工作吗?
2.我应该如何整理get.php中的文件发送?例如,如果我会读取本地文件,然后将其发送给请求者。

任何帮助和信息都将有用。

HLS的规范是用" .ts"扩展服务媒体段。所有在那里的HLS球员(苹果和第三方玩家)都支持这一点,因此这是确保成功的方法。

这在"部署HTTP实时流媒体 - 配置Web服务器"
上注明了这一点(请参阅https://developer.apple.com/library/content/documentation/networkinginternet/conceptual/coneptual/streamingmediaguide/httpstptstptstpterstptreamingarchitecture/httpstpstptstptstptersttpstreamingarchitecture.httmlanchituction.httmlugharchituction.htmlugharchitection.html.

分发系统是Web服务器或Web缓存系统,该系统通过HTTP将媒体文件和索引文件传递给客户端。不需要自定义的服务器模块来交付内容,通常在Web服务器上几乎不需要配置。

建议的配置通常仅限于指定.m3U8文件和.ts文件

的MIME类型关联-CH101-SW13)注意到文件扩展名。

但是,要回答您的问题,您至少需要使用像" .ts"文件(So so" Video/MP2T")的MIME类型从Web服务器中提供您的" .php"文件,否则我敢肯定玩家会失败。然后,您应该使用Apple Media Stream验证器检查您的M3U8文件和PHP媒体段文件,以确定它们是否将与HLS客户端一起使用(从developer.apple.com获取它)。如果Apple Media流验证器说您的流还正常,那么您可能会很幸运。

那么,是什么阻止您使用" .ts"文件?

最新更新