CodeGym /Kursy Java /Python SELF PL /Dodawanie tekstu, napisów i tytułów do wideo: ustawienie ...

Dodawanie tekstu, napisów i tytułów do wideo: ustawienie czcionek, kolorów i pozycji

Python SELF PL
Poziom 47 , Lekcja 4
Dostępny

1. Wprowadzenie do tekstowego świata MoviePy

Gotowi na zanurzenie się w magicznym świecie edycji wideo z dodawaniem tekstu? Wyobraź sobie, że jesteś reżyserem, i Twoim zadaniem jest nie tylko sprawić, żeby postacie mówiły, ale i zarządzać słowami pojawiającymi się na ekranie. Tak, mowa o magii napisów i tytułów!

Zanim zaczniemy, ważne jest zrozumienie jednej prostej rzeczy: MoviePy to nie tylko kolejna biblioteka do pracy z wideo. To Twój osobisty projektant wideo, który może dodać projektowi odrobinę blasku i informacji. Jeśli już znasz podstawy edycji wideo: cięcie, sklejanie, odrobina efektów specjalnych - czas na kolejny poziom.

Po co dodawać tekst?

Tekst w wideo odgrywa kluczową rolę — to informacje, stylizowane tytuły, a także niezastąpione napisy dla tych, którzy oglądają materiał późną nocą, kiedy sąsiedzi śpią. MoviePy umożliwia robienie tego w wygodny i stylowy sposób.

2. Praca z tekstem

Zacznijmy od prostych elementów tekstowych. Do tego MoviePy oferuje świetną funkcję TextClip, która pozwala na dodawanie tekstu do Twoich klipów.

Tworzenie klipu tekstowego

Podstawowa konfiguracja klipu tekstowego wygląda tak:


from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# Otwieramy plik wideo
video = VideoFileClip("sample_video.mp4")

# Tworzymy klip tekstowy
txt_clip = TextClip("Cześć, świecie!", fontsize=70, color='white')

# Ustawiamy czas trwania klipu tekstowego
txt_clip = txt_clip.set_duration(video.duration)

# Ustawiamy pozycję tekstu
txt_clip = txt_clip.set_position('bottom')

# Komponujemy wideo z tekstem
video_with_text = CompositeVideoClip([video, txt_clip])

# Zapisujemy wynik
video_with_text.write_videofile("output_video_with_text.mp4", fps=24)

Ustawienie czcionek i kolorów

Możesz łatwo dostosować kolor, czcionkę i rozmiar tekstu. W powyższym przykładzie kolor tekstu jest biały, ale możesz wybrać dowolny inny, na przykład:


txt_clip = TextClip("Cześć, świecie!", fontsize=70, font='Amiri-bold', color='yellow')

Podobnie możesz zmienić czcionkę, upewniając się wcześniej, że potrzebna czcionka jest zainstalowana w Twoim systemie.

3. Pozycjonowanie tekstu na ekranie

Pozycjonowanie tekstu można regulować za pomocą parametru set_position(), który akceptuje zarówno wartości tekstowe (na przykład 'center', 'bottom'), jak i współrzędne.

Umieszczanie tekstu w różnych pozycjach


# Tekst umieszczony na górze
text_top = TextClip("Tekst na górze", fontsize=30, color='blue').set_position(('center', 'top')).set_duration(5)

# Tekst umieszczony na dole
text_bottom = TextClip("Tekst na dole", fontsize=30, color='green').set_position(('center', 'bottom')).set_duration(5)

# Tekst umieszczony na współrzędnych (x=100, y=100)
text_coords = TextClip("Tekst na współrzędnych", fontsize=30, color='red').set_position((100, 100)).set_duration(5)

# Nakładanie wszystkich tekstów na wideo
final_video = CompositeVideoClip([video, text_top, text_bottom, text_coords])
final_video.write_videofile("video_with_positioned_text.mp4")

Tutaj:

  • ('center', 'top'): Umieszcza tekst na środku u góry.
  • ('center', 'bottom'): Umieszcza tekst na środku u dołu.
  • (100, 100): Ustawia pozycję tekstu na określonych współrzędnych.

Dynamiczna aktualizacja tekstu

Nie tylko dodanie tekstu, ale i jego ożywienie — to właśnie sprawia, że wideo staje się naprawdę fascynujące. Spróbujmy animować tekst.


def move_text(t):
    return 10, 100 * t  # Przesuwamy tekst w dół w czasie

txt_clip = txt_clip.set_pos(move_text).set_duration(3)

4. Praca z napisami

Napisy to tekst zsynchronizowany z określonymi momentami wideo. Możemy je ładować z plików lub tworzyć ręcznie.

Ręczne dodawanie napisów

Zacznijmy od prostego przykładu, gdzie dodajemy napisy do wideo. W tym celu musimy utworzyć klip tekstowy i ustawić czas jego pojawienia się:


# Tworzymy napisy
subtitles = [
    {"text": "Cześć, świecie!", "start": 0, "end": 2},
    {"text": "To jest napis!", "start": 2.5, "end": 5}
]

# Komponujemy wideo z napisami
sub_clips = [TextClip(sub['text'], fontsize=50, color='white')
             .set_position(('center', 'bottom'))
             .set_start(sub['start'])
             .set_duration(sub['end'] - sub['start'])
             for sub in subtitles]

video_with_subtitles = CompositeVideoClip([video] + sub_clips)

video_with_subtitles.write_videofile("output_video_with_subtitles.mp4", fps=24)

1
Опрос
Podstawy montażu wideo z MoviePy,  47 уровень,  4 лекция
недоступен
Podstawy montażu wideo z MoviePy
Podstawy montażu wideo z MoviePy
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION