1. Композиція відео: комбінуємо всі вивчені техніки
Сьогодні ми з вами створимо щось особливе — комплексне відео з титрами, музичним супроводом та анімаційними ефектами, використовуючи бібліотеку MoviePy. Але перш ніж зануритися у творчий процес, дай-но вгадаю: ви вже пробували додавати текст на відео та синхронізувати його з аудіотреком? Якщо ні — то саме час опанувати ці навички та відчути всю міць автоматизації у світі відеовиробництва!
Перш ніж почати, давайте пригадаємо, що ми вже опанували на попередніх лекціях. Ми навчилися витягувати та обробляти відео та аудіокліпи, додавати текст і графіку, а також працювати з анімацією і ефектами. Настав час об’єднати все це в одне ціле і створити наш шедевр.
Основні етапи створення комплексної відеозбірки
- Додавання титрів: Початкові та кінцеві титри допомагають позначити початок і кінець відеопроєкту.
- Музичний супровід: Фонова музика додає емоційну атмосферу відео.
- Анімаційні ефекти: Рухомі тексти та зображення оживляють контент і роблять його цікавішим.
2. Створення складного відео
Розпочнемо з основного завдання — створення відеопроєкту, який включатиме всі раніше вивчені елементи. Ось як це виглядатиме:
from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip, concatenate_videoclips
from moviepy.audio.AudioClip import CompositeAudioClip, AudioFileClip
# Завантажуємо основний відеокліп
main_clip = VideoFileClip("clips/scene1.mp4")
# Завантажуємо музичний файл
background_music = AudioFileClip("audio/background.mp3")
# Створюємо титри (наприклад, для початку відео)
title_text = "Ласкаво просимо до нашого кінематографічного шедевру!"
title_clip = TextClip(title_text, fontsize=70, color='white', bg_color='black', size=main_clip.size)
title_clip = title_clip.set_duration(5)
# Створюємо композитне відео, додаючи титри зверху основного відео
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0)])
Ми почали зі створення простого композитного відео, додавши титри. У нашому випадку титри займають перші 5 секунд відео. Секрет у використанні CompositeVideoClip, який дозволяє комбінувати кілька відеокліпів та накладати їх одне на одного.
Накладання шарів та анімація елементів
Щоб відео стало більш живим і динамічним, додамо деякі анімації та графіку. Припустимо, ми хочемо додати рухомий текст, який плавно з’являється у кадрі.
from moviepy.editor import TextClip
# Створюємо анімований текст
animated_text = TextClip("Дивіться і надихайтеся!", fontsize=50, color='yellow', bg_color='black')
animated_text = animated_text.set_duration(3).set_position(lambda t: ('center', 200*(1 - t/3)))
# Додаємо текст на відео, починаючи з 5-ї секунди
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0), animated_text.set_start(5)])
Функція set_position дозволяє нам анімувати текст, змінюючи його положення залежно від часу t. У цьому випадку текст плавно спускається зверху вниз за 3 секунди.
Додавання логотипа з ефектом збільшення масштабу
Якщо дуже хочеться, ви можете додати свій логотип (але це не обов’язково).
from moviepy.editor import ImageClip
logo = ImageClip("logo.png").set_duration(5)
logo = logo.resize(lambda t: 1 + 0.2 * t).set_position(('right', 'bottom'))
Тут:
resize(lambda t: 1 + 0.2 * t)збільшує розмір логотипа на 20% щосекунди, створюючи ефект збільшення масштабу.
3. Робота з музичним супроводом
Тепер давайте додамо музичний супровід, щоб зробити відео більш захопливим. У світі відео музика — це емоції. Вона задає настрій усьому творінню.
Завантаження відео та додавання музичної доріжки
from moviepy.editor import VideoFileClip, AudioFileClip
# Завантаження основного відео та аудіофайлу
video = VideoFileClip("main_video.mp4")
audio = AudioFileClip("background_music.mp3").subclip(0, video.duration)
# Додавання аудіодоріжки до відео
video_with_audio = video.set_audio(audio)
Тут:
AudioFileClip("background_music.mp3").subclip(0, video.duration)підганяє аудіодоріжку під довжину відео.set_audio(audio)додає фонову музику до відео.
Або можна накласти музику другою доріжкою
# Встановлюємо звук на фінальний відеокліп
final_audio = CompositeAudioClip([main_clip.audio, background_music.set_duration(main_clip.duration).volumex(0.5)])
final_clip = final_clip.set_audio(final_audio)
Ми використовуємо CompositeAudioClip, щоб об’єднати звукову доріжку основного відеокліпу з фоновим музичним треком. Тут функція volumex допомагає регулювати гучність музики, щоб вона не заглушала голосові коментарі (якщо такі є).
Синхронізація аудіо з відеорядом
Важливий момент при роботі з аудіо: переконайтесь, що музичний трек збігається за тривалістю з відео. Це можна зробити за допомогою методу set_duration, як показано вище.
4. Експортування та оптимізація відео
Тепер, коли наш відеопроєкт завершено, настав час закатати рукави і експортувати його у зручному для нас форматі.
Експорт відео
# Експорт відео у фінальний файл
final_clip.write_videofile("final_video.mp4", codec='libx264', bitrate='800k')
Тут ми використовуємо метод write_videofile, щоб зберегти наш відеопроєкт у форматі MP4. Важливо обрати відповідний кодек, наприклад, libx264, який забезпечує гарну якість і сумісність із більшістю пристроїв.
Детальніше про експорт відео ви дізнаєтесь на наступних лекціях.
Оптимізація для веб і соцмереж
Створюючи відео для вебу чи соціальних мереж, важливо зменшити його розмір без втрати якості. Це можна зробити, регулюючи такий параметр, як bitrate. Вибирати треба з урахуванням платформи, на яку ви плануєте завантажувати відео.
І ось, ваше відео готове! Вітаю, ви створили свій перший кіношедевр з MoviePy. Тепер не забудьте поділитися результатами у соцмережах і подивитися, яке враження справить ваше творіння на друзів і колег. Бажаю успіхів у ваших майбутніх авантюрах у світі відео!
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