我使用QTKit的MyRecorder样本,它记录了一切,但我有一个问题,我的相机是PAL和H264编码的分辨率是不同的PAL和NTSC。PAL为724x568,NTSC为724x480。
当我为H264High选择QT配置文件时,默认情况下它只需要724x480NTSC分辨率的输出文件,但我的相机是724x568,所以最终输出在移动对象之间有很多不需要的水平线。
我知道问题只出在分辨率设置上,但QTKit的编码非常紧密,没有任何设置可以更改任何编码器参数。
然而,苹果建议只使用QTKit,而不是早期的序列抓取方法,但我们的大客户群将只有PAL相机,我们需要一些解决方案来启用PAL分辨率。有谁能给我们带路吗?
发布于 2009-04-23 18:00:20
到目前为止,用QTKit做这件事看起来并不是一个简单的方法。
仅使用QTKit时,您有几个选择:
QTCompressionOptionsLosslessAnimationVideo将数据从你的相机中简单地串流到一个Quicktime电影中,然后使用QTMovie类以你想要的分辨率将文件转换成H.264。这个选项占用了大量的磁盘空间,但相当简单,QTCaptureMovieFileOutput,当你调用outputVideoFrame:withSampleBuffer:fromConnection:时,在线程安全队列中缓冲视频帧。然后在第二个线程中,从该队列中提取帧,并将该帧添加到您为使用PAL分辨率进行H.264编码而设置的QTMovie中。方法2将为您节省磁盘空间,但需要做更多的工作,并且您必须担心线程问题,但在QTCaptureMovieFileOutput类中有更多可用选项之前,这是您能做的最好的选择。
https://stackoverflow.com/questions/781087
复制相似问题