如何为其添加字幕?

问题描述 投票:0回答:1

我正在创建一个 python 视频,它使用 moviepy 和 tts 文件作为音频以及一些音乐:

# Paths
background_video_path = "src/bgvid.mp4"
output_audio_path = "output/output-tts.mp3"
output_video_path = "output/output-nosubtitles.mp4"

# Read JSON data from config.json
with open("config.json", "r") as json_file:
    data = json.load(json_file)

# Load audio
song_clip = AudioFileClip(data["song"]).volumex(0.09)  # Reduce volume to 20%
tts_clip = AudioFileClip(output_audio_path)

# Ensure song duration matches TTS audio duration
min_duration = min(song_clip.duration, tts_clip.duration)
song_clip = song_clip.subclip(0, min_duration)
tts_clip = tts_clip.subclip(0, min_duration)

# Combine song and TTS audio
combined_audio = CompositeAudioClip([song_clip.set_duration(min_duration), tts_clip.set_duration(min_duration)])

# Crop background video
cropped_video = crop_video(background_video_path)

# Shorten video to match audio length
cropped_video = cropped_video.subclip(0, min_duration)

# Set combined audio to cropped video
final_video = cropped_video.set_audio(combined_audio)

# Write final video
final_video.write_videofile(output_video_path, codec='libx264', audio_codec='aac', fps=24)


这就是代码,它使用 output-tts.mp3 文件作为音频,这是一个人说话和一些游戏剪辑。还有一些我没有分享的代码,用于将宽高比从裁剪更改为 9:16 ,是的。

我想为此添加字幕,以便它在中心显示字幕。

我已经尝试过使用 ImageMagick,但它的背景是空白的,中间的一些文本不会改变,并且宽高比超过 9:16,还有一个 10 分钟长的视频,没有其他内容。

所以我来这里询问是否有人可以帮我添加字幕代码,以便它可以在中心显示字幕

python video imagemagick moviepy subtitle
1个回答
0
投票

编辑: 我使用 Pillow 将每个字幕转换为图像,并将其放入保存每个字幕的文件夹中...然后将其显示到视频上并导出带字幕的视频

© www.soinside.com 2019 - 2024. All rights reserved.