在我的工作中,我尝试使用iOS VideoToolBox对捕获的视频进行编码。有效 。但是当我尝试设置fps时,它无法工作,视频编码流的fps始终为30。
在我的代码中,我使用此代码尝试设置fps(但它不起作用)
status =VTSessionSetProperty(EncodingSession, kVTCompressionPropertyKey_ProfileLevel,
kVTProfileLevel_H264_Main_AutoLevel);
status =VTSessionSetProperty(EncodingSession, kVTCompressionPropertyKey_AverageBitRate,(__bridge CFTypeRef _Nonnull)(@500000));
status =VTSessionSetProperty(EncodingSession, kVTCompressionPropertyKey_MaxKeyFrameInterval, (__bridge CFTypeRef _Nonnull)(@15));
status =VTSessionSetProperty(EncodingSession, kVTCompressionPropertyKey_H264EntropyMode, kVTH264EntropyMode_CABAC);
status = VTSessionSetProperty(EncodingSession, kVTCompressionPropertyKey_RealTime, kCFBooleanTrue);
答案 0 :(得分:0)
你可以设置捕获(AVCaptureSession)帧率,所以控制每秒的视频数据回调次数;
(void) captureOutput:(AVCaptureOutput *) captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection
你知道吗,如何设置编码器比特率?