2009-09-19 50 views
2

是否有一种通用的方式来获取视频和其他元数据的高度和宽度(如拍摄视频时的时间戳等)?我想获得的常见的视频格式,如.avi.mpg.mpeg.mov,尺寸信息.asf确定视频帧的大小

+1

你提的问题是非常不清楚。什么视频,在什么情况下? – Joren 2009-09-19 16:14:35

+0

您应该将更新作为另一个问题发布,因为它与原始帖子有所不同。 – Ben 2009-09-25 00:06:04

回答

2

我不知道这是否是做的最好的方式,但使用的DirectX,您可以使用AudioVideoPlayback namespace中的Video class获取视频的默认大小。创建Video对象后,可以获取DefaultSize属性,从中可以获取高度和宽度。

一个简单的例子:

Video video = new Video(videoPath, false); 
    Size size = video.DefaultSize; 

    Console.WriteLine("Width: " + size.Width); 
    Console.WriteLine("Height: " + size.Height); 
+0

谢谢,会试一试 它也适用于高清视频吗? .m2ts/.mts等? – Kumar 2009-09-21 23:12:16

+0

我发现这也很有用。值得注意的是,您需要下载DirectX SDK或DirectX运行时。完成之后,我必须引用c:\ windows \ assembly \ GAC下的Microsoft.DirectX.AudioVideoPlayback.dll文件。 – Scott 2012-10-16 19:11:23

+0

它似乎我必须先下载DirectX .. – Kasparov92 2016-11-01 17:16:27