Как использовать «FFmpeg» с C # на Azure? - PullRequest
0 голосов
/ 24 апреля 2018

Я хотел бы уменьшить размер mp4-видео из веб-задания в Azure. У меня есть триггер очереди в моей веб-работе, каждый раз, когда добавляется новое видео, веб-работа VideoCompressor будет уменьшать размер видеофайла mp4 (уменьшать до 200 пикселей по ширине или высоте в зависимости от ориентации + кадрирование только до 2 минут).

Из того, что я прочитал в интернете, ffmpeg - это ответ. Существует пакет nuget: FFmpeg.stable.GZCR. Я хотел бы использовать пакет слепков, чтобы не заходить на сайт ffmpeg и каждый раз проверять, есть ли новая версия.

Но я не нашел никакой документации по этому поводу:

Я нашел некоторую информацию о FFmpeg, но она предназначена для WinRT, поэтому в моем случае это бесполезно:

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

У вас есть идея или предложение?

1 Ответ

0 голосов
/ 25 апреля 2018

FFMPEG имеет очень сложный API, и вам лучше вызывать инструмент непосредственно из программы на C #.При изучении того, как что-то сделать в ffmpeg, все будут обсуждать инструмент с точки зрения прямого доступа к .exe, так что у вас будет меньше путаницы, чем при попытке использовать API-оболочку.

Вы можете сделать это, используя System.Diagnostics.ProcessНапример,

var process = new Process
{
    // Path to your ffmpeg binary
    FileName = "ffmpeg.exe",
    // Example ffmpeg command to get the sound from an mp4 video
    Arguments = "-i input.mp4 -vn -ab 320 output.mp3",
    UseShellExecute = false
}

process.Start();

Если вы хотите автоматизировать обновление ffmpeg, вы можете написать его для получения последней версии из репозитория GitHub и скомпилировать ffmpeg самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...