在iPhone / iPad上保存HLS流

时间:2012-06-23 16:35:22

标签: iphone objective-c ipad video http-live-streaming

我有一个iPhone / iPad应用程序,播放电视频道的HTTP直播。我想添加一个记录功能,以便像电视录像机一样在设备上保存直播。

我不知道是否可能,但我认为我有2种方法可以录制流。

  1. 保存屏幕上显示的输出流,但我不知道该怎么做...

  2. 打开m3u8播放列表并下载播放列表的片段,将其保存为创建m3u8播放列表以及已下载的片段。但在这种情况下,我会下载2次视频,一次使用MPMoviePlayer,另一次使用下载段。

  3. 任何人都已经做过samilar事,或者知道怎么做?

    提前感谢!

2 个答案:

答案 0 :(得分:1)

您可以使用选项2,并将下载代码作为http代理。

您的代理将下载m3u8播放列表,并重新编写URL以解决localhost问题。然后代理将根据MPMoviePlayer的请求从服务器下载。它只会将内容写入两个位置(存储和电影播放器​​)。

答案 1 :(得分:1)

您应该使用选项2。

假设您在Documents文件夹(Documents / downloads)中创建了“downloads”文件夹

  • 首先在您的应用程序中运行HTTPServer(即Mongoose)。
  • 定义Mongoose的下载文件夹的根路径。
  • 将视频和m3u8文件下载到下载文件夹。如果要更改m3u8,请使用NSString方法。

播放录制的视频时,请使用以下地址

http://localhost:8080/playlist.m3u8

MPMoviePlayer可以毫无问题地播放录制的视频。

如果您想录制不同的视频,可以在目录系统中实现目录系统。