Spaces:
Running
Running
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
|