Рубрики
Без рубрики

Создание инструмента для редактирования видео в Python (часть 1 многих)

Небольшой обзор моего программного обеспечения для редактирования видео, а также разные трудности, которые я столкнулся до сих пор. Помечено Python, видеодедирование, творчество, DIY.

Заранее извините за мой плохой навык письма, на французском и все еще изучаю язык Шекспира

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

Я всегда был видео любовником: посмотрите на них, наслаждайтесь ими, создайте их … Я также человек, управляемый любопытством. Поэтому, когда, через несколько месяцев назад я бросаю вызов себе, чтобы создать программное обеспечение для редактирования видео в Python, два из моих вселенных столкнулись.

Эта проблема обусловлена любопытством открытия нового способа использования кода для создания вещей. Но это был также способ помочь мне понять, как 3Blue1Brown Manim Managed работает. На самом деле, я всегда забрал 3b1b работай. Я думаю, что это чистый и элегантный, и когда я знал, что все видео созданы в Python, я потерял свой разум. Поэтому я провожу некоторое время, пытаясь понять программное обеспечение. А также Начал писать свое собственное программное обеспечение для рендеринга, добавляя к нему мои собственные идеи.

Мое программное обеспечение вдохновлено 3b1b Программное обеспечение Я пытался сделать программное обеспечение ближе к «реальному программному обеспечению», как Premiere Pro. Маним Просто следуйте потоку кода, чтобы сделать. Но я попытался осуществить систему рендеринга на основе временной шкалы.

Программное обеспечение для рендеринга

Основная идея VIDTEX (имя программного обеспечения, которое я создаю видео + латекс/видео + Technologie) – это то, что пользователь пишет фильм, а затем VIDTEX делает рендеринг, ничего не является в режиме реального времени. Чтобы использовать программное обеспечение, которое вы должны создать папку, содержащую хотя бы один файл movie_main.py. . Этот файл содержит всю сцену, который состоит фильм. Сцена состоит из анимаций.

Когда вы запускаете рендер, VIDTEX открыть файл movie_main.py и извлечь фильм Сцена (используя ImportLib ). Пользователь написал весь фильм в функции под названием Подготовьте Отказ В этой функции пользователь звонит на всю сцену фильма, используемый и расскажет VIDTEX, когда они должны быть оказаны в фильме. Например, следующий код рассказывает VIDTEX, что фильм имеет только одну сцену, которая длится 60 кадров (скорость кадра устанавливается в файл конфигурации).

def prepare(self):
    self.add_to_timeline(FirstScene, 0, 60, dtype="frames")

Firstscene Объект – это Сцена Как фильм, вы должны Подготовьте Сцена: вместо добавления сцены на временную шкалу вы добавляете анимацию. Итак, Подготовьте Функция сцены будет выглядеть так:

def prepare(self):
    self.add_to_timeline(Animation1(anim_args**), 0, 60, z-index=-2)
    self.add_to_timeline(Animation2(anim_args**), 10, 55)
    self.add_to_timeline(Animation3(anim_args**), 2, 30, z-index=1)

Когда вы запускаете процесс Render, VIDTEX будет искать Фильм Класс и попробуйте сделать первый кадр (отсортирован по времени начала, если нет сцены на T , рамка T чернот).

Понимание визуализации на основе графика

Когда VIDTEX запустит процесс рендера, он позвонит на временную шкалу и просит всю сцену, которая должна быть отображена на кадре T Отказ Kinda Recurnivy, вся сцена называется, сделает их визуализацию на раме сцена [«start_time»] - t Отказ Каждая анимация имеет буфер, все буфер анимации добавляют для создания буфера кадра сцены, который находится в конце, добавленном к основным буфере кадра для создания рамы. Добавление в буфер правит z-index сцены/анимации (чем больше z-индекс Чем ближе вы).

Вот как следует понимать, как работают сцену фильма и анимационная структура.

Сроки аналогичны «нормальному» программе редактирования видео. Есть представление:

Поэтому в то время курсор находится в том, чтобы познакомительную анимацию – Анимация 2 от Сцена 1 Отказ Если есть не прозрачная анимация, для экзвания в Сцена 3 , Анимация 2 от Сцена 1 не будет показано. Гронология VIDTEX работает так же, как Premiere Pro, после временной шкалы эффектов. Вы просто должны написать это в коде.

Почему видтекс?

Как я уже говорил ранее, это путь для меня, чтобы столкнуться с двумя моими страстями. Но это также требуется инструмент программировщиков. Вы хотите, чтобы вы могли создать фильм вашего моделирования, например. Тот факт, что анимация изолятана от остальной части фильма, означает, что вы можете запустить симуляцию физики в анимации и визуализировать его с VIDTEX. Но предоставляющую физическое моделирование, вы можете добавить текстовое наложение или объяснить, используя другое видео, что происходит. Никто не хочет иметь дело с трубопроводом FFMPEG все время для создания простых видео.

На будущее

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

Я постараюсь держать вас в курсе VIDTEX, если вы заинтересованы, читая багги и не очень чистый код VIDTEX, который вы можете здесь Отказ

Оригинал: “https://dev.to/paulplanchon_/creating-a-video-editing-tool-in-python-part-1-of-many-5a5c”