问题描述
我设置了一个 MFSinkWriter
,它在输入中采用 RGB MFMediaType
并生成 H.264 MFMediaType
作为输出。
我需要为每个编码的 MFSample
添加 SEI 信息。使用 Windows Media Foundation,应该可以使用输出 MF_MT_FORWARD_CUSTOM_SEI
的属性 MFMediaType
。
编码时,在将 MFSample
传递给 MFSinkWriter
之前,我添加了 MFSampleExtension_Encryption_SEIData
和一个包含我需要的自定义信息的 blob。但是,在检查生成的文件时,SEI 字段为空。
没有关于如何使用 MF_MT_FORWARD_CUSTOM_SEI
或 MFSampleExtension_Encryption_SEIData
的文档/示例。有什么建议吗?
解决方法
... 使用 Windows Media Foundation 应该可以这样做 使用属性 MF_MT_FORWARD_CUSTOM_SEI
...
... 没有关于如何使用 MF_MT_FORWARD_CUSTOM_SEI
或 MFSampleExtension_Encryption_SEIData 的文档/示例
不,这是不可能的。特别是因为没有记录的行为,也没有记录的行为。您可以通过不使用 Sink Writer 来实现预期效果:如果您自己管理编码器并且您拥有原始 H.264 输出,那么您可以更新 NAL 单元并使用您需要的其他 SEI NAL 单元对其进行修改。