使用iOS VTCompression对视频进行编码时如何设置帧速率

时间:2016-05-03 11:57:07

标签: ios video video-encoding video-toolbox

在我的工作中,我尝试使用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);

1 个答案:

答案 0 :(得分:0)

你可以设置捕获(AVCaptureSession)帧率,所以控制每秒的视频数据回调次数;

(void) captureOutput:(AVCaptureOutput *) captureOutput
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer
fromConnection:(AVCaptureConnection *)connection

你知道吗,如何设置编码器比特率?