Я хотел бы добавить возможности преобразования видео в программу, которую я пишу. Интерфейс командной строки FFmpeg для этого - это просто ffmpeg -i InputFile OutputFile
, но есть ли способ использовать его в качестве библиотеки, поэтому я могу сделать что-то вроде ffmpeg_convert(InputFile, OutputFile)
?Может ли FFmpeg использоваться в качестве библиотеки вместо автономной программы?
Я надеюсь, что мне не придется напрямую использовать libavcodec, поскольку я думаю, что это будет намного сложнее, чем однострочная функция для преобразования между форматами. Если FFmpeg не может быть легко модифицирован, чтобы сделать это, возможно, есть другая библиотека, основанная на этом? Я слышал о libvlc, но это похоже только на видео , играющее API, а не конвертирование видео.
Спасибо.
Просто из любопытства, почему вы предпочитаете использовать его как DLL? Каков недостаток exec() в нем? –
Я бы не хотел запускать его в отдельном процессе, потому что AFAIK у меня не было бы возможности контролировать его прогресс или запускать функцию после ее завершения. – 2010-03-08 14:19:35
IMHO работает 'ffmpeg' в отдельном процессе, это лучшая идея, поэтому ваше приложение не застрянет, пока идет длительный процесс кодирования видео. –