如何将iPhone捕获的视频转换为HTTP Live Streaming文件?

时间:2012-08-07 15:50:15

标签: ios video-streaming http-live-streaming

我在Amazon Web Services EC2 / S3上有一个iOS应用程序和Django后端。目前的流程:

  1. iOS应用使用UIImagePickerController捕获视频 输出MP4。
  2. MP4上传到我的EC2(Ubuntu)服务器 运行Django。
  3. Django读取文件并上传到S3 存储。
  4. 现在,iOS应用可以访问S3电影观看 晚点。这使用渐进式流式传输(即假流媒体, 只是在下载时播放。)
  5. 目标:我的目标是在此处使用HTTP直播(HLS)。

    有人可以提供有关如何更改当前工作流程以获取S3上的HLS文件(.M3U8和.TS)以允许流式传输的建议吗?谢谢。

1 个答案:

答案 0 :(得分:5)

这个问题真的很老了,我猜你已经开始......

但仅仅为了完整性 - 你至少有两个选择:

一个。将ONCE文件转换为具有所有必需比特率的HLS格式,在S3中托管转换后的文件。

您可以使用第三方编码服务(如Encoding.com或Zencoder)执行此操作,使用像Kaltura这样的平台部署您自己的堆栈(还有其他一些我无法立即回想起的平台)或者滚动您自己的转码服务器用ffmpeg。


湾使用可以从您已有的MP4转码的媒体服务器,即时选择格式(取决于请求客户端)。

Wowza Media Server就是一个很好的例子。微软的IIS媒体服务和Adobe的Flash媒体服务器也被广泛用于向其他几个平台提供iOS PLUS。这里有无穷无尽的选项,您所要做的就是为HLS正确配置每个服务器。 Google可以轻松为您找到合适的样品。


在这两种情况下,您都可以设置CloudFront,然后从S3或您选择的媒体服务器读取文件。后者相对较难,我还没有这样做,所以不幸的是我没有有用的链接。