如何将编码 h264 写入文件以外的字节数组
Posted
技术标签:
【中文标题】如何将编码 h264 写入文件以外的字节数组【英文标题】:How to write encode h264 to a byte array other than a file 【发布时间】:2012-01-06 14:26:12 【问题描述】:我正在使用 MSDN 教程将 RAW RGB32 帧编码为 h264 视频,这第一部分可以正常工作。 (http://msdn.microsoft.com/en-us/library/ff819477%28v=VS.85%29.aspx)
但是,有一个想法是我可以做的:我只想将输出编码的视频写入文件以外的字节数组,我已经阅读了大约 400 个不同的网页和所有媒体基金会文档,但我没有不知道怎么做!!
我尝试了许多不同的方式,使用 MFCreateTempFile 并使用 IMFByteStream 但无事可做!
在我尝试过之后: http://msdn.microsoft.com/en-us/library/windows/desktop/ms698913%28v=VS.85%29.aspx 但是我的缓冲区是空的!
请帮帮我!!我要瞎了眼!!
【问题讨论】:
【参考方案1】:H.264 Video Encoder 是一个 MFT,即它公开了IMFTransform interface 并且不一定需要参与会话。您可以独立实例化它,对其进行设置并通过其ProcessOutput
方法获取原始 H.264 编码数据。
【讨论】:
我正在阅读文档,它似乎像 sinkwriter 一样工作:使用 processInput 和 processOut,我可以像你说的那样读取缓冲输出!现在我需要找到一个快速的 RGB 到 YUV 的实现!感谢您的快速响应!以上是关于如何将编码 h264 写入文件以外的字节数组的主要内容,如果未能解决你的问题,请参考以下文章