|
@@ -95,6 +95,9 @@ class getVideo:
|
|
|
task_id = video_id.split(',')
|
|
|
count = 0 # 初始化计数器
|
|
|
for id in task_id:
|
|
|
+ pw_list, zm_list = Material.get_pwsrt_data(feishu_id, pw_sheet) # 获取srt
|
|
|
+ zm = random.choice(zm_list) # 随机选择 视频中字幕
|
|
|
+ pws = random.choice(pw_list) # 随机选择 片尾srt+音频
|
|
|
Common.logger("log").info(f"{task_mark}下的ID{id} 开始获取视频")
|
|
|
time.sleep(1)
|
|
|
if old_id and old_id != 'None':
|
|
@@ -104,7 +107,7 @@ class getVideo:
|
|
|
|
|
|
if len(data_list) == 0:
|
|
|
Common.logger("log").info(f"{task_mark}下的视频ID{id} 已经改造过了")
|
|
|
- Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务下的视频ID{id},没有已经改造的视频了', name)
|
|
|
+ Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务下的用户ID{id},没有已经改造的视频了', name)
|
|
|
cls.remove_files(video_path_url)
|
|
|
continue
|
|
|
Common.logger("log").info(f"{task_mark}下的ID{id} 获取视频完成,共{len(data_list)}条")
|
|
@@ -119,22 +122,38 @@ class getVideo:
|
|
|
Common.logger("log").info(f"{task_mark}下的视频ID{id},{new_video_path}视频下载失败")
|
|
|
cls.remove_files(video_path_url)
|
|
|
continue
|
|
|
- pw_list, zm_list = Material.get_pwsrt_data(feishu_id, pw_sheet) # 获取srt
|
|
|
- pws = random.choice(pw_list) # 随机选择 片尾srt+音频
|
|
|
- zm = random.choice(zm_list) # 随机选择 视频中字幕
|
|
|
+
|
|
|
if video_ending and video_ending != 'None':
|
|
|
pw_id = pws["pw_id"]
|
|
|
pw_srt = pws["pw_srt"]
|
|
|
- pw_url = PQ.get_audio_url(task_mark, pw_id, title, mark)
|
|
|
- jpg_path = FFmpeg.video_png(new_video_path, video_path_url) # 生成视频最后一帧jpg
|
|
|
- time.sleep(1)
|
|
|
- pw_path = FFmpeg.pw_video(jpg_path, video_path_url, pw_url[0]["video_url"], pw_srt) # 生成片尾视频
|
|
|
+ pw_url = PQ.get_pw_url(pw_id)
|
|
|
+ pw_random_id = cls.random_id()
|
|
|
+ jpg_path = None
|
|
|
+ pw_path = None
|
|
|
+ for attempt in range(3):
|
|
|
+ jpg_path = FFmpeg.video_png(new_video_path, video_path_url, pw_random_id) # 生成视频最后一帧jpg
|
|
|
+ if os.path.isfile(jpg_path):
|
|
|
+ Common.logger("log").info(f"{task_mark}下的视频ID{id},生成视频最后一帧成功")
|
|
|
+ break
|
|
|
+ time.sleep(1)
|
|
|
+ if not os.path.isfile(jpg_path):
|
|
|
+ Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务用户ID{id}下的视频{v_id},获取视频最后一帧失败,请关注', name)
|
|
|
+ cls.remove_files(video_path_url)
|
|
|
+ continue
|
|
|
+ for attempt in range(3):
|
|
|
+ pw_path = FFmpeg.pw_video(jpg_path, video_path_url, pw_url, pw_srt, pw_random_id) # 生成片尾视频
|
|
|
+ if os.path.isfile(pw_path):
|
|
|
+ Common.logger("log").info(f"{task_mark}下的视频ID{id},生成片尾视频成功")
|
|
|
+ break
|
|
|
+ time.sleep(1)
|
|
|
+ if not os.path.isfile(pw_path):
|
|
|
+ Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务用户ID{id}下的视频{v_id},生成片尾视频失败,请关注',
|
|
|
+ name)
|
|
|
+ cls.remove_files(video_path_url)
|
|
|
+ continue
|
|
|
+ pw_video_list = [new_video_path, pw_path]
|
|
|
+ video_path = FFmpeg.concatenate_videos(pw_video_list, video_path_url) # 视频与片尾拼接到一起
|
|
|
time.sleep(1)
|
|
|
-
|
|
|
- video_list = [new_video_path, pw_path]
|
|
|
- video_path = FFmpeg.concatenate_videos(video_list, video_path_url) # 视频与片尾拼接到一起
|
|
|
- time.sleep(1)
|
|
|
-
|
|
|
if video_share and video_share != 'None':
|
|
|
new_video_path = FFmpeg.single_video(video_path, video_share, video_path_url, zm)
|
|
|
else:
|