#c#
#c#
Вопрос:
Как я могу создать миниатюру из двоичного файла видео (байты [])?
У меня нет доступа к каталогам, поэтому я не могу сохранить файл, и пример, который я вижу (используя ffmpeg) для создания эскиза, взят из пути.
Есть ли другой способ сделать это?
Комментарии:
1. Если у вас нет разрешения на запись в файл. Другой вариант — сохранить byte[] в db. Подходит ли это для вашей ситуации?
2. да, у меня есть файл в базе данных. но пример, который я нашел для создания миниатюры, всегда берется из пути
Ответ №1:
Предполагая, что sampleBytes — это наш байт[] :
using (MemoryStream ms = new MemoryStream(sampleBytes))
{
Bitmap thumb = new Bitmap(100, 100);
using (Image bmp = Image.FromStream(ms))
{
using (Graphics g = Graphics.FromImage(thumb))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
g.DrawImage(bmp, 0, 0, 100, 100);
}
}
// this can show the result
picBoxOut.Image = thumb;
}
Комментарии:
1. возможно ли получить миниатюру для вторых 5, например?
2. Кажется, что для получения миниатюр видео в определенное время требуется третья сторона, которая может предоставить вам все кадры видео, такие как ffmpeg.
3. но с помощью ffmpeg мы можем получить ее из байта[]?
4. ffmpeg не поддерживает ввод в виде байта[] .
5. какова альтернатива для получения миниатюры за определенную секунду? Или это невозможно?