
最近在研究视频录制,网上找的demo都设置不了帧数,这样就不能通过设置低帧数的方法来达到减小文件大小的目的,网上demo都是这样设置帧数的,以设置最大帧数10为例
//初始化视频输入
NSDictionarycompressionSettings = [NSDictionarydictionaryWithObjectsAndKeys:
[NSNumbernumberWithInteger:3001000],AVVideoAverageBitRateKey,
[NSNumbernumberWithInteger:10],AVVideoExpectedSourceFrameRateKey,
[NSNumbernumberWithInteger:10],AVVideoMaxKeyFrameIntervalKey,
AVVideoProfileLevelH264HighAutoLevel,AVVideoProfileLevelKey,
nil,nil];
然而你会发现录制出来的还是30帧
正确做法是通过CMTimeperferTimescale来设置,而且得在 添加视频输出和添加音频输出之后设置才有效
//41设置采集帧率
CMTimeperferTimescale =CMTimeMake(1,15);
BOOLisSupport =NO;
//获取视频输入设备(摄像头)
AVCaptureDevicedevice=[selfbackCamera];//取得后置摄像头
for(AVFrameRateRangesupportFrameindeviceactiveFormatvideoSupportedFrameRateRanges) {
int32_tminv =CMTimeCompare(perferTimescale, supportFrameminFrameDuration);
int32_tmaxv =CMTimeCompare(perferTimescale, supportFramemaxFrameDuration);
if(maxv <=0&&minv >=0) {
isSupport =YES;
break;
}
}
if(isSupport) {
[devicelockForConfiguration:nil];
deviceactiveVideoMaxFrameDuration= perferTimescale;
deviceactiveVideoMinFrameDuration= perferTimescale;
[deviceunlockForConfiguration];
}
以上就是关于ios自定义视频录制如何设置帧数全部的内容,包括:ios自定义视频录制如何设置帧数、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)