Как лучше использовать ffmpeg с ASP.NET Core в Linux?C#

Место общения программистов C#
Anonymous
Как лучше использовать ffmpeg с ASP.NET Core в Linux?

Сообщение Anonymous »

У меня есть проект (ASP.NET Core, в Linux), где есть несколько задач, связанных с конвертированием видео и извлечением кадров из видеофайла.

Я подумал о двух возможных вариантах:
  • с использованием консольной утилиты ffmpeg
  • с использованием P/Invoke с библиотекой libavcodec и других, которые ffmpeg использует
Второй вариант намного сложнее и может оказаться очень непрактичным, поскольку напоминает мне о разработке новой оболочки/библиотеки вместо использования готовых продуктов.

Я погуглил, но хорошо выполненных проектов для C#/ASP.NET Core на платформе Linux нет. Есть некоторые хорошие варианты для C++ и Python, но НЕ для C# в Linux/.NET Core.

Я решил рассмотреть первый вариант, который, как мне кажется, будет более простым и практичным. Но есть и слабые места, которые могут создать множество проблем. Мы понимаем (я полагаю), что при первом варианте конечный разработчик должен использовать ветвление процесса. Таким образом, могут возникнуть проблемы с простоем процесса и другие возможные проблемы...

Я спрашиваю о вашей практике, поскольку это мой первый опыт конвертации/сэмплирования видео на платформе Linux с использованием C#. Я использовал библиотеку Expression Encoder .NET на платформе Windows, но это другая история и сейчас в ней нет смысла.

Может быть, есть и другие варианты, которые я сейчас не вижу. Мне не нравится первый вариант из-за возможных необработанных исключений, поскольку ffmpeg с такой ролью становится черным ящиком для серверной части ASP.NET Core.

Подробнее здесь: https://stackoverflow.com/questions/470 ... e-on-linux

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