【问题标题】:HLS streaming: is it possible to get chunks from PHP URLHLS 流:是否可以从 PHP URL 获取块
【发布时间】:2017-03-15 13:26:42
【问题描述】:

我需要创建一个 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中的文件发送应该如何组织?例如,如果我将读取一个本地文件,然后将其发送给请求者。

任何帮助和信息都会很有用。

【问题讨论】:

    标签: php streaming playlist http-live-streaming


    【解决方案1】:

    HLS 的规范是提供带有“.ts”扩展名的媒体片段。那里的所有 HLS 播放器(Apple 和第 3 方播放器)都支持这一点,因此这是确保成功的方法。

    Apple 开发页面“部署 HTTP 实时流式传输 - 配置 Web 服务器”上对此进行了说明
    (见https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW13):

    分发系统是一个 Web 服务器或 Web 缓存系统,它通过 HTTP 将媒体文件和索引文件传递给客户端。交付内容不需要自定义服务器模块,并且通常只需要在 Web 服务器上进行很少的配置。

    推荐的配置通常仅限于为 .M3U8 文件和 .ts 文件指定 MIME 类型关联

    特别是在“HTTP Streaming Architecture”(参见https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/HTTPStreamingArchitecture/HTTPStreamingArchitecture.html#//apple_ref/doc/uid/TP40008332-CH101-SW13)中,文件扩展名“.ts”的 MIME 类型为“video/MP2T”

    但要回答您的问题,您至少需要使用 MIME 类型(如“.ts”文件(即“视频/MP2T”))从您的网络服务器提供您的“.php”文件,否则我确定玩家会失败。然后,您应该使用 Apple Media Stream Validator 检查您的 m3u8 文件和您的 PHP 媒体段文件,以确定它们是否可以与 HLS 客户端一起使用(从 developer.apple.com 获取)。如果 Apple Media Stream Validator 说您的流没问题,那么您可能会幸运地使用您的超常规方法。

    那么是什么阻止您使用“.ts”文件?

    【讨论】:

    • 谢谢!很好的解释!
    • 嗨@John,我可以使用其他格式吗?也许我想要来自其他服务的反向代理 .ts 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多