是否可以在C#中创建视频的缩略图图像(如第一帧)?
小更新:我需要在C#中使用FLV视频的缩略图,因为我正在使用Flex来显示视频。是的,链接到某些库会很有用。
答案 0 :(得分:7)
我可以想到两个选项:
答案 1 :(得分:4)
您可以使用开源库来执行此操作。查看OpenCVDotNet,OpenCV的托管.NET包装器,一个“计算机视觉”库。 Here's a link to a tutorial您可能会觉得有用。
答案 2 :(得分:1)
这有效:
ShellFile thumbNail = ShellFile.FromFilePath(<fullpath and filename>);
Bitmap thumbSmall = thumbNail.Thumbnail.MediumBitmap;
Bitmap thumbLarge = thumbNail.Thumbnail.LargeBitmap;
videoThumb_Small.Images.Add(thumbSmall);
videoThumb_Large.Images.Add(thumbLarge);
其中'videoThumb _ ?????' = ImageList(在哪里控制要再次显示的图像的大小)。搜索不同的MIME格式时速度很慢,但使用相同类型的速度足够快。需要:
using Microsoft.WindowsAPICodePack.Shell;
using Microsoft.WindowsAPICodePack;
您可以从nuget包中获取具有相同名称的Microsoft.WindowsAPICodePack。至于FFMpeg,Vlc.Dotnet或aXMediaPlayer(WMP),我们都测试了它们(Vlc甚至不能正常工作,FFmpeg再次需要5亿行才能获得相同的结果和aXMediaPlayer,呵呵)他们除了那个Windows原生。
示例,如果您正在使用ListView,甚至包括subitems:
for(int mememe = 0; mememe < stuff_counter; mememe++)
{
listview1.Items.Add("strings", mememe).SubItems.Add("strings" + mememe.ToString());
}
然后从ImageList
中读取正确的索引号