【发布时间】:2014-09-25 12:22:33
【问题描述】:
我正在学习使用本教程http://blogs.msdn.com/b/eternalcoding/archive/2013/03/06/developing-a-winrt-component-to-create-a-video-file-using-media-foundation.aspx使用 Windows Media Foundation 创建具有原始固定彩色图像的视频文件
我能够创建上面链接中显示的 RGB 编码的 WMV 视频。但我需要从图像中创建 NV12 格式的 YUV 编码 MP4 视频。由于 NV12 为每帧使用 (W x H x 3/2) 字节的内存缓冲区,我为图像缓冲区创建了 (W x H x 3/2) 字节的缓冲区(教程中的变量“目标”)并设置了一些固定的值作为图像数据。然后为 MFCopyImage() 设置图像步幅“W”(ARGB 使用 Wx4 作为步幅),并将高度设置为“H”。但这似乎不起作用。 MF_MT_SUBTYPE 设置为 MFVideoFormat_NV12。
创建 NV12 编码的 mp4 视频文件的正确方法是什么?
【问题讨论】:
标签: video windows-runtime c++-cx yuv ms-media-foundation