Создайте таблицу из двоичного файла видео

#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. какова альтернатива для получения миниатюры за определенную секунду? Или это невозможно?