我正在尝试使用 AVFoundation 在 OS X 上录制视频,但它会等到录制结束才能保存文件。我希望能够让它每 5/10/X 秒保存一次捕获的任何内容。
我需要这样做,因为它保存了视频文件,我可以在视频仍在录制时将片段流式传输到服务器,这样我就可以从服务器上获取“几乎实时”的视频。
感谢您提供的任何帮助!
最佳答案
您可以要求 AVFoundation 在录制时将帧出售给您,然后只需将一定数量的帧传递给服务器即可。但是您要问的问题是非常复杂的,因为带宽或临时网络故障可能会导致延迟/跳过等。
我们在这里讨论过通过使用 AVCaptureSession 和 AVCaptureVideoDataOutput 来提供 MPEG 帧来做这件事: Near Real Time Video Upload from iPhone
如果您希望各个 block 都可以播放,则必须将它们包装在 MOV 或 MPEG 容器中,但这听起来并不像您的场景需要那样。
关于macos - 是否可以在使用 AVFoundation 录制的同时对视频文件 "chunking"/segmenting 进行分割?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11473360/