有没有办法为相机胶卷上的视频传输原始数据字节?我试图从相机胶卷中抓取一个视频,然后在发送之前对其进行加密。目前我正在使用requestExportSessionForVideo。这可行,但它不如我想要的那样高效。导出完成后,您将收到视频所在的NSURL。我想跳过制作副本时必须等待的步骤。根据我的理解,我认为iOS正在对视频进行编码,然后将其提供给您。 4分钟的视频大约需要45秒才能完成。在拥有完整视频之前,我无法启动加密。
我想要做的是按照相机胶卷流式传输视频并加密流。为了尝试这样做,我使用requestAVAssetForVideo。拥有AVAsset后,您可以使用AVAssetReader和AVAssetWriter来处理资产。走下那条路,我可以得到一个CMSampleBufferRef,我刚刚找到了这个链接
How to convert CMSampleBufferRef to NSData
显示如何将其转换为NSData。那个例子是使用音频数据,所以我想我可以用视频数据做类似的事情。然后问题就是音频和视频被分割。我知道你可以使用AVAssetWriter将它们重新组合在一起,但同样,只能使用CMSampleBufferRef,而AVAssetWriter的输出是NSURL,所以我仍然需要等待完整的文件。
简而言之,我正在寻找的是一种从相机胶卷中获取数据的方法,并在将其保存到磁盘之前对其进行加密。有什么想法吗?