AVAssetExport设置恒定的帧速率

5
我正在使用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;
    }
}];
1个回答

0

这意味着被导出的资源帧持续时间并不是恒定的。如果所有的帧持续时间完全相同,那么您将看到“帧速率模式”报告为“恒定”。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接