SPACERUNNER99 commited on
Commit
a02cdd0
·
verified ·
1 Parent(s): b0833f9

cover added

Browse files
Files changed (1) hide show
  1. app.py +15 -5
app.py CHANGED
@@ -15,6 +15,7 @@ import instaloader
15
  import time
16
  import concurrent.futures
17
  import re
 
18
  api_key = "268976:66f4f58a2a905"
19
 
20
 
@@ -150,6 +151,12 @@ def yt_download(url):
150
  ys.download()
151
  return video_path, yt.title
152
 
 
 
 
 
 
 
153
  def insta_oneapi(url, api_key):
154
  shortcode = url.split("/")[-2]
155
  print(shortcode)
@@ -170,13 +177,16 @@ def insta_oneapi(url, api_key):
170
  if chunk:
171
  file.write(chunk)
172
  print(f"Downloaded successfully")
173
- return "video.mp4"
 
 
174
  except requests.exceptions.RequestException as e:
175
  print(f"An error occurred: {e}")
176
  else:
177
  print(f"Error: {response.status_code}, {response.text}")
178
  return None
179
-
 
180
  def insta_download(permalink):
181
  # Create an instance of Instaloader
182
  L = instaloader.Instaloader()
@@ -362,7 +372,7 @@ def create_subtitle_clips(subtitles, videosize, fontsize, font, color, debug):
362
  def process_video(url, type):
363
 
364
  if type=="insta":
365
- input_video=insta_oneapi(url, api_key)
366
  input_video_name = input_video.replace(".mp4", "")
367
  input_audio = extract_audio(input_video)
368
  elif type=="youtube":
@@ -370,7 +380,6 @@ def process_video(url, type):
370
  input_video_name = input_video.replace(".mp4", "")
371
  # Get the current local time
372
  t = time.localtime()
373
-
374
  # Format the time as a string
375
  current_time = time.strftime("%H:%M:%S", t)
376
  print("Current Time =", current_time)
@@ -385,11 +394,12 @@ def process_video(url, type):
385
  video = VideoFileClip(input_video)
386
  audio = AudioFileClip(input_audio)
387
  video = video.with_audio(audio)
 
388
  print(video)
389
  subtitles = pysrt.open("google_translate.srt", encoding="utf-8")
390
  output_video_file = input_video_name + '_subtitled' + ".mp4"
391
  subtitle_clips = create_subtitle_clips(subtitles, video.size, 32, 'arial.ttf', 'white', False)
392
- final_video = CompositeVideoClip([video] + subtitle_clips)
393
  final_video.write_videofile(output_video_file, codec="libx264", audio_codec="aac", logger=None)
394
  print('final')
395
  # Get the current local time
 
15
  import time
16
  import concurrent.futures
17
  import re
18
+ from PIL import Image
19
  api_key = "268976:66f4f58a2a905"
20
 
21
 
 
151
  ys.download()
152
  return video_path, yt.title
153
 
154
+ def download_image(url, save_path='downloaded_image.jpg'):
155
+ response = requests.get(url)
156
+ image = Image.open(BytesIO(response.content))
157
+ image.save(save_path)
158
+ return save_path
159
+
160
  def insta_oneapi(url, api_key):
161
  shortcode = url.split("/")[-2]
162
  print(shortcode)
 
177
  if chunk:
178
  file.write(chunk)
179
  print(f"Downloaded successfully")
180
+ image_url = result["result"]['media'][0]["cover"]
181
+ image_file_path = download_image(image_url)
182
+ return "video.mp4", image_file_path
183
  except requests.exceptions.RequestException as e:
184
  print(f"An error occurred: {e}")
185
  else:
186
  print(f"Error: {response.status_code}, {response.text}")
187
  return None
188
+
189
+
190
  def insta_download(permalink):
191
  # Create an instance of Instaloader
192
  L = instaloader.Instaloader()
 
372
  def process_video(url, type):
373
 
374
  if type=="insta":
375
+ input_video, image_path=insta_oneapi(url, api_key)
376
  input_video_name = input_video.replace(".mp4", "")
377
  input_audio = extract_audio(input_video)
378
  elif type=="youtube":
 
380
  input_video_name = input_video.replace(".mp4", "")
381
  # Get the current local time
382
  t = time.localtime()
 
383
  # Format the time as a string
384
  current_time = time.strftime("%H:%M:%S", t)
385
  print("Current Time =", current_time)
 
394
  video = VideoFileClip(input_video)
395
  audio = AudioFileClip(input_audio)
396
  video = video.with_audio(audio)
397
+ image_clip = ImageClip(image_path).set_duration(1)
398
  print(video)
399
  subtitles = pysrt.open("google_translate.srt", encoding="utf-8")
400
  output_video_file = input_video_name + '_subtitled' + ".mp4"
401
  subtitle_clips = create_subtitle_clips(subtitles, video.size, 32, 'arial.ttf', 'white', False)
402
+ final_video = CompositeVideoClip([video.set_start(1), image_clip] + subtitle_clips)
403
  final_video.write_videofile(output_video_file, codec="libx264", audio_codec="aac", logger=None)
404
  print('final')
405
  # Get the current local time