我正在使用AVAssetExport导出资源轨道的组合。但是问题在于我无法将帧速率模式设置为恒定值,导出的视频元数据如下所示:
视频
ID:1
格式:AVC
格式/信息:高级视频编解码器
格式配置,CABAC: 是
格式配置,ReFrames: 2 frames
编解码器 ID:avc1
编解码器 ID/信息:高级视频编码
持续时间:3秒502毫秒
比特率:684 Kbps
宽度:480像素
高度:480像素
显示宽高比:1.000
帧速率模式:可变
帧速率:30.000 fps
最小帧速率:28.571 fps
最大帧速率:30.000 fps
色彩空间:YUV
色度抽样:4:2:0
位深度:8 bits
扫描类型:逐行扫描
位数/(像素*帧):0.099
流大小:292 KiB (90%)
标题:核心媒体视频
编码日期:UTC 2013-11-22 00:27:28
标记日期:UTC 2013-11-22 00:27:32
颜色基准:BT.709
传输特征:BT.709
矩阵系数:BT.601
导出的代码如下所示:
导出的代码如下所示:
AVAssetExportSession *session = [[AVAssetExportSession alloc] initWithAsset:mixComposition presetName:AVAssetExportPresetPassthrough];
session.outputURL = [NSURL fileURLWithPath:finalVideoPath];
session.outputFileType = AVFileTypeMPEG4;
[session exportAsynchronouslyWithCompletionHandler:^{
switch ([session status]) {
case AVAssetExportSessionStatusFailed:
LogError(@"Export failed: %@", [session error]);
break;
case AVAssetExportSessionStatusCancelled:
Log(@"Export canceled");
break;
case AVAssetExportSessionStatusCompleted:
Log(@"Export successfully");
break;
default:
Log(@"Export session status unknown");
break;
}
}];