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

Rya*_*yan 3 video-streaming http-live-streaming ios

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

  1. iOS应用程序使用输出MP4的UIImagePickerController捕获视频.
  2. MP4上传到运行Django的EC2(Ubuntu)服务器.
  3. Django读取文件并上传到S3进行存储.
  4. 现在,iOS应用程序可以访问S3电影以便稍后观看.这使用渐进式流式传输(即假流式传输,只是在下载时播放).

目标: 我的目标是在此处使用HTTP直播(HLS).

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

Dev*_*hen 5

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

但仅仅为了完整起见 - 您至少有两个选择:

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

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


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

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


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