使用iPhone作为mediastreamsegmenter的输入-HTTP实时流媒体
我开始研究HTTP直播协议,感觉非常有趣。浏览了苹果公司提供的完整文档 我尝试了视频点播和流媒体直播,并按照其中一个开发者论坛中提到的步骤使用VLC播放器作为流媒体服务器,我能够成功地流媒体 现在,我希望我的iPhone成为流媒体的来源,并希望使用另一部iPhone来查看这些内容 如前所述,mediastreamsegmenter是一种通过UDP网络连接或从sdtin接收MPEG-2传输流的工具 有人能告诉我如何开始使用我的iPhone作为流媒体服务器,并能够流媒体内容吗。据我所知,我认为必须有一个客户端(iPhone)应用程序,它将内容发送到服务器,然后服务器将流转换为MPEG-2传输流,并将其发送到mediastreamsegmenter。我希望剩下的部分和我为VLC玩家做的一样使用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作为流媒体服务器,并能够流媒体内容吗。据我所知,我认为必须有
如果有人能帮我解决这个问题,那就太好了。这只是我的猜测。如果有肯定的答案,我尽量不发表这篇文章。然而,现在仍然没有答案。所以我写这篇文章只是为了分享我的观点。然而,我很抱歉这不是积极的 如果您只想从iOS设备传输视频,这很容易。只需发送视频文件本身。所以我假设你想要的是实时视频流。播放我正在录制的内容 几周前我确实考虑过这个问题,但是我没有成功。问题不在于媒体分段器。MPEG2 TS仅仅是一个容器,分割仅仅是分割视频,它可以很容易地实现(?)并具有精确的规格 真正的问题是视频编码。iOS不提供摄像机输入的压缩实时流。(可能还没有?)压缩流只能存储到磁盘中。应该有一种在内部获取压缩视频流的方法。因为没有FaceTime是不可能的。但是,它不提供给第三方 可以连续存储短视频并将其上传到服务器。但是启动/完成视频会话花费的时间太长。所以我放弃了这个方法 另一种方式是,iOS提供未压缩的视频流,所以您可以自己压缩原始视频流。用
ffmpeg
之类的东西。然而,苹果的视频编码利用硬件功能来提高性能(这可以在较小的尺寸内提高视频质量)并节约能源ffmpeg
仅在软件中完成所有操作。当然,您可以自己制作硬件加速编码器,也可以从某个供应商处购买
市场上有一些直播视频流特色应用程序。我没有用它们。但也许是其中之一
- 传输原始帧。(无压缩或快速但弱压缩)
- 基于ffmpeg编码器
- 独立硬件加速编码器实现
更新
我找到了类
AVAssetWriter
,它可以通过压缩将视频数据写入文件。这可能是制作此类应用程序的关键。上有一个很好的AVAssetWriter和Avassetrader示例。您可以通过读卡器部件在网络上发送收集的数据。有一篇文章用AVAssetWriter回答您的问题: