1

我正在尝试从 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();
}
4

3 回答 3

1

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

缩略图视频 C#

于 2013-08-28T07:20:32.347 回答
0

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

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

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

于 2013-08-28T07:07:27.090 回答
0

各种文件格式将需要不同的技术来实现您正在寻找的内容。

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

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

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

于 2013-08-28T07:23:37.253 回答