【问题标题】:Playing a real time video stream from iPhone camera on a 20 second delay延迟 20 秒从 iPhone 摄像头播放实时视频流
【发布时间】:2012-01-19 22:50:15
【问题描述】:

我正在尝试查看是否可以从 iPhone 的摄像头录制视频并将其写入文件。然后我希望视频在设定的时间后开始在屏幕上播放。这一切都需要不断发生。例如,我希望屏幕上的视频始终落后于摄像机录制的内容 20 秒。

一些背景: 我有一个朋友是教练,他希望他的球员能够看到他们的最后一场比赛。这可以通过从 iPad 到电视的馈送来实现,该馈送总是比录制内容晚 20 秒。这需要不断地运行,直到练习结束。 (我会使用电缆将 iPad 连接到电视,或者将 AirPlay 连接到 Apple TV)。视频永远不需要保存,播放后应该丢弃。

这甚至可以通过 AVFoundation 提供的 API 实现吗? iPhone 会允许您同时写入文件和读取文件来完成此操作吗?还有其他更好的方法来实现这一点吗?

感谢您的宝贵时间。

【问题讨论】:

    标签: iphone ios camera video-streaming avfoundation


    【解决方案1】:

    与其写入文件,不如将帧保存在一个大到足以容纳 X 秒视频的循环缓冲区中?

    我开始这样做的方法是查看AVCaptureVideoDataOutput 中提供的内容及其委托方法(您可以从中获取帧数据)。

    【讨论】:

    • 我只是担心内存管理。你认为我能在 RAM 中保存这么多帧吗?另外,您如何将缓冲区中的这些帧作为普通视频播放?感谢您的快速响应!
    • 你可以做一些事情来帮助减少你需要缓冲的内存量,比如减少帧的大小或分辨率。至于从缓冲区播放这些帧,您可以将最后 X 秒从该循环缓冲区写入文件(然后您可以通过 AVAsset 的assetWithURL: 打开该文件),或者您可以直接从缓冲区创建一些东西通过AVAssetReader。我不是 100% 确定,我从来没有完全按照你自己的意愿去做。 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多