【发布时间】:2012-11-30 20:22:41
【问题描述】:
我正在尝试在 iPhone 上运行 HTTP 实时流媒体服务器,它从摄像头捕获视频流并将其提供给 HTML5 客户端(支持 HTTP 实时流媒体)。
到目前为止,我已经完成了以下工作。
- iOS 上的 HTTP 直播流服务器(用 Node.js 编写),动态 从视频捕获模块生成的传输流(视频/MP2T)文件列表中更新索引文件。
- 视频采集模块,它使用AVCaptureMovieFileOutput产生一系列 连续播放 10 秒 QuickTime 文件(与 它们,但对于我的应用程序来说已经足够小了)。
我需要的是一个即时转换器,它将每个 QuickTime 文件转换为一个传输流文件(无需更改编码,我只需要一个不同的容器),它桥接了上面的两个模块。
我之所以采用这种方法,是因为据我所知,这是利用 iPhone 硬件视频编码器的唯一方法(我在这里对此主题进行了相当多的研究,我有 99% 的把握。如果我错了,请告诉我)。
一些人建议使用 ffmpeg,但我宁愿使用具有 MIT 许可证(如果有的话)的小得多的代码,或者从头开始编写一些东西(并使用 MIT 许可证将其开源)。
我对这个媒体容器很陌生,如果有人能指出我正确的方向(示例代码、开源、文档......),我将不胜感激。
【问题讨论】:
-
你可以看一下ffmpeg的代码,看看是怎么做的。
-
ffmpeg 是唯一便宜的解决方案,有商业编码器,但它们要花很多钱。在手机上创建的 HLS 会有点问题,确实考虑过 rtmp,因为看起来你已经准备好了很多东西。我认为这些差距是因为您需要读回从 avassetwriter 生成的完整 mov 文件。
标签: ios node.js streaming avfoundation http-live-streaming