媒体基础:在没有容器的情况下解码和显示 H264 帧
Posted
技术标签:
【中文标题】媒体基础:在没有容器的情况下解码和显示 H264 帧【英文标题】:Media Foundation: Decoding and displaying H264 frames without a container 【发布时间】:2011-12-07 14:42:29 【问题描述】:场景是这样的:我的 Windows 客户端应用程序以自定义方式(专有协议)从网络源获取 H264 编码帧,无需容器。帧的格式是已知的。我需要解码帧并显示视频。要求在高清流媒体期间播放完美无缺,但在其他场景中可以选择低延迟。
目前,我使用 ffmpeg 的 libavcodec 来解码帧,然后使用 StretchBlt 手动将它们显示在屏幕上。我们正在考虑迁移到 Media Foundation,但我不清楚 - 是否有可能拥有不使用容器的源?如果是这样,我需要创建一个自定义的吗?
也欢迎使用 Media Foundation 的替代方案。我目前使用的方法的主要问题是性能不够好,尤其是对于高清视频。
【问题讨论】:
【参考方案1】:我没有看到你提到你特别需要或Media Foundation
API,所以我建议DirectShow
,你可以这样做:
【讨论】:
以上是关于媒体基础:在没有容器的情况下解码和显示 H264 帧的主要内容,如果未能解决你的问题,请参考以下文章
“无法解码媒体资源 FILEPATH/FILENAME.mp4。”尝试在 Firefox 35 上播放 h264 编码文件时