ffmpegNode
Це не лише інструмент, а й філософія. Цей проект — не просто «ще одна обгортка», а маніфест комерційної свободи та нового гнучкого підходу до автоматизації. ffmpegNode народився із захоплення потужністю та темпами розвитку FFmpeg. Це великий інструмент, створений ентузіастами, які хотіли заявити світові про свої можливості та свою ідею. Однак жорсткі рамки ліцензії GPL часто стають бар'єром для його повноцінного та повного розвитку, а також використання в комерційних екосистемах розробниками-початківцями з малою інфраструктурою. Ми вважаємо, що кожна ідея повинна мати свою винагороду та ресурси для розвитку. Нас засмутило закриття проекту від Arthenica, оскільки не було необхідної підтримки. Його закриття стало сильним ударом у співтовариство. Розробники-початківці по всьому світу раптово втратили надійну опору і підтримку. Коли такі ключові інструменти йдуть зі сцени, це не просто ламає чиїсь робочі процеси — це буквально гальмує еволюцію технологій і заважає зростанню молодих фахівців, яким більше нема на чому вчитися і нема в кого просити допомоги. Через це (освіта молодих) страждає вся індустрія: Уповільнюється розвиток технологій і розробники втрачають якісну кодову базу, на якій можна вчитися і позбавляються підтримки досвідченого ком'юніті. Наш проект покликаний дати розробникам ту саму стабільність, передбачуваність та незалежність, якої так не вистачає. За рахунок архітектури плагінів та ліцензії MIT, інструмент вистоїть, навіть якщо один з базових двигунів перестане розвиватися - ви можете легко замінити його іншим. Ми будуємо не просто утиліту, а стійке середовище для безперервного зростання технологій та самих інженерів. Ми хочемо підтримати FFmpeg і дати йому новий шлях для зростання, позбавивши розробників юридичних ризиків. ffmpegNode виносить будь-який двигун за рамки кодової бази вашої програми. Він взаємодіє з ним як із зовнішнім ізольованим плагіном через інтерфейс командного рядка (CLI). Це дозволяє легально використовувати всю міць важких open-source движків у комерційних продуктах, зберігаючи код самого автоматизатора абсолютно відкритим під ліцензією MIT. Слово Node у назві - це не тільки середовище виконання, але й ноди (вузли) в архітектурі програми. Проект побудований на концепції вузлів обробки даних. Такий підхід дозволяє візуалізувати, гнучко налаштовувати та запускати складну, багатопоточну пакетну автоматизацію будь-яких процесів. ffmpegNode — універсальний автоматизатор пакетної обробки даних. Він замислювався як міст для FFmpeg у світ комерційного софту, але виріс у гнучку систему, здатну використовувати будь-які консольні утиліти як плагіни. Ми беремо найкраще від open-source і робимо його доступним для бізнесу-початківця юних талантів без обмежень. ffmpegNode — це Node.js-обгортка для керування зовнішніми консольними процесами, яка автоматизує запуск утиліт, збирання логів та контроль завершення роботи. Незважаючи на назву, бібліотека універсальна: у конструкторі можна вказати шлях до будь-якої програми (наприклад, tar, ImageMagick) та передати аргументи, використовуючи стандартний метод child_process.spawn
Генерація аргументів командного рядка на основі JSON-схем/об'єктів.