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