给定一个 ASX 视频源(例如这里- 可能需要一些时间来加载)。如何捕获流以便我可以以编程方式访问帧?
问问题
2521 次
1 回答
2
您可以使用以下架构(假设您需要在 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 表示的流。请参阅通过网络读取 ASF 数据。
于 2011-04-01T17:18:28.177 回答