Очень простой и легкий видеоредактор

#python #video #ffmpeg #media #codec

#python #Видео #ffmpeg #Медиафайлы #кодек

Вопрос:

Я хочу создать редактор, который выполняет следующее:

1) принимает аудиофайл mp3

2) Делает снимок — файл jpg

3) Выводит простой видеоформат, например .mov, который состоит из файла jpg с файлом mp3 в фоновом режиме

4) БОЛЬШЕ НИЧЕГО НЕ делает

Я хочу использовать это как проект, чтобы изучить только основы всего этого, однако я не хочу кодировать базовые вещи вручную. С чего мне начать и какие ключевые шаги я должен предпринять для достижения этой цели?

Я неплохо разбираюсь в PHP и Java и не против изучить Python для этого. На самом деле я бы в идеале хотел написать это на Python, чтобы набраться опыта.

Спасибо!

Ответ №1:

Если вы хотите самостоятельно создать такое решение — забудьте о Python, скомпилируйте ffmpeg и используйте его классы непосредственно из своего кода после того, как вы внимательно их прочитаете (или, возможно, используйте pyffmpeg, который по-прежнему требует от вас знания внутренних функций ffmpeg).

Тем не менее, я почти уверен, что то, что вы хотите, можно было бы сделать только с помощью исполняемого файла ffmpeg из командной строки — но таким образом ваш код Python закончится как оболочка вокруг ОС.Popen (на самом деле это довольно популярное решение).

Я думаю, это вопрос того, к какому уровню понимания вы стремитесь: либо вы согласны с чтением документов ffmpeg и полагаете, что это сработает (тогда: используйте Python), либо вам нужно глубоко погрузиться в исходные тексты ffmpeg, чтобы получить реальное представление о том, что происходит (чего я не знаюесть, кстати) — и тогда использование привязок pythonic будет просто стоять на вашем пути.

Мне уже несколько раз требовался ffmpeg (из django), и мне никогда не приходилось делать ничего большего, чем просто собирать список с помощью аргументов командной строки ffmpeg. С другой стороны, я бы очень хотел на самом деле понять, что, черт возьми, я делаю, но никто, похоже, не был заинтересован в том, чтобы платить мне за просмотр исходных текстов ffmpeg. 🙁

Ответ №2:

Я почти уверен, что вы могли бы сделать все это из командной строки mencoder (я думаю, используйте опцию speed; возможно, потребуется предоставить ему дубликат вашего jpg на каждые несколько секунд видео, которое вы хотите, поскольку это может замедлить работу максимум в 100 раз).

Ответ №3:

Если вы выберете решение ffmpeg CLI или вам нужен процесс для попытки прямой репликации с библиотеками, соответствующая команда CLI будет простой:

 ffmpeg -i input.jpg -i input.mp3 output.mov