Quellcode durchsuchen

增加生成片尾视频次数 防止失败

zhangyong vor 11 Monaten
Ursprung
Commit
8e6da36bfe
3 geänderte Dateien mit 58 neuen und 29 gelöschten Zeilen
  1. 11 15
      common/ffmpeg.py
  2. 33 0
      common/piaoquan_utils.py
  3. 14 14
      video_job.py

+ 11 - 15
common/ffmpeg.py

@@ -86,30 +86,26 @@ class FFmpeg():
      截取原视频最后一帧
      截取原视频最后一帧
     """
     """
     @classmethod
     @classmethod
-    def video_png(cls, new_video_path, video_path_url):
+    def video_png(cls, new_video_path, video_path_url, pw_random_id):
         """
         """
         jpg_url 生成图片位置
         jpg_url 生成图片位置
         :param new_video_path: 视频地址
         :param new_video_path: 视频地址
         :return:
         :return:
         """
         """
-        try:
-            jpg_url = video_path_url + 'png.jpg'
-            # 获取视频时长
-            total_duration = cls.get_video_duration(new_video_path)
-            time_offset = total_duration - 1  # 提取倒数第一秒的帧
-            # 获取视频最后一秒,生成.jpg
-            subprocess.run(
-                ['ffmpeg', '-ss', str(time_offset), '-i', new_video_path, '-t', str(total_duration), '-vf', 'fps=1', "-y", jpg_url])
-            return jpg_url
-
-        except Exception as e:
-            return None
+        jpg_url = video_path_url + str(pw_random_id) + 'png.jpg'
+        # 获取视频时长
+        total_duration = cls.get_video_duration(new_video_path)
+        time_offset = total_duration - 1  # 提取倒数第一秒的帧
+        # 获取视频最后一秒,生成.jpg
+        subprocess.run(
+            ['ffmpeg', '-ss', str(time_offset), '-i', new_video_path, '-t', str(total_duration), '-vf', 'fps=1', "-y", jpg_url])
+        return jpg_url
 
 
     """
     """
      生成片尾视频
      生成片尾视频
     """
     """
     @classmethod
     @classmethod
-    def pw_video(cls, jpg_url, video_path_url, pw_url, pw_srt):
+    def pw_video(cls, jpg_url, video_path_url, pw_url, pw_srt, pw_random_id):
         # 添加音频到图片
         # 添加音频到图片
         """
         """
         jpg_url 图片地址
         jpg_url 图片地址
@@ -120,7 +116,7 @@ class FFmpeg():
         pw_url 生成视频地址
         pw_url 生成视频地址
         :return:
         :return:
         """
         """
-        pw_srt_path = video_path_url + 'pw_video.srt'
+        pw_srt_path = video_path_url + str(pw_random_id) +'pw_video.srt'
         # 创建临时字幕文件
         # 创建临时字幕文件
         with open(pw_srt_path, 'w') as f:
         with open(pw_srt_path, 'w') as f:
             f.write(pw_srt)
             f.write(pw_srt)

+ 33 - 0
common/piaoquan_utils.py

@@ -10,6 +10,39 @@ from common.sql_help import sqlCollect
 
 
 class PQ:
 class PQ:
 
 
+    """
+    获取视频链接
+    """
+    @classmethod
+    def get_pw_url(cls, user_id):
+        url = f"https://admin.piaoquantv.com/manager/video/detail/{user_id}"
+        payload = {}
+        headers = {
+            'authority': 'admin.piaoquantv.com',
+            'accept': 'application/json, text/plain, */*',
+            'accept-language': 'zh-CN,zh;q=0.9',
+            'cache-control': 'no-cache',
+            'cookie': 'SESSION=YjU3MzgwNTMtM2QyYi00YjljLWI3YWUtZTBjNWYwMGQzYWNl',
+            'pragma': 'no-cache',
+            'referer': f'https://admin.piaoquantv.com/cms/post-detail/{user_id}/detail',
+            'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
+            'sec-ch-ua-mobile': '?0',
+            'sec-ch-ua-platform': '"macOS"',
+            'sec-fetch-dest': 'empty',
+            'sec-fetch-mode': 'cors',
+            'sec-fetch-site': 'same-origin',
+            'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
+        }
+
+        response = requests.request("GET", url, headers=headers, data=payload)
+        data = response.json()
+        try:
+            video_url = data["content"]["transedVideoPath"]
+            return video_url
+        except Exception as e:
+            Common.logger("video").warning(f"获取视频链接失败:{e}\n")
+            return ""
+
     """
     """
      获取视频链接
      获取视频链接
     """
     """

+ 14 - 14
video_job.py

@@ -71,19 +71,19 @@ def usernames_today():
     print("today 已清空")
     print("today 已清空")
 
 
 
 
-video_start()
-
-#
-# # 定时任务设置
-# schedule.every().day.at("01:00").do(usernames_today)
-#
-#
-# schedule.every(12).hours.do(video_start)
-#
-#
-#
-# while True:
-#     schedule.run_pending()
-#     time.sleep(1)
+# video_start()
+
+
+# 定时任务设置
+schedule.every().day.at("01:00").do(usernames_today)
+
+
+schedule.every(12).hours.do(video_start)
+
+
+
+while True:
+    schedule.run_pending()
+    time.sleep(1)