0

我知道这是一个常见问题,没有简单的解决方案。

找到了一个相同的演示 - http://blog.denivip.ru/index.php/2017/01/live-streaming-on-ios/?lang=en,但它不使用 AVAssetWriter。

人们还建议使用bento4 库,但我希望能够以编程方式完成它,而无需创建新进程,也无需创建新文件和使用 AVAssetWriter 的延迟。

如果不可能,为什么 IOS 没有内置支持使用 AVAssetWriter 使用示例创建这些文件?

RTSP 是 Apple 推荐的直播流媒体的唯一选择吗?

4

1 回答 1

0

回答我的问题。

  1. 使用 AVAssetWriter 创建 mp4 文件序列。
  2. 在读取要写入套接字的文件时,使用 qt-faststart 创建 mp4 文件的流式版本。这是 java 等价物 - https://github.com/ypresto/qtfaststart-java/tree/master/src/main/java/net/ypresto/qtfaststart

看起来不能要求 ios 这样做。

编辑#1:可悲的是,许多 mp4 文件最后似乎没有 moov 原子。所以,回到第一方。有没有办法强制 AVAssetWriter 至少在结尾处写入 moov 原子,如果不是开始的话?

编辑#2:中提琴!看起来Apple确实支持该功能。看到这个:https ://developer.apple.com/documentation/avfoundation/avassetwriter/1389811-shouldoptimizefornetworkuse?language=objc和这个:shouldOptimizeForNetworkUse 实际上做什么?

于 2018-07-24T19:58:02.973 回答