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

本文关键字:图像 字节数 获取 视频 | 更新日期: 2023-09-27 18:29:12

我正在尝试从c#中的Video中获取以字节为单位的图像。我正在上传视频文件,我们需要从该视频文件中获取字节格式的图像,这样我就可以为每个图像分离字节,并将该字节与其他图像匹配。

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

现在我正在做这件事,但得到了所有视频的字节,我不确定如何才能得到视频中图像的字节。

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();
}

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

视频不包含传统意义上的图像,所以简单的答案是你不能。如果你想做的是从视频中生成缩略图,请参阅这里的示例解决方案:

缩略图视频C#

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

首先你应该知道的是你想要得到什么样的形象?是否要获取所有图像/帧?这并不像你看起来那么简单。

对于不同的格式,您可能需要使用不同的技术来获得特定的图像。先读。

各种文件格式都需要不同的技术来实现您想要的内容。

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

所有这些只针对一种文件类型。然后,您必须找出要使用的所有其他文件类型。

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