Как я, видео-монтажер, создал собственный видеоредактор

от автора

MultiTrack в горизонтальной ориентации

MultiTrack в горизонтальной ориентации

Да, монтирую видео очень давно, около 20 лет, и часто не хватает софта что бы что то быстро подправить или смонтировать на выезде, на ходу, и даже в отпуске. Ноут далеко не всегда с собой, а вот iPad бывал частенько, и тогда в те времена года три назад очень не хватало софта нормального, какие то огрызки, на них разве что рилсики пилить.. не серьезно. Основная претензия от меня как от профи — на всех приложениях как правило одна дорожка! Я решил написать редактор видео таким каким я его вижу на мобильном устройстве.

MultiTrack - окно TimeWarp для работы с изменением скорости

MultiTrack — окно TimeWarp для работы с изменением скорости
Можно подключить клавиатуру и работать используя хоткеи

Можно подключить клавиатуру и работать используя хоткеи

Вдохновившись несколькими проектами на GitHub я начал потихоньку собирать идею в голове и в Vs Code. Некоторые проекты были созданы на базе Apple Sprite Kit, за счет чего показывали просто феноменальную отзывчивость интерфейса, но подход имел несколько фатальных недостатков. Sprite Kit панели в интерфейсе имели плохо контролируемую «проницаемость» — это когда например жмешь на какой то объект на таймлайне а на нажимается какой нить контроль под ним, который там оказался из за скролла другой панели. И вот казалось бы есть Z-последовательность панелей, настраивай и все.. но на практике все это работало настолько отвратительно, постоянные случайные нажатия динамически созданных объектов которые ни в какую не хотели слушаться Z-порядка слоев. После месяца мытарств с Sprite Kit я перевел проект на гугловский Dart Flutter, убив сразу двух зайцев — стабильная обработка касаний и кроссплатформенность проекта. Благодаря Flutter появилась возможность выпустить в перспективе проект на другие платформы — Android, Windows, Linux ну и конечно же на яблофоны. Многие услышав про кросплатформенный Flutter может показаться что редактор на не нативной языковой платформе превратиться в медленную не отзывчивую шляпу,, но нет ! Видеоредактор получился очень живым, нет никаких лагов по вине кросс-платформы. Если кто не в курсе Flutter работает несколько иначе чем React Native, Xamarin и прочие — он рисует интерфейс самостоятельно! Все это очень быстро и эффективно. Как вы понимаете видеоредактор это именно то приложение, которое по максимуму использует процессор и все виды памяти на устройстве — видеопамять, оперативка, ПЗУ. И тем не менее все работает очень хорошо! Но, правда для комфортной работы нужен хороший планшет или смартфон уровня NotrhingPhone 2 или например iPhone 14. На этих устройствах я и тестировал приложение.

Было очень интересно реализовывать такие вещи как — (далее термины-тэги)) — фейды, энвелопер звука, эффекты с поддержкой кейфремов, кроп, скеил, позиция, цветокоррекция, инструмент изменения скорости, изменяемость размеров всех панелей и их положение в разных ориентациях экрана и еще много всего… я залип на этом проекте на три месяца. На последок реализовал поддержку транскрипт голоса в субтитры и … в духе времени поддержку ИИ-асситента для монтажа промптами. Конечно и сами ассистенты мне помогали в работе. Особая благодарность Жан Клоду Коду. Но то вовсе не значит что весь проект навайбкоден как топором фигурка. Это в любом случае очень тонкая работа с кодом который не лежит в свободном доступе в больших количествах а значит и ИИ — модели мало что знаю как это писать.

ИИ-асситент для работы

ИИ-асситент для работы

Если кому интересно приложение называется Multitrack, да , потому что там можно использовать не ограниченное количество треков. Доступно в Rustore под Android и как mac-десктоп приложение на сайте appstorrent.ru . Версию для огрызков еще не выпустил, но она планируется

ссылка на оригинал статьи https://habr.com/ru/articles/1028240/