从C#中获取视频中的图像字节数

时间:2013-08-28 06:59:18

标签: c# video byte

我正在尝试从c#中的视频中获取字节数。我正在上传视频文件,并且从该视频文件中我们需要以字节格式获取图像,以便我可以为每个图像分隔字节,我可以匹配字节与其他图像。

请给我一些建议我该怎么做。

现在我正在这样做,但得到所有视频的字节,我不知道如何才能获得视频中的图像字节。

byte[] byt = null;
using (Stream s = file.InputStream)
{
     MemoryStream ms = s as MemoryStream;
     if (ms == null) ms = new MemoryStream();
     s.CopyTo(ms);
     byt = ms.ToArray();
}

3 个答案:

答案 0 :(得分:1)

视频不包含传统意义上的图像,因此简短的回答是您不能。如果您要执行的操作是从视频生成缩略图,请参阅此处以获取示例解决方案:

Thumbnail video C#

答案 1 :(得分:0)

  

请给我一些建议我该怎么做。

首先你应该知道的是你想要的图像是什么?你想获得所有图像/帧吗?它并不像你看起来那么简单。

对于不同的格式,您可能必须使用不同的技术来获取特定图像。首先阅读。

答案 2 :(得分:0)

各种文件格式需要不同的技术才能实现您的目标。

例如,MPEG。最广泛使用的视频文件之一。首先,您必须找到解码视频信息的方法。他们使用离散余弦变换方法(DCT)。然后,您必须解压缩视频文件,因为压缩文件仅存储帧的更改而不是帧本身。只有这样,您才能获得所需的数据。即使这样,他们也会使用有损压缩,因此您将收到的最终图像效果不佳。

所有这些仅适用于一种文件类型。然后,您必须弄清楚您希望使用的所有其他文件类型。

简短的回答,尝试找到不同的解决方案。