【发布时间】:2011-04-01 16:14:00
【问题描述】:
给定一个 ASX 视频源(例如here - 加载可能需要一些时间)。如何捕获流以便我可以以编程方式访问帧?
【问题讨论】:
标签: video video-streaming video-capture video-processing asx
给定一个 ASX 视频源(例如here - 加载可能需要一些时间)。如何捕获流以便我可以以编程方式访问帧?
【问题讨论】:
标签: video video-streaming video-capture video-processing asx
您可以使用以下架构(假设代码示例需要在 Windows 上实现任务并使用 MFC,但相同的架构可用于其他条件):
1) 获取 ASX 文件(例如使用 CHttpConnection、CHttpFile 等)。对于您的示例 ASX 文件是:
[Reference]
Ref1=http://149.136.20.28/d3-Exposition-51?MSWMExt=.asf
Ref2=http://149.136.20.28:80/d3-Exposition-51?MSWMExt=.asf
2) 解析 ASX 文件。 ASX 文件通常是 XML 文件。但有时真正的 ASX 文件实际上并不是有效的 XML 文件(您的示例也是如此)。因此,您可能需要处理此类情况。解析 ASX 后,您将获得一组 URL。 URL 通常是相同传输的替代方案。
3) 使用 Windows Media Format SDK (WMF SDK) 读取由 URL 表示的流。见Reading ASF Data Over a Network。
【讨论】: