我使用Microsoft.Expression.Encoder
命名空间通过以下方法获取VideoFile Upload的缩略图:
MediaItem video = new MediaItem(file);
int Duration = video.FileDuration.Seconds;
using (var bitmap = video.MainMediaFile.GetThumbnail
(new TimeSpan(0, 0, (int)Duration / 2),
new System.Drawing.Size(640, 480)
))
{
bitmap.Save(Path.Combine(_fileDirectory, UniqueId + "_thumb.jpg"));
}
构造函数new MediaItem(文件)需要在机器上安装原生软件,例如用于.MOV文件的QuickTime Player,我想知道如果每分钟有500个视频被上传,这个场景有多可靠,因为它使用QuicktimePlayer来获取文件信息,并且每个线程是否能够同时使用QuickTimePlayer?
答案 0 :(得分:1)
您很可能需要自己测试一下。尝试在单个线程和多个线程中运行它。使用线程池可能是明智的,因为线程可以重用。
原因是所有硬件都不同,相同的应用程序可能会有不同的行为,例如单个视频卡可能不允许您同时运行两个负载,但是如果您有多个视频卡,则很可能有可能。
PS我不知道视频处理(或Microsoft.Expression.Encoder命名空间)。