iphone - 在观看时将 HTTP 直播视频录制到文件?

标签 iphone cocoa-touch ipad streaming mpmovieplayercontroller

我正在尝试在我正在开发的应用程序中创建类似流视频 DVR 的功能。我有一个 HTTP Live Stream,我已成功在 iPad 上播放它。我希望用户能够按下“录制”按钮,并从该点开始录制当前正在播放的视频。该视频文件可从应用程序或相机胶卷访问。目前,我正在使用 MPMoviePlayerController 对象来播放视频流。我在Apple的文档中没有看到任何从对象访问数据的方法。以下是我对解决此问题的一些想法。

1) 以某种方式从 MPMoviePlayerController 访问视频数据,并将其写入文件。或者使用另一种类型的播放器对象,它允许我播放视频并访问当前播放的数据。

2) 实现某种屏幕捕获记录,获取 iPad 屏幕的视频捕获。这将使我能够以“屏幕截图”的方式录制视频。

3) 找到 MPMoviePlayerController 存储的 HTTP Live Streaming 视频片段。据推测,它们需要存储在 iPad 上的某个位置才能播放。有没有办法访问这些文件?

4) 在流式传输文件时通过 http 手动下载流式视频片段。这似乎并不理想,因为必须下载两次流。

5)这可行。定期将视频片段下载到 iPhone。在 iPhone 上设置本地 http 服务器并将视频服务器到 MPMoviePlayerController。这样,视频片段就可以被标记为录制并组装成视频。

6) 我确实可以控制流媒体服务器。我可以编写一些服务器端代码来在服务器端录制视频,然后将视频发送到 iPad。我宁愿不这样做。

有人做过这些事情吗?理想情况下,iPhone 能够以某种方式访问​​视频数据并轻松录制。如果不需要,我宁愿不选择选项 4、5 或 6(上面)。

提前致谢。

最佳答案

由于可用空间有限以及电池生命周期、处理能力、用户停止 DVR 后的清理程序等其他因素,不鼓励在设备上使用 DVR。

如果你想在iOS设备(或其他使用HLS的设备)上实现DVR播放,我建议你保留视频服务器端。直播流已经在服务器端捕获并分段,您所要做的就是将分段保留更长一点,而不是删除它们。通过使用 EXT-X-PLAYLIST-TYPEEXT-X-MEDIA-SEQUENCE标签,您可以向玩家建议他正在打开一个有 DVR(早期)视频可用的直播。

或者,您可以使用开箱即用的服务器,例如 Wowza。 Here's an article on how to achieve this with Wowza

关于iphone - 在观看时将 HTTP 直播视频录制到文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6671705/

相关文章:

iphone - View 禁用用户交互但 subview 启用(UIButtons)

css - iPad 肖像 CSS 样式不起作用

iphone - NSMutableArray 和 NSPredicate 过滤

iphone - 我怎样才能使 deleteRowsAtIndexPaths : work with GenericTableViewController?

ios - 灯泡形状的 UIView

iphone - 通过 nib 添加到 UICollectionViewCell contentView

iOS POST 到 Google 表单(电子表格)

iphone - 防止其他程序员调用 -init 的最佳方法

iphone - 如何验证允许 .仅在文本字段中出现一次

iphone - Javascript 中的 WebKit CSS 转换和动画