Hieucyber2208 commited on
Commit
552f457
·
verified ·
1 Parent(s): 5d91eed

Update src/text_to_video.py

Browse files
Files changed (1) hide show
  1. src/text_to_video.py +8 -8
src/text_to_video.py CHANGED
@@ -15,9 +15,9 @@ def format_time(seconds):
15
  hours, mins = divmod(mins, 60)
16
  return f"{int(hours):02}:{int(mins):02}:{int(sec):02},{int((sec % 1) * 1000):03}"
17
  def get_audio_duration(audio_path):
18
- # Lọc các file có đuôi .wav
19
  audio_paths = os.listdir(audio_path)
20
- audio_list = [file for file in audio_paths if file.endswith(".wav")]
21
 
22
  # Khởi tạo danh sách audio duration
23
  duration_list = []
@@ -56,11 +56,11 @@ def create_srt_from_time_and_text(duration_time, text_folder, output_srt):
56
  with open(output_srt, 'w', encoding='utf-8') as f:
57
  f.write(subtitle)
58
  def concatenate_audio_files(audio_folder, output_audio_path):
59
- # Lọc tất cả các file âm thanh .wav trong thư mục
60
  audio_clips = []
61
 
62
  for file in sorted(os.listdir(audio_folder)):
63
- if file.endswith('.wav'):
64
  audio_path = os.path.join(audio_folder, file)
65
  audio_clip = AudioFileClip(audio_path)
66
  audio_clips.append(audio_clip)
@@ -69,7 +69,7 @@ def concatenate_audio_files(audio_folder, output_audio_path):
69
  final_audio = concatenate_audioclips(audio_clips)
70
 
71
  # Lưu kết quả vào file output
72
- final_audio.write_audiofile(output_audio_path, codec = 'pcm_s16le')
73
 
74
  print(f"File audio đã được lưu tại: {output_audio_path}")
75
  def create_video_from_images(image_folder, audio_path, output_video_path):
@@ -96,7 +96,7 @@ def create_video_from_images(image_folder, audio_path, output_video_path):
96
  final_video .audio = audio
97
 
98
  # Xuất video
99
- final_video.write_videofile(output_video_path, codec="libx264", audio_codec="libx264", fps=24)
100
 
101
  print(f"Video đã được lưu tại: {output_video_path}")
102
  def wrap_text(text, max_width):
@@ -146,8 +146,8 @@ def add_subtitles_to_video(video_path, subtitle_path, output_video_path):
146
  def text_to_video():
147
  duration_time = get_audio_duration("./audio")
148
  create_srt_from_time_and_text(duration_time, './text', './output/subtitle.srt')
149
- concatenate_audio_files("./audio","./output/final_audio.wav")
150
- create_video_from_images("./image","./output/final_audio.wav","./output/output.mp4")
151
  add_subtitles_to_video("./output/output.mp4", "./output/subtitle.srt", "./output/final_output.mp4")
152
  if __name__ == "__main__":
153
  text_to_video()
 
15
  hours, mins = divmod(mins, 60)
16
  return f"{int(hours):02}:{int(mins):02}:{int(sec):02},{int((sec % 1) * 1000):03}"
17
  def get_audio_duration(audio_path):
18
+ # Lọc các file có đuôi .mp3
19
  audio_paths = os.listdir(audio_path)
20
+ audio_list = [file for file in audio_paths if file.endswith(".mp3")]
21
 
22
  # Khởi tạo danh sách audio duration
23
  duration_list = []
 
56
  with open(output_srt, 'w', encoding='utf-8') as f:
57
  f.write(subtitle)
58
  def concatenate_audio_files(audio_folder, output_audio_path):
59
+ # Lọc tất cả các file âm thanh .mp3 trong thư mục
60
  audio_clips = []
61
 
62
  for file in sorted(os.listdir(audio_folder)):
63
+ if file.endswith('.mp3'):
64
  audio_path = os.path.join(audio_folder, file)
65
  audio_clip = AudioFileClip(audio_path)
66
  audio_clips.append(audio_clip)
 
69
  final_audio = concatenate_audioclips(audio_clips)
70
 
71
  # Lưu kết quả vào file output
72
+ final_audio.write_audiofile(output_audio_path, codec = 'libmp3lame')
73
 
74
  print(f"File audio đã được lưu tại: {output_audio_path}")
75
  def create_video_from_images(image_folder, audio_path, output_video_path):
 
96
  final_video .audio = audio
97
 
98
  # Xuất video
99
+ final_video.write_videofile(codec="libx264", audio_codec="aac", fps=30)
100
 
101
  print(f"Video đã được lưu tại: {output_video_path}")
102
  def wrap_text(text, max_width):
 
146
  def text_to_video():
147
  duration_time = get_audio_duration("./audio")
148
  create_srt_from_time_and_text(duration_time, './text', './output/subtitle.srt')
149
+ concatenate_audio_files("./audio","./output/final_audio.mp3")
150
+ create_video_from_images("./image","./output/final_audio.mp3","./output/output.mp4")
151
  add_subtitles_to_video("./output/output.mp4", "./output/subtitle.srt", "./output/final_output.mp4")
152
  if __name__ == "__main__":
153
  text_to_video()