CodeGym /課程 /Python SELF TW /在影片中添加文字、字幕和片尾:字型、顏色及位置的設置

在影片中添加文字、字幕和片尾:字型、顏色及位置的設置

Python SELF TW
等級 47 , 課堂 4
開放

1. 探索 MoviePy 的文字世界

好啦,我們即將深入編輯影片與添加文字的奇妙世界。想像一下,你是導演,你的任務不僅僅是讓角色對話,還能靈活掌控螢幕上的文字。沒錯,字幕與片尾的魔術正等著你!

在開始之前,先理解一件事:MoviePy 不僅僅是另一個處理影片的庫。它是你個人的影片設計師,能為你的專案增添一點點的光彩與資訊性。你已經學會了影片編輯的基礎:剪輯、拼接、一點小特效——現在是進階的時候了。

為什麼要添加文字?

影片中的文字扮演著關鍵角色——資訊提示、風格化的片尾、當然還有深夜觀看時拯救鄰居睡眠的字幕。MoviePy 讓這些變得簡單又時尚。

2. 處理文字

我們來從簡單的文字元素開始吧。MoviePy 提供了一個很棒的函數 TextClip,它可以將文字添加到你的影片剪輯中。

建立文字剪輯

基本的文字剪輯設置大致如下:


from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip

# 打開影片檔案
video = VideoFileClip("sample_video.mp4")

# 建立文字剪輯
txt_clip = TextClip("你好,世界!", fontsize=70, color='white')

# 設置文字剪輯的持續時間
txt_clip = txt_clip.set_duration(video.duration)

# 指定文字位置
txt_clip = txt_clip.set_position('bottom')

# 將影片與文字合成
video_with_text = CompositeVideoClip([video, txt_clip])

# 儲存結果
video_with_text.write_videofile("output_video_with_text.mp4", fps=24)

字型和顏色的設置

你可以輕鬆設定文字的顏色、字型和大小。在上面的例子中,文字顏色為白色,但你可以選擇其他顏色,例如:


txt_clip = TextClip("你好,世界!", fontsize=70, font='Amiri-bold', color='yellow')

同樣地,你可以更改字型,前提是你的系統中已安裝了所需的字型。

3. 調整文字在螢幕上的位置

可以通過參數 set_position() 設定文字的位置,該參數既可以接受文本值(例如,'center''bottom'),也可以接受座標值。

將文字放置在不同位置


# 將文字放置於螢幕頂部
text_top = TextClip("頂部文字", fontsize=30, color='blue').set_position(('center', 'top')).set_duration(5)

# 將文字放置於螢幕底部
text_bottom = TextClip("底部文字", fontsize=30, color='green').set_position(('center', 'bottom')).set_duration(5)

# 將文字按座標位置放置 (x=100, y=100)
text_coords = TextClip("座標文字", fontsize=30, color='red').set_position((100, 100)).set_duration(5)

# 合成文字與影片
final_video = CompositeVideoClip([video, text_top, text_bottom, text_coords])
final_video.write_videofile("video_with_positioned_text.mp4")

這些情況下:

  • ('center', 'top'): 將文字置於螢幕頂部中央。
  • ('center', 'bottom'): 將文字置於螢幕底部中央。
  • (100, 100): 將文字放置於特定座標位置。

動態更新文字

不僅是添加文字,還能使其動起來——這能讓影片內容更引人入勝。我們試試讓文字變成動畫。


def move_text(t):
    return 10, 100 * t  # 隨著時間文字向下移動

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

1
問卷/小測驗
MoviePy 影片剪輯基礎,等級 47,課堂 4
未開放
MoviePy 影片剪輯基礎
MoviePy 影片剪輯基礎
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION