【问题标题】:DirectShow Mpeg4 filters in a Web ApplicationWeb 应用程序中的 DirectShow Mpeg4 过滤器
【发布时间】:2014-01-24 12:48:26
【问题描述】:

我有一个 Web 应用程序需要查看之前上传的 mp4 文件的持续时间。使用 DirectShow NET 库,代码块执行时不会出错,但由于持续时间始终为零,因此它显然没有真正正确地访问文件。

IGraphBuilder mediaG = (IGraphBuilder) new FilterGraph();
mediaG.RenderFile(fullpath, null);
IMediaPosition mediaPos = mediaG as IMediaPosition;
mediaPos.get_Duration(out minTime);

//convert duration to millisec
time = Convert.ToInt32(Math.Floor(minTime)) * 1000;

一些搜索显示 DirectShow 不处理 mp4 文件并且需要一些过滤器,例如 http://www.gdcl.co.uk/mpeg4 中的过滤器。似乎没有关于这些过滤器究竟应该做什么的文档。尝试将 dll 作为参考包含到 Web 应用程序项目中失败,说明它不是有效的程序集。我是否需要以其他方式包含它们,或者是否需要以某种方式将它们安装在 Web 服务器上?

【问题讨论】:

标签: c# directshow.net mpeg-4


【解决方案1】:

对于其他类似困惑的人,额外的 MP4 过滤器必须在执行代码的 IIS 机器上注册,即 webhost。

【讨论】:

    猜你喜欢
    • 2013-08-08
    • 2012-05-22
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    相关资源
    最近更新 更多