gpt4 book ai didi

iphone - 使用 iPhone 作为 mediastreamsegmenter 的输入 - HTTP 实时流媒体

转载 作者:行者123 更新时间:2023-12-03 19:19:32 26 4
gpt4 key购买 nike

我开始研究HTTP live Streaming协议(protocol),感觉很有趣。浏览了Apple提供的完整文档。

我按照开发者论坛之一中提到的步骤尝试了 Vedio On Demand 和实时流媒体,并使用 VLC 播放器作为流媒体服务器,并且能够成功进行流媒体播放。

现在我希望我的 iPhone 成为流媒体的来源,并希望使用另一部 iPhone 来观看该内容。

如上所述,mediastreamsegmenter 是一种通过 UDP 网络连接或从 sdtin 接收 MPEG-2 传输流的工具。

有人可以介绍一下如何开始使用我的 iPhone 作为流媒体服务器并能够流式传输内容吗?据我所知,我认为必须有一个客户端(iPhone)应用程序将内容发送到服务器,服务器又将流转换为 MPEG-2 传输流并将其发送到 mediastreamsegmenter。我希望剩下的部分与我为 VLC 播放器进行流式传输时所做的相同。

如果有人能帮助我了解如何开始这方面的工作,那就太好了。

最佳答案

这只是我的猜测。如果有肯定的答案,我尽量不发布此内容。然而,到现在为止,还没有答案。所以我写这篇文章只是为了分享我的观点。但很抱歉,这不是积极的。

如果您只想从 iOS 设备传输视频,这很简单。只需发送视频文件本身。所以我假设你想要的是实时视频流。广播我当前正在录制的内容。

几周前我确实考虑过这个问题,但我没有成功。问题不在于媒体分段器。 MPEG2 TS只是一个容器,分段只是分割视频,它可以通过准确的规范轻松实现(?)。

真正的问题是视频编码。 iOS 不提供来自摄像头输入的压缩实时流。 (也许还?)压缩流只能存储到磁盘中。应该有一种方法可以在内部获取压缩视频流。因为如果没有它,FaceTime 就不可能实现。但它不提供给第三方。

可以连续存储短视频并上传到服务器。但启动/完成视频 session 需要很长时间。所以我放弃了这个方法。

另一种方式是,iOS 提供未压缩的视频流,因此您可以通过自己压缩原始视频流来制作它。使用 ffmpeg 或类似的东西。然而,Apple 的视频编码利用硬件功能来提高性能(这可以在较小的尺寸内提高视频质量)并节省能源。 ffmpeg 仅在软件中完成所有操作。当然,您可以自己制作硬件加速编码器,也可以从供应商处购买。

市场上有一些具有实时视频流功能的应用程序。我没有使用它们。但也许其中之一。

  • 传输原始帧。 (无压缩或快速但弱压缩)
  • 基于 ffmpeg 编码器。
  • 独立的硬件加速编码器实现。

第一个需要太大的带宽,并且还消耗大量的能量。

第二个肯定很慢并且消耗大量能量。不过,这可能就足够了。

第三,对于小型应用程序来说,开发成本太高。但如果预算足够的话,这个是最好的。我不知道市场上是否存在针对 iOS 的预实现库。

我希望Apple能够发布这种压缩视频流。其中使用Apple的硬件加速编码器进行压缩。但也许这不会发生,除非苹果决定放弃保护设备之间的高质量实时视频流功能作为其 killer 级功能……FaceTime。

但是 Apple 可能会在某个时候发布此 API。我不确定是否搜索了所有 API。我可能无法检查一些重要的事情。

<小时/>

更新

我找到了AVAssetWriter类,它可以将视频数据压缩写入文件。这可能是制作此类应用程序的关键。

关于iphone - 使用 iPhone 作为 mediastreamsegmenter 的输入 - HTTP 实时流媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5245071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com