Как преобразовать загруженное видео и получить снимок экрана из этого файла?

Я создаю cms, и я хочу, чтобы пользователи смогли загрузить видео, но я не знаком с загрузкой видео и преобразованием. Существует ли пример, или кто-либо кодировал решение как это? Я слышал о ffmpeg, но я не знаю, как интегрировать его с asp.net.

Как простое решение я могу заставить свои клиенты загрузить flv файлы, но затем я должен был бы все еще получить снимок экрана от этого fvl.

Спасибо

5
задан HasanG 21 April 2010 в 10:55
поделиться

2 ответа

Ответ автора вопрос:

Требуется ли установка ffmpeg на стороне сервера или достаточно exe?

ffmpeg.exe будет достаточно, установка не требуется.

Приведенный ниже код получает снимок экрана на captureTime видео, заданном переменной videoFilename , и сохраняет его по пути imageFilename .

Process ffmpeg = new Process();
ffmpeg.EnableRaisingEvents = true;
ffmpeg.StartInfo = new ProcessStartInfo
{
    FileName = this.ffmpegPath,
    Arguments = string.Format(
        "-i \"{0}\" -an -y -s 320x240 -ss {1} -vframes 1 -f image2 \"{2}\"",
        this.videoFilename,
        DateTime.MinValue.Add(this.captureTime).ToString("HH:mm:ss:ff", CultureInfo.InvariantCulture),
        this.imageFilename
    ),
    WorkingDirectory = this.workingDirectory,
    UseShellExecute = false,
    RedirectStandardError = true,
    RedirectStandardOutput = true,
    WindowStyle = ProcessWindowStyle.Hidden
};

ffmpeg.Start();
ffmpeg.WaitForExit(this.timeout);
6
ответ дан 14 December 2019 в 04:33
поделиться

Я использовал ffmpeg, но я нашел, что проще просто использовать предварительно скомпилированную .exe версию. Поэтому в бэкенде я просто запускал ffmpeg.exe с необходимыми аргументами командной строки для выполнения преобразования, позволял ему работать, и когда он заканчивал, готовый файл был готов к работе.

2
ответ дан 14 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: