Как создать миниатюру видео с помощью FFMpegCore?C#

Место общения программистов C#
Ответить
Anonymous
 Как создать миниатюру видео с помощью FFMpegCore?

Сообщение Anonymous »

У меня есть веб -приложение, где мне нужно создавать миниатюры или изображения, снимая первый кадр видео. Уже есть много примеров этого, но я не могу найти ничего, что решает мою проблему. Я использую это, но я нахожу это сложным, потому что мне нужно прочитать видео и написать результат, используя потоки напрямую. Это мой код: < /p>

Код: Выделить всё

var videoStream = file.OpenReadStream();
var outputStream = new MemoryStream();
FFMpegArguments
.FromPipeInput(new StreamPipeSource(videoStream))
.OutputToPipe(new StreamPipeSink(outputStream), options => options
.WithFrameOutputCount(1)
.ForceFormat("jpeg")
)
.ProcessSynchronously();
, что приводит меня к ошибке: труба сломана. Согласно здесь, ошибка связана с тем, что выходной формат не может быть известен. Только добавив опцию .forceformat ("Opus") , исчезает ошибка, но я понимаю, что формат Opus предназначен для аудио. Может ли любой эксперт помочь мне найти решение или рассказать мне, как мне это сделать? Спасибо большое заранее. Полем Я изменил свой код, и теперь это: < /p>

Код: Выделить всё

var videoStream = file.OpenReadStream();
var outputStream = new MemoryStream();
FFMpegArguments
.FromPipeInput(new StreamPipeSource(videoStream))
.OutputToPipe(new StreamPipeSink(outputStream), opt => opt
.Seek(TimeSpan.Zero)
.Resize(650, 390)
.WithFrameOutputCount(1)
.WithVideoCodec(VideoCodec.Png)
.ForceFormat("image2pipe")
)
.ProcessSynchronously();
Аргументы, указанные в ответе ffmpeg -i --ss 00: 00: 3 -s 650x390 -vframes 1 -c: v png -f image2pipe - очень похожи к тем, которые сгенерированы моим кодом -i "\\. \ pipe \ ffmpegcore_9dd64" -ss 00: 00: 00.000 -s 650x390 -vframes 1 -c: v png -f Image2pipe "\\. \ fupmpegcore_997f4" -y < /code>, и даже в этом случае ошибки сохраняются.
< /p>

Подробнее здесь: https://stackoverflow.com/questions/776 ... ffmpegcore
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»