CPP MediaFoundation - mp4 Filesize减少

时间:2016-08-04 06:17:10

标签: c++ video mp4 h.264 ms-media-foundation

我正在使用Media Foundation API逐帧读取一个mp4文件并操纵一些像素并再次保存为mp4,但是当保存mp4文件的文件大小减少时(如果我使用3000kb视频结果将是2800)

使用输入类型和输出类型

    MFT_REGISTER_TYPE_INFO inputType  = { MFMediaType_Video, MFVideoFormat_RGB32 };
    MFT_REGISTER_TYPE_INFO outputType = { MFMediaType_Video, MFVideoFormat_H264  };

    if( false == g_bMFTFactoryRegistered )
    {
        hResult = MFTRegisterLocal( &g_MFTFactory, MFT_CATEGORY_VIDEO_ENCODER, L"MFTFactory", 0, 1, &inputType  , 1, &outputType );

如何使源和目标大小相同? 有人请帮帮我

1 个答案:

答案 0 :(得分:0)

您重新压缩视频,这会改变比特流,因此您无法使其完全相同。您的输出取决于视频编码器设置,您可以灵活地定义输出配置文件,级别,比特率等。您尝试从源视频复制该输出可能会使您接近输入和输出大小,但无论如何由于重新压缩过程,大小将不同,原始图像质量(细节)也可能会在某种程度上丢失。