Эскизы для видео в нескольких форматах?


У меня есть несколько обучающих видеороликов в интрасети, снятых за эти годы в нескольких форматах (AVI, WMV, MOV, RealPlayer), и я хотел бы предоставить что-то вроде функции предварительного просмотра - возможно, анимированный GIF-миниатюру с несколькими представительными экранами или, возможно, лист миниатюр, который я могу показывать пользователю с изображением каждые несколько секунд видео. Есть ли простой инструмент для создания изображений, который я могу использовать, чтобы создавать такие вещи?

Агностик платформы был бы замечательным, но это единственный выход (на данный момент, ха-ха), так что Windows, Mac или Linux были бы в порядке. Спасибо.

Author: artlung, 2010-07-28

4 answers

Я просто подумал, что это должно быть легко сделано на python, и поиск в Google по запросу "миниатюра видео на python" приводит к этому сайту:

Http://notbrainsurgery.livejournal.com/29773.html

Вы можете попробовать исходный код, указанный там...

 3
Author: mbrochh, 2010-07-28 21:42:16

Не могу пропустить святой грааль видеосистем, FFMPEG. Он делает практически все, что вам может понадобиться в онлайн-видео - снимает в нескольких форматах и конвертирует в другой, миниатюры и т. Д. Сильно модифицированный промышленный вариант FFMPEG - это то, что позволяет YouTube работать так, как он работает.

Вот краткое описание командной строки для создания эскизов: http://blog.prashanthellina.com/2008/03/29/creating-video-thumbnails-using-ffmpeg/

Есть много других вариантов для все остальные его особенности.

 2
Author: bpeterson76, 2010-07-30 21:09:23

Я уже ответил, как это сделать при переполнении стека здесь с использованием ffmpeg и PHP.

Извините за ориентированный на код ответ, но сделать это в пакетном процессе проще всего, написав какой-нибудь реальный код.

/**
* ExtractThumb, extracts a thumbnail from a video
*
* This function loads a video and extracts an image from a frame 4 
* seconds into the clip
* @param $in string the input path to the video being processed
* @param $out string the path where the output image is saved
*/
function ExtractThumb($in, $out)
{
    $thumb_stdout;
    $errors;
    $retval = 0;

    // Delete the file if it already exists
    if (file_exists($out)) { unlink($out); }

    // Use ffmpeg to generate a thumbnail from the movie
    $cmd = "ffmpeg -itsoffset -4 -i $in -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 $out 2>&1";
    exec($cmd, $thumb_stdout, $retval);

    // Queue up the error for processing
    if ($retval != 0) { $errors[] = "FFMPEG thumbnail generation failed"; }

    if (!empty($thumb_stdout))
    {
        foreach ($thumb_stdout as $line)
        {
            echo $line . "\n";
        }
    }

    if (!empty($errors))
    {
        foreach ($errors as $error)
        {
            echo $error . "\n";
        }
    }
}

Не становится намного более кроссплатформенным, чем это.

Вот разбивка флагов:

  • - флаг itsoffset - это время в видео, когда сделан снимок
  • - vcodec - это тип вывода (измените на png для png, и т.д....)
  • - vframes имеет значение один, потому что вы извлекаете только один кадр (т.Е. изображение)
  • вам также может потребоваться добавить -деинтерлейс

Вот и все. Не намного легче, чем это. Если вы делаете несколько скриншотов для фильма, просто измените флаг -itsoffset. Кроме этого, это полный пакет, если вы не решили добавить лучшую информацию об ошибках или подавить выходные данные.

 1
Author: Evan Plaice, 2017-05-23 12:37:06

Я думаю, что Flowplayer (Это очень хорошо документировано и со многими примерами) или что-то подобное - лучшее решение в виде фрагмента, который вам, возможно, придется редактировать или поддерживать.

Как только Flowplayer настроен правильно, он может подавать большие пальцы без загрузки полного видео. Это немного сложно настроить, но как только это заработает, у вас будет надежное мультиплатформенное решение. (И щелчком большого пальца воспроизводится видео;-))

Если вы выбираете flowplayer, вы также должны взгляните на video4all (использует html5 с flowplayer в качестве запасного варианта) и flowplayer-плагины.

 0
Author: fwaechter, 2010-08-10 18:05:53