CodeGym /Kurs Javy /Python SELF PL /Kompleksowy montaż wideo z MoviePy: napisy, muzyka i efek...

Kompleksowy montaż wideo z MoviePy: napisy, muzyka i efekty animacji

Python SELF PL
Poziom 48 , Lekcja 3
Dostępny

1. Kompozycja wideo: łączymy wszystkie poznane techniki

Dzisiaj stworzymy coś wyjątkowego — kompleksowe wideo z napisami, podkładem muzycznym i efektami animacji, używając biblioteki MoviePy. Ale zanim zanurzymy się w proces twórczy, pozwól, że zgadnę: próbowaliście już dodać tekst na wideo i zsynchronizować go z ścieżką audio? Jeśli nie, to najwyższa pora opanować te umiejętności i poczuć całą moc automatyzacji w świecie produkcji wideo!

Zanim zaczniemy, przypomnijmy sobie, czego nauczyliśmy się na poprzednich wykładach. Nauczyliśmy się wyodrębniać i przetwarzać klipy wideo i audio, dodawać tekst i grafikę, a także pracować z animacją i efektami. Czas połączyć to wszystko w całość i stworzyć nasz arcydzieło.

Główne etapy tworzenia kompleksowego montażu wideo

  1. Dodanie napisów: Początkowe i końcowe napisy pomagają oznaczyć początek i koniec projektu wideo.
  2. Podkład muzyczny: Muzyka w tle dodaje emocjonalną atmosferę wideo.
  3. Efekty animacji: Poruszające się teksty i obrazy ożywiają treść i czynią ją ciekawszą.

2. Tworzenie złożonego wideo

Zaczynamy od głównego zadania — stworzenia projektu wideo, który będzie zawierał wszystkie wcześniej poznane elementy. Oto jak to będzie wyglądać:


from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip, concatenate_videoclips
from moviepy.audio.AudioClip import CompositeAudioClip, AudioFileClip

# Ładujemy główny klip wideo
main_clip = VideoFileClip("clips/scene1.mp4")

# Ładujemy plik muzyczny
background_music = AudioFileClip("audio/background.mp3")

# Tworzymy napisy (na przykład na początek wideo)
title_text = "Witamy w naszym kinowym arcydziele!"
title_clip = TextClip(title_text, fontsize=70, color='white', bg_color='black', size=main_clip.size)
title_clip = title_clip.set_duration(5)

# Tworzymy kompozytowe wideo, dodając napisy na głównym wideo
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0)])
    

Zaczęliśmy od stworzenia prostego wideo z kompozycją, dodając napisy. W naszym przypadku napisy zajmują pierwsze 5 sekund wideo. Sekret tkwi w użyciu CompositeVideoClip, który pozwala łączyć kilka klipów wideo i nakładać je na siebie.

Warstwowanie i animacja elementów

Aby wideo stało się bardziej żywe i dynamiczne, dodamy trochę animacji i grafiki. Załóżmy, że chcemy dodać ruchomy tekst, który płynnie pojawia się w kadrze.


from moviepy.editor import TextClip

# Tworzymy animowany tekst
animated_text = TextClip("Oglądaj i inspiruj się!", fontsize=50, color='yellow', bg_color='black')
animated_text = animated_text.set_duration(3).set_position(lambda t: ('center', 200*(1 - t/3)))

# Dodajemy tekst na wideo, zaczynając od 5. sekundy
final_clip = CompositeVideoClip([main_clip, title_clip.set_start(0), animated_text.set_start(5)])
    

Funkcja set_position pozwala nam animować tekst, zmieniając jego pozycję w zależności od czasu t. W tym przypadku tekst płynnie zjeżdża z góry w dół przez 3 sekundy.

Dodanie logo z efektem powiększenia

Jeśli bardzo chcesz, możesz dodać swoje logo (ale to nie jest konieczne).


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'))
    

Tutaj:

  • resize(lambda t: 1 + 0.2 * t) powiększa rozmiar logo o 20% każdą sekundę, tworząc efekt powiększania.

3. Praca z podkładem muzycznym

Teraz dodamy podkład muzyczny, aby uczynić wideo bardziej ekscytującym. W świecie wideo, muzyka to emocje. Nadaje ona ton całemu dziełu.

Ładowanie wideo i dodawanie ścieżki dźwiękowej


from moviepy.editor import VideoFileClip, AudioFileClip

# Ładowanie głównego wideo i pliku audio
video = VideoFileClip("main_video.mp4")
audio = AudioFileClip("background_music.mp3").subclip(0, video.duration)

# Dodanie ścieżki dźwiękowej do wideo
video_with_audio = video.set_audio(audio)
    

Tutaj:

  • AudioFileClip("background_music.mp3").subclip(0, video.duration) dostosowuje ścieżkę dźwiękową do długości wideo.
  • set_audio(audio) dodaje muzykę w tle do wideo.

Lub można nałożyć muzykę drugą ścieżką


# Ustawiamy dźwięk na finalnym klipie wideo
final_audio = CompositeAudioClip([main_clip.audio, background_music.set_duration(main_clip.duration).volumex(0.5)])
final_clip = final_clip.set_audio(final_audio)
    

Używamy CompositeAudioClip, aby połączyć ścieżkę dźwiękową głównego klipu wideo z muzyką w tle. Tutaj funkcja volumex pomaga regulować głośność muzyki, aby nie zagłuszała komentarzy głosowych (jeśli takie występują).

Synchronizacja audio z obrazem

Ważny moment przy pracy z audio: upewnij się, że ścieżka muzyczna odpowiada długości wideo. Można to zrobić za pomocą metody set_duration, jak pokazano powyżej.

4. Eksportowanie i optymalizacja wideo

Gdy nasz projekt wideo jest gotowy, czas podwinąć rękawy i wyeksportować go w wygodnym dla nas formacie.

Eksport wideo


# Eksport wideo do pliku końcowego
final_clip.write_videofile("final_video.mp4", codec='libx264', bitrate='800k')
    

Tutaj korzystamy z metody write_videofile, aby zapisać nasz projekt wideo w formacie MP4. Ważne jest wybranie odpowiedniego kodeka, na przykład libx264, który zapewnia dobrą jakość i kompatybilność z większością urządzeń.

Więcej o eksporcie wideo dowiesz się na przyszłych wykładach.

Optymalizacja dla sieci i mediów społecznościowych

Tworząc wideo dla sieci lub mediów społecznościowych, ważne jest zmniejszenie jego rozmiaru bez utraty jakości. Można to zrobić, regulując taki parametr jak bitrate. Wybierz odpowiednio do platformy, na którą planujesz przesłać wideo.

I tak, Twoje wideo jest gotowe! Gratulacje, stworzyłeś swoje pierwsze arcydzieło kinowe za pomocą MoviePy. Teraz nie zapomnij podzielić się wynikami w mediach społecznościowych i zobacz, jakie wrażenie zrobi Twoje dzieło na znajomych i kolegach. Życzę powodzenia w przyszłych przygodach w świecie wideo!

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION