ming преди 3 години
родител
ревизия
4c4102e3e3
променени са 2 файла, в които са добавени 6 реда и са изтрити 173 реда
  1. 1 1
      index2.html
  2. 5 172
      main.py

+ 1 - 1
index2.html

@@ -104,7 +104,7 @@
       </script>
 
 <div id="myProgress">
-<div id="myBar">10%</div>
+<div id="myBar">100%</div>
 </div>
 
 </body>

+ 5 - 172
main.py

@@ -115,11 +115,11 @@ async def progress_page():
 
 @app.post("/make_anchor_video_v2")
 async def make_anchor_video_v2(req:request2):
-    x = threading.Thread(target=anchor_video_v3, args=(req.name, req.text_content, req.image_urls))
+    x = threading.Thread(target=anchor_video_v2, args=(req.name, req.text_content, req.image_urls))
     x.start()
-    return RedirectResponse("https://www.choozmo.com/progress_page")
+    #return RedirectResponse("https://www.choozmo.com/progress_page")
     #return {"https://www.choozmo.com:8888/progress_page"}
-    #return {"msg":"製作影片需要時間,請您耐心等候  稍後可以在www.choozmo.com:8168/"+req.name+".mp4 中觀看"} 
+    return {"msg":"製作影片需要時間,請您耐心等候  稍後可以在www.choozmo.com:8168/"+req.name+".mp4 中觀看"} 
 
 @app.websocket("/progress")
 async def websocket_endpoint(websocket: WebSocket):
@@ -424,178 +424,11 @@ def generate_subtitle_image(name_hash,text_content):
     return img_list
 
 
-def anchor_video_v2(name,text_content, image_urls):
-    #ws = create_connection("ws://www.choozmo.com/progress")
-    progress = 0
-    m = hashlib.md5()
-    m.update(name.encode("utf-8"))
-    name_hash = m.hexdigest()
-    
-    print('sub image made')
-    file_prepare_v2(name, name_hash, text_content,image_urls)
-    progress = 10
-    #ws.send(str(progress))
-    sub_list=generate_subtitle_image(name_hash,text_content)
-    progress = 20
-    #ws.send(str(progress))
-    
-    progress_per_video = int(40/len(text_content))
-    for fname in range(len(text_content)):
-        call_achor_video_v2(name_hash+"/"+str(fname))
-        progress += progress_per_video
-        #ws.send(str(progress))
-        print('step finish')
-    print('called............................................')
 
-    ck=cKey(0,254,0,150)
-    ck_anchor=cKey(0,255,1,320)
-    duration = 0
-    #average layer level is 3
-    t = openshot.Timeline(1280, 720, openshot.Fraction(30000, 1000), 44100, 2, openshot.LAYOUT_STEREO)
-    t.Open()
 
-    main_timer = 0
-    
-    LOGO_OP = openshot.FFmpegReader(dir_video+"LOGO_OP.mp4")
-    LOGO_OP.Open()         # Open the reader
-    LOGO_OP_clip = video_photo_clip(vid=LOGO_OP,layer=4,position=0,end=LOGO_OP.info.duration
-                    ,location_y=-0.03,scale_x=0.8,scale_y=0.71)
-    t.AddClip(LOGO_OP_clip)
-    bg_head = openshot.FFmpegReader(dir_video+"bg_head.avi")
-    bg_head.Open()
-    bg_head_clip = video_photo_clip(vid=bg_head,layer=2,position=0,end=LOGO_OP.info.duration,ck=ck)
-    t.AddClip(bg_head_clip)
-    main_timer += LOGO_OP.info.duration
-    head_duration = LOGO_OP.info.duration
-    bg_head.Close()
-    LOGO_OP.Close()
-    progress += 10
-    
 
-    
-    clip_duration=0
-    photo_clip_list = [None]*len(text_content)
-    img_list = [None]*len(text_content)
-    anchor_clip_list = [None] * len(text_content)
-    anchor_list = [None] * len(text_content)
-    audio_clip_list = [None] * len(text_content)
-    audio_list = [None] * len(text_content)
-    sub_clip_list = [None] * len(text_content)
-    sub_img_list = [None] * len(text_content)
-    
-    idx = 0
-    for p in listdir(dir_photo+name_hash):
-        
-        anchor_list[idx] = openshot.FFmpegReader(dir_anchor+name_hash+"/"+str(idx)+".mp4")
-        clip_duration = anchor_list[idx].info.duration
-        anchor_list[idx].Open()
-        anchor_clip_list[idx] = video_photo_clip(vid=anchor_list[idx],layer=4,scale_x=0.65,scale_y=0.65,
-                location_x=0.35,location_y=0.25,position=main_timer, end=clip_duration,ck=ck_anchor,audio=False)
-        t.AddClip(anchor_clip_list[idx])
 
