Update app.py
Browse files
app.py
CHANGED
|
@@ -354,8 +354,8 @@ def time_to_seconds(time_obj):
|
|
| 354 |
def create_subtitle_clips(subtitles, videosize, fontsize, font, color, debug):
|
| 355 |
subtitle_clips = []
|
| 356 |
for subtitle in subtitles:
|
| 357 |
-
start_time = time_to_seconds(subtitle.start)
|
| 358 |
-
end_time = time_to_seconds(subtitle.end)
|
| 359 |
duration = end_time - start_time
|
| 360 |
video_width, video_height = videosize
|
| 361 |
max_width = video_width * 0.8
|
|
@@ -376,6 +376,11 @@ def process_video(url, type):
|
|
| 376 |
if type=="insta":
|
| 377 |
input_video, image_path=insta_oneapi(url, api_key)
|
| 378 |
input_video_name = input_video.replace(".mp4", "")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 379 |
input_audio = extract_audio(input_video)
|
| 380 |
elif type=="youtube":
|
| 381 |
input_video, input_audio = one_youtube(url, api_key)
|
|
@@ -396,12 +401,11 @@ def process_video(url, type):
|
|
| 396 |
video = VideoFileClip(input_video)
|
| 397 |
audio = AudioFileClip(input_audio)
|
| 398 |
video = video.with_audio(audio)
|
| 399 |
-
image_clip = ImageClip(image_path).with_duration(1)
|
| 400 |
print(video)
|
| 401 |
subtitles = pysrt.open("google_translate.srt", encoding="utf-8")
|
| 402 |
output_video_file = input_video_name + '_subtitled' + ".mp4"
|
| 403 |
subtitle_clips = create_subtitle_clips(subtitles, video.size, 32, 'arial.ttf', 'white', False)
|
| 404 |
-
final_video = CompositeVideoClip([video
|
| 405 |
final_video.write_videofile(output_video_file, codec="libx264", audio_codec="aac", logger=None)
|
| 406 |
print('final')
|
| 407 |
# Get the current local time
|
|
|
|
| 354 |
def create_subtitle_clips(subtitles, videosize, fontsize, font, color, debug):
|
| 355 |
subtitle_clips = []
|
| 356 |
for subtitle in subtitles:
|
| 357 |
+
start_time = time_to_seconds(subtitle.start) # Add 2 seconds offset
|
| 358 |
+
end_time = time_to_seconds(subtitle.end)
|
| 359 |
duration = end_time - start_time
|
| 360 |
video_width, video_height = videosize
|
| 361 |
max_width = video_width * 0.8
|
|
|
|
| 376 |
if type=="insta":
|
| 377 |
input_video, image_path=insta_oneapi(url, api_key)
|
| 378 |
input_video_name = input_video.replace(".mp4", "")
|
| 379 |
+
video = VideoFileClip(input_video)
|
| 380 |
+
image_clip = ImageClip(image_path).with_duration(1)
|
| 381 |
+
first_video = CompositeVideoClip([video.with_start(1), image_clip])
|
| 382 |
+
input_video = input_video_name+"cover.mp4"
|
| 383 |
+
first_video.write_videofile(input_video, codec="libx264", audio_codec="aac", logger=None)
|
| 384 |
input_audio = extract_audio(input_video)
|
| 385 |
elif type=="youtube":
|
| 386 |
input_video, input_audio = one_youtube(url, api_key)
|
|
|
|
| 401 |
video = VideoFileClip(input_video)
|
| 402 |
audio = AudioFileClip(input_audio)
|
| 403 |
video = video.with_audio(audio)
|
|
|
|
| 404 |
print(video)
|
| 405 |
subtitles = pysrt.open("google_translate.srt", encoding="utf-8")
|
| 406 |
output_video_file = input_video_name + '_subtitled' + ".mp4"
|
| 407 |
subtitle_clips = create_subtitle_clips(subtitles, video.size, 32, 'arial.ttf', 'white', False)
|
| 408 |
+
final_video = CompositeVideoClip([video] + subtitle_clips)
|
| 409 |
final_video.write_videofile(output_video_file, codec="libx264", audio_codec="aac", logger=None)
|
| 410 |
print('final')
|
| 411 |
# Get the current local time
|