我已经用 QTKit 玩了几天,我成功地能够使用 a 等将视频数据从相机记录到文件QTCaptureSession
中QTCaptureDeviceInput
。
但是,我想要做的是将数据发送到另一个位置,通过网络或同一应用程序中的不同对象(没关系),然后像流一样播放视频数据。
我有一个QTCaptureMovieFileOutput
并且我nil
作为文件 URL 传递,因此它实际上不会将数据记录到文件中(我只对QTSampleBuffer
通过委托回调可用的数据中包含的数据感兴趣)。
我QTCompressionOptions
在输出上设置了一个对象,指定 H264 视频和高质量 AAC 音频压缩。
每次收到回调时,我都会将样本缓冲区中的数据附加到NSMutableData
我作为实例变量的对象中。
我遇到的问题是 QTKit 框架中没有“播放器”对象似乎能够播放视频数据的“流”。我在这个假设中正确吗?
我尝试使用我的数据实例变量创建一个QTMovie
对象(在 a 中播放QTMovieView
),但我收到数据不是电影的错误。
我是否从错误的角度处理这个问题?
以前我使用 a它为每个视频帧QTCapturePreviewOutput
传递s 。CVImageBufferRef
我正在将这些框架转换NSImages
为在视图上显示。
虽然这给人一种流媒体的印象,但它很慢而且处理器很饿。
其他人是如何克服流媒体视频问题的?