Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用iPhone作为mediastreamsegmenter的输入-HTTP实时流媒体_Iphone_Video Streaming_Http Live Streaming_Live Streaming_Avassetwriter - Fatal编程技术网

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

使用iPhone作为mediastreamsegmenter的输入-HTTP实时流媒体,iphone,video-streaming,http-live-streaming,live-streaming,avassetwriter,Iphone,Video Streaming,Http Live Streaming,Live Streaming,Avassetwriter,我开始研究HTTP直播协议,感觉非常有趣。浏览了苹果公司提供的完整文档 我尝试了视频点播和流媒体直播,并按照其中一个开发者论坛中提到的步骤使用VLC播放器作为流媒体服务器,我能够成功地流媒体 现在,我希望我的iPhone成为流媒体的来源,并希望使用另一部iPhone来查看这些内容 如前所述,mediastreamsegmenter是一种通过UDP网络连接或从sdtin接收MPEG-2传输流的工具 有人能告诉我如何开始使用我的iPhone作为流媒体服务器,并能够流媒体内容吗。据我所知,我认为必须有

我开始研究HTTP直播协议,感觉非常有趣。浏览了苹果公司提供的完整文档

我尝试了视频点播和流媒体直播,并按照其中一个开发者论坛中提到的步骤使用VLC播放器作为流媒体服务器,我能够成功地流媒体

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

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

有人能告诉我如何开始使用我的iPhone作为流媒体服务器,并能够流媒体内容吗。据我所知,我认为必须有一个客户端(iPhone)应用程序,它将内容发送到服务器,然后服务器将流转换为MPEG-2传输流,并将其发送到mediastreamsegmenter。我希望剩下的部分和我为VLC玩家做的一样


如果有人能帮我解决这个问题,那就太好了。

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

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

几周前我确实考虑过这个问题,但是我没有成功。问题不在于媒体分段器。MPEG2 TS仅仅是一个容器,分割仅仅是分割视频,它可以很容易地实现(?)并具有精确的规格

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

可以连续存储短视频并将其上传到服务器。但是启动/完成视频会话花费的时间太长。所以我放弃了这个方法

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

市场上有一些直播视频流特色应用程序。我没有用它们。但也许是其中之一

  • 传输原始帧。(无压缩或快速但弱压缩)
  • 基于ffmpeg编码器
  • 独立硬件加速编码器实现
第一个要求太高的带宽,并且消耗大量的能量

第二个肯定慢,消耗大量能源。然而,这可能就足够了

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

我希望苹果能发布这种压缩视频流。用苹果的硬件加速编码器进行压缩。但除非苹果公司决定放弃保护设备间的高质量实时视频流功能作为其杀手级功能,否则这种情况可能不会发生。。。FaceTime

不过,苹果可能会在某个时候发布此API。我不确定我搜索了所有的API。有可能我查不到什么重要的东西


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

上有一个很好的AVAssetWriter和Avassetrader示例。您可以通过读卡器部件在网络上发送收集的数据。

有一篇文章用AVAssetWriter回答您的问题: