Browse Source

增加 音频随机选择

zhangyong 1 năm trước cách đây
mục cha
commit
3428a87da0
2 tập tin đã thay đổi với 26 bổ sung18 xóa
  1. 2 1
      main.py
  2. 24 17
      video_stitching/video_stitching.py

+ 2 - 1
main.py

@@ -22,4 +22,5 @@ schedule.every().day.at("16:32").do(job_video_stitching)
 
 while True:
     schedule.run_pending()
-    time.sleep(1)
+    time.sleep(1)
+

+ 24 - 17
video_stitching/video_stitching.py

@@ -249,40 +249,47 @@ class VideoStitching():
 
         response = requests.request("GET", url, headers=headers, data=payload)
         data = response.json()
-        code = data["code"]
-        if code == 10:
-            Common.logger().info(
-                f"未登录,请更换cookie,{data}")
-            Feishu.bot('recommend', '管理后台', '管理后台cookie失效,请及时更换~')
-            # 如果返回空信息,则随机睡眠 600, 1200 秒
-            time.sleep(random.randint(600, 1200))
-            cls.video_cookie()
-
-        audio_url = data["content"]["transedVideoPath"]
-        print(audio_url)
-        return audio_url
+        try:
+            code = data["code"]
+            if code == 10:
+                Common.logger().info(
+                    f"未登录,请更换cookie,{data}")
+                Feishu.bot('recommend', '管理后台', '管理后台cookie失效,请及时更换~')
+                # 如果返回空信息,则随机睡眠 600, 1200 秒
+                time.sleep(random.randint(600, 1200))
+                cls.video_cookie()
+
+            audio_url = data["content"]["transedVideoPath"]
+            print(audio_url)
+            return audio_url
+        except Exception as e:
+            Common.logger().warning(f"获取音频视频链接失败:{e}\n")
+            return ""
 
     @classmethod
     def video_stitching(cls, cookie):
         count = 0
         # 获取音频
         audio = Material.get_audio()
-        for i in audio:
+        while True:
             # 获取已入库的用户id
             account_id = cls.get_account_id()
+            audio = random.choice(audio)
             for j in account_id:
                 account = j[0].replace('(', '').replace(')', '').replace(',', '')
                 Common.logger().info(f"获取用户ID:{account}")
                 # 获取 未使用的视频链接
-                url_list = cls.get_url_list(i, account)
+                url_list = cls.get_url_list(audio, account)
                 # 获取音频url
-                audio = cls.get_audio_url(i, cookie)
+                audio = cls.get_audio_url(audio, cookie)
+                if audio == "":
+                    continue
                 Common.logger().info(f"获取音频地址:{audio}")
                 videos = [list(item) for item in url_list]
                 videos = Oss.get_oss_url(videos)
                 # 视频截取
                 try:
-                    audio_url = cls.concatenate_videos(videos, str(audio), i)
+                    audio_url = cls.concatenate_videos(videos, str(audio))
                     if len(audio_url) == 0:
                         Common.logger().info(f"视频生成失败")
                         continue
@@ -298,7 +305,7 @@ class VideoStitching():
                     if status == 200:
                         time.sleep(10)
                         # 发送成功 已使用视频存入数据库
-                        cls.insert_videoAudio(audio_url, i)
+                        cls.insert_videoAudio(audio_url, audio)
                         Common.logger().info(f"发送成功 已使用视频存入数据库完成")
                         if os.path.isfile(output_path):
                             os.remove(output_path)