123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import os
- import time
- import requests
- from PIL import Image
- import threading
- class swap_face():
- def __init__(self, imgurl):
- self.imgurl = imgurl
- def run(self):
- name_hash = str(time.time()).replace('.','')
- src_img = 'FaceSwap/src_img/'+name_hash+'.jpg'
- sv_path = '/var/www/html/swap_save/'+name_hash+'.avi'
- print(name_hash)
-
- try:
- im = Image.open(requests.get(self.imgurl, stream=True).raw)
- im= im.convert("RGB")
- im.save(src_img)
- except:
- return {'msg':'圖片錯誤'}
-
- x = threading.Thread(target=self.runthreadswap, args=(src_img,sv_path))
- x.start()
- time.sleep(20)
- load_time = 0
- while True:
- print('waiting...')
- if os.path.exists(sv_path):
- break
- time.sleep(10)
- load_time+=10
-
- print('waiting...')
- self.notify_group('人物生成成功,在:www.choozmo.com:8168/swap_save/'+name_hash+'.avi')
- return {'msg':'生成中,成果會在line中展示'}
- def runthreadswap(self,src_img,sv_path):
- os.system('python3 FaceSwap/main_video.py --src_img '+src_img+' --video_path ./FaceSwap/b1.mp4 --correct_color --save_path '+sv_path)
-
- def notify_group(self,msg):
- headers = {
- "Authorization": "Bearer " + "WekCRfnAirSiSxALiD6gcm0B56EejsoK89zFbIaiZQD",
- "Content-Type": "application/x-www-form-urlencoded"
- }
- params = {"message": msg}
- r = requests.post("https://notify-api.line.me/api/notify",headers=headers, params=params)
- #print(r)
-
-
|