Реалізація AI-автоматичного монтажу відео у мобільному додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Реалізація AI-автоматичного монтажу відео у мобільному додатку
Складний
~1-2 тижні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

AI-поділ автоматичного монтажу відео для мобільних додатків

Автоматичний монтаж відео — це коли користувач завантажує 20 випадкових кліпів з відпустки, а додаток автоматично вибирає найкращі моменти, нарізає їх під ритм музики та створює готове відео. Технічно це поєднує декілька AI-компонентів: аналіз контенту, виявлення ритму, вибір сцен та остаточне склеювання.

Аналіз контенту відеокліпів

Перш ніж монтувати, потрібно зрозуміти, що в кліпах. Для кожного сегменту ми запускаємо:

Виявлення якості кадру: вимірювання розмитості через дисперсію Лапласа (cv2.Laplacian), експозиція (середня яскравість), наявність осіб. Розмиті та погано освітлені кадри виключаються.

Виявлення висвітлювальних моментів: раптові зміни динаміки (рух камери, дія), обличчя з емоціями, високий контраст — все це підвищує "оцінку" моменту.

# Backend: оцінка кадру
def score_frame(frame_bgr):
    gray = cv2.cvtColor(frame_bgr, cv2.COLOR_BGR2GRAY)

    # Чіткість
    sharpness = cv2.Laplacian(gray, cv2.CV_64F).var()

    # Яскравість
    brightness = gray.mean()
    brightness_score = 1.0 - abs(brightness - 128) / 128  # 128 = оптимально

    # Рух (різниця від попереднього кадру)
    # motion_score = ...

    total = (sharpness / 1000) * 0.4 + brightness_score * 0.3 + motion_score * 0.3
    return min(total, 1.0)

Для глибшого аналізу використовуйте CLIP (OpenAI) через API: вбудовування кадру дозволяє фільтрувати за семантичним змістом ("кадри з людьми", "заходи сонця", "їжа").

Виявлення ритму та синхронізація з музикою

Монтаж під ритм — це те, що відрізняє хороше авто-відео від поганого. Використовуйте librosa на backend:

import librosa
import numpy as np

def detect_beats(audio_path):
    y, sr = librosa.load(audio_path, sr=22050)
    tempo, beat_frames = librosa.beat.beat_track(y=y, sr=sr)
    beat_times = librosa.frames_to_time(beat_frames, sr=sr)
    return beat_times.tolist()  # секунди кожного удару

Ритмічні точки — це точки склеювання. Алгоритм монтажу: для кожного інтервалу між ударами вибирайте фрагмент з найвищою оцінкою; довжина фрагменту дорівнює інтервалу між ударами.

Середній BPM поп-треку — 120–140. Інтервал між ударами — 0,43–0,5 секунди. Це короткі нарізи — динамічні, підходять для TikTok/Reels. Для ліричних відео беріть кожний 2-й або 4-й удар — 1–2 секунди за кадр.

Архітектура мобільного клієнта

Мобільний додаток відповідає за:

  1. Вибір кліпів з галереї (кілька одночасно — PHPickerViewController на iOS 14+, PhotoPicker на Android API 33+)
  2. Завантаження на backend (багаточастинне завантаження з прогресом)
  3. Вибір музики (з бібліотеки чи генерація через AI)
  4. Відображення прогресу монтажу
  5. Відтворення та збереження результату
// iOS: багатофайлове завантаження з прогресом
class VideoUploadService {
    func uploadClips(_ urls: [URL]) -> AsyncStream<UploadProgress> {
        AsyncStream { continuation in
            Task {
                for (index, url) in urls.enumerated() {
                    let data = try! Data(contentsOf: url)
                    try await uploadSingle(data: data, name: "clip_\(index).mp4")
                    continuation.yield(UploadProgress(completed: index + 1, total: urls.count))
                }
                continuation.finish()
            }
        }
    }
}

Завантажуйте великі файли через URLSession фонове завантаження (URLSessionConfiguration.background). Не втрачає завантаження при згортанні додатка.

Backend: монтаж через FFmpeg

Після аналізу та вибору фрагментів backend будує FFmpeg команду:

# Конкатенація через concat demuxer
ffmpeg -f concat -safe 0 -i playlist.txt \
  -i background_music.mp3 \
  -shortest \
  -c:v libx264 -crf 20 -preset fast \
  -c:a aac -b:a 192k \
  -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" \
  output.mp4

playlist.txt містить часові мітки для кожного кліпу:

file '/tmp/clip_3.mp4'
inpoint 12.4
outpoint 13.1
file '/tmp/clip_7.mp4'
inpoint 5.2
outpoint 5.7

Час обробки на сервері: 30–120 секунд залежно від обсягу джерел та довжини результату.

Налаштування стилю монтажу

Хороший UX надає користувачам декілька предустановок:

Стиль BPM Довжина нарізу Переходи
Динамічний 130–140 0,4–0,8 сек Жорсткий нарізу
Кінематографічний 80–100 2–4 сек Fade, dissolve
Лірична 90–110 1,5–3 сек Повільна fade
Історія 100–120 1–2 сек Нарізу + незначне збільшення

Налаштування передаються на backend разом з запитом на монтаж.

Часові рамки

Базовий авто-монтаж (завантаження кліпів, синхронізація биття, монтаж) — 2–3 тижні. Повна реалізація з аналізом контенту CLIP, стилями монтажу, AI-музикою та попереднім переглядом на пристрої — 6–8 тижнів. Вартість розраховується індивідуально.