-        img_list[idx] = openshot.FFmpegReader(dir_photo+name_hash+'/'+p)
-        img_list[idx].Open()
-        photo_clip_list[idx] = video_photo_clip(vid=img_list[idx],layer=3
-                ,scale_x=0.81,scale_y=0.68,location_y=-0.03,position=main_timer,end=clip_duration,audio=False)
-        t.AddClip(photo_clip_list[idx])
-        img_list[idx].Close()
-
-        audio_list[idx] = openshot.FFmpegReader(dir_sound+name_hash+"/"+str(idx)+".mp3")
-        audio_list[idx].Open()
-        audio_clip_list[idx] = openshot.Clip(audio_list[idx])
-        audio_clip_list[idx].Position(main_timer)
-        audio_clip_list[idx].End(clip_duration)
-        t.AddClip(audio_clip_list[idx])
-
-        img_list[idx].Close()
-        anchor_list[idx].Close()
-        audio_list[idx].Close()
-
-     
-            
-        sub_img_list[idx] = [None] * len(sub_list[idx])
-        sub_clip_list[idx] = [None] * len(sub_list[idx])
-        sub_timer = 0
-        for sub_idx in range(len(sub_list[idx])):
-            sub_img_list[idx][sub_idx] = openshot.QtImageReader(sub_list[idx][sub_idx]['path'])
-            sub_img_list[idx][sub_idx].Open()
-            sub_duration = 0.205*sub_list[idx][sub_idx]['count']
-            sub_clip_list[idx][sub_idx] = video_photo_clip(vid=sub_img_list[idx][sub_idx], layer=6,location_x=0.069, location_y=0.89,position=main_timer+sub_timer,end=sub_duration)
-            t.AddClip(sub_clip_list[idx][sub_idx])
-            sub_img_list[idx][sub_idx].Close()
-            sub_timer += sub_duration
-            print(sub_list[idx][sub_idx]['path'])
-
-        main_timer += clip_duration
-        idx+=1
-
-    progress+=10
-    #ws.send(str(progress))
-    
-    LOGO_ED = openshot.FFmpegReader(dir_video+"LOGO_ED.avi")
-    LOGO_ED.Open()
-    LOGO_ED_clip = video_photo_clip(vid=LOGO_ED,layer=4,position=main_timer,end=LOGO_ED.info.duration
-                    ,location_y=-0.03,scale_x=0.8,scale_y=0.71)
-    t.AddClip(LOGO_ED_clip)
-    ED_duration = LOGO_ED.info.duration
-    LOGO_ED.Close()
-    
-
-    bg = openshot.FFmpegReader(dir_video+"bg.mp4")
-    bg.Open()
-    bg_times = math.floor(main_timer+ED_duration/bg.info.duration)
-    left_time = (main_timer+ED_duration) % bg.info.duration
-    bg_clip_list = [None] * bg_times
-    bg_list = [None] * bg_times
-    bg.Close()
-    bg_timer = head_duration
-    for idx in range(bg_times):
-        bg_list[idx] = openshot.FFmpegReader(dir_video+"bg.mp4")
-        bg_list[idx].Open()
-        bg_clip_list[idx] = video_photo_clip(bg_list[idx],layer=2,position=bg_timer
-                ,end=bg_list[idx].info.duration,ck=ck)
-        t.AddClip(bg_clip_list[idx])
-        bg_timer += bg_list[idx].info.duration
-        bg_list[idx].Close()
-    bg_left = openshot.FFmpegReader(dir_video+"bg.mp4")
-    bg_left.Open()
-    bg_left_clip = video_photo_clip(bg_left,layer=2,position=bg_timer,end=left_time,ck=ck)
-    t.AddClip(bg_left_clip)
-    bg_left.Close()
-
-    title = openshot.QtImageReader(dir_title+name_hash+".png")
-    title.Open()         # Open the reader
-    title_clip = video_photo_clip(vid=title, layer=4,location_x=-0.047, location_y=0.801,position=0,end=head_duration+main_timer)
-    t.AddClip(title_clip)
-
-    ####start building
-    w = openshot.FFmpegWriter("../html/"+name_hash+".mp4")
-    w.SetAudioOptions(True, "aac", 44100, 2, openshot.LAYOUT_STEREO, 3000000)
-    w.SetVideoOptions(True, "libx264", openshot.Fraction(30000, 1000), 1280, 720,
-        openshot.Fraction(1, 1), False, False, 3000000)
-    w.Open()
-
-    #may change duration into t.info.duration
-    for n in range(int(t.info.fps)*int(head_duration+main_timer+ED_duration)):
-        f=t.GetFrame(n)
-        w.WriteFrame(f)
-
-    t.Close()
-    w.Close()
-    print("Raw Video done")
-    print("video at : www.choozmo.com:8168/"+name_hash+".mp4")
-    progress = 100
-    #ws.send(str(progress))
-    #line notifs
-    notify_group(name+"的影片已經產生完成囉! www.choozmo.com:8168/"+name_hash+".mp4")
-
-
-
-
-
-
-
-def anchor_video_v3(name,text_content, image_urls):
+def anchor_video_v2(name,text_content, image_urls):
     ws = create_connection("ws://www.choozmo.com:8888/progress")
     progress = 0
     m = hashlib.md5()
@@ -759,4 +592,4 @@ def anchor_video_v3(name,text_content, image_urls):
     ws.send(str(progress))
     ws.close()
     #line notifs
-    #notify_group(name+"的影片已經產生完成囉! www.choozmo.com:8168/"+name_hash+".mp4")
+    notify_group(name+"的影片已經產生完成囉! www.choozmo.com:8168/"+name_hash+".mp4")