17

感谢您提交 APPNAME_HERE。我们已经审查了您的应用程序,并确定它目前无法发布到 App Store,因为它没有使用 64 kbps 的基准流进行 HTTP Live Streaming 协议来广播流式视频。在通过蜂窝网络流式传输视频时需要 HTTP 实时流,以便获得最佳用户体验并利用蜂窝最佳实践。即使带宽流发生变化,该协议也会自动确定用户可用的带宽并适当调整带宽。这使您可以灵活地拥有任意数量的流,只要将 64 kbps 设置为基线提要。

这是我从 Apple 得到的,尽管我有 48kbps、64kbps、128kbps 和 384kbps 流可用。如何设置基线提要?我的应用程序现在的工作方式是它首先加载最低的可用带宽,然后随着带宽向上扩展。这是我的索引 m3u8

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=48000
stream-soundonly.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000
stream-64k.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=128000
stream-128k.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=384000
stream-384k.m3u8

苹果真的很挑剔

4

2 回答 2

11

我们遇到了同样的问题。Apple 不仅会检查您的 M3U8 文件以确保其符合要求。他们还监视您的流,以确保它们是您所说的那样。我们的流结果高于 64K——因为我们没有考虑音频带宽(一个粗心但重要的疏忽)。请记住,64K 适用于整个流:视频 + 音频 <= 64000。

如果您有疑问,Apple 还提供相同的流监控软件。如果你问他们,他们会给你一个链接。至少他们对我的小组做了。

于 2010-07-02T00:00:22.503 回答
1

另一件可能有用的事情是考虑可变比特率编码,这意味着很难准确预测任何给定段的平均和最大比特率。

编码时,将纯音频流的目标比特率设置得足够低,以使任何段都不会超过 64kbit/s(正确的数字需要反复试验)。

于 2010-07-20T17:53:06.753 回答