以编程方式获取视频时长

时间:2010-07-15 21:10:25

标签: c# video directshow

我需要获得mp4视频的视频时长(视频格式AVC)

我正在使用DirectShowLib 2.1

我下载了几个编解码器,但我仍然收到代码-2147220891(错误代码,我不知道这意味着什么)正在做

 graphBuilder.RenderFile(filePath, null);

知道如何获取此类视频的持续时间吗?

2 个答案:

答案 0 :(得分:6)

-2147220891是十六进制的0x80040265。搜索该错误代码显示this thread

  

0x80040265并非真正“未知”。严格来说,它是VFW_E_UNSUPPORTED_STREAM,这意味着您的AVI文件至少包含一个您没有正确编解码器的流(例如视频)。

所以看起来你还没找到合适的编解码器。

文件是否在Windows Media Player或VLC(例如)中播放?

答案 1 :(得分:1)

如果您只需要文件的持续时间,可以尝试使用IMediaDet。我在这里有一个使用示例:http://wpfmediakit.codeplex.com/SourceControl/changeset/view/41623#245585