我知道有许多与此主题相关的问题,但找不到可靠的解决方案,因此无法发布新的问题。
使用iOS SDK
框架使用AVFoundation
捕获视频。
已执行的步骤:
第一步:
第二步:
组装对象(麦克风或摄像机)以表示输入和输出,并使用AVCaptureSession
实例协调它们之间的数据流。
AVCaptureDevice
的实例,例如相机或麦克风。
AVCaptureInput
的具体子类的实例,用于配置输入设备AVCaptureOutput
的具体子类的实例,用于管理输出到电影文件或静止图像。
第三步:
为了向用户显示摄像机正在记录什么,使用了
AVCaptureVideoPreviewLayer
的实例问题
我正在将输出视为视频文件,因此将输出设置为
AVCaptureMovieFileOutput
并将电影数据保存到类似文件中。[aMovieFileOutput startRecordingToOutputFileURL:fileURL recordingDelegate:<#The delegate#>];
但是我想直接在服务器上写入此数据(如果我尝试在 session 运行时显示“0”大小时读取此url文件。)以便服务器可以执行适当的任务,以便可以实现实时流式传输。
所以我有什么办法可以连续读取
AVCaptureMovieFileOutput
。谢谢你
最佳答案
检查此答案中的示例:https://stackoverflow.com/a/5601041/1576274
本质上,您不想使用AVCaptureMovieFileOutput,而是想使用AVCaptureVideoDataOutput的另一个子类,例如AVCaptureVideoDataOutput。然后创建一个委托(delegate)以从您的AVCaptureVideoDataOutput实例接收缓冲区。
请在此处引用这些文档:https://developer.apple.com/library/mac/documentation/AVFoundation/Reference/AVCaptureVideoDataOutputSampleBufferDelegate_Protocol/Reference/Reference.html