|
@@ -101,7 +101,7 @@ class getVideo:
|
|
else:
|
|
else:
|
|
channel_url = [channel_urls]
|
|
channel_url = [channel_urls]
|
|
for url in channel_url:
|
|
for url in channel_url:
|
|
- Common.logger("log").info(f"{task_mark}下的用户:{channel_url}开始获取视频")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的用户:{channel_url}开始获取视频")
|
|
if channel_id == "抖音":
|
|
if channel_id == "抖音":
|
|
data_list = DY.get_dy_url(task_mark, url, number, mark, feishu_id, cookie_sheet, channel_id, name)
|
|
data_list = DY.get_dy_url(task_mark, url, number, mark, feishu_id, cookie_sheet, channel_id, name)
|
|
elif channel_id == "票圈":
|
|
elif channel_id == "票圈":
|
|
@@ -113,16 +113,16 @@ class getVideo:
|
|
elif channel_id == "快手创作者版":
|
|
elif channel_id == "快手创作者版":
|
|
data_list = KsFeedVideo.get_data(number)
|
|
data_list = KsFeedVideo.get_data(number)
|
|
if len(data_list) == 0:
|
|
if len(data_list) == 0:
|
|
- Common.logger("log").info(f"{task_mark}下的视频ID{url} 已经改造过了")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频ID{url} 已经改造过了")
|
|
Feishu.bot("快手创作者版", '机器自动改造消息通知', f'本轮没有获取到改造的视频链接', "王雪珂")
|
|
Feishu.bot("快手创作者版", '机器自动改造消息通知', f'本轮没有获取到改造的视频链接', "王雪珂")
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
continue
|
|
continue
|
|
if len(data_list) == 0:
|
|
if len(data_list) == 0:
|
|
- Common.logger("log").info(f"{task_mark}下的视频ID{url} 已经改造过了")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频ID{url} 已经改造过了")
|
|
Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务下的用户ID{url},没有已经改造的视频了', name)
|
|
Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务下的用户ID{url},没有已经改造的视频了', name)
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
continue
|
|
continue
|
|
- Common.logger("log").info(f"{task_mark}下的ID{url} 获取视频完成,共{len(data_list)}条")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的ID{url} 获取视频完成,共{len(data_list)}条")
|
|
|
|
|
|
try:
|
|
try:
|
|
for video in data_list:
|
|
for video in data_list:
|
|
@@ -160,12 +160,12 @@ class getVideo:
|
|
new_video_path = PQ.download_video(video_url, video_path_url, v_id) # 下载视频地址
|
|
new_video_path = PQ.download_video(video_url, video_path_url, v_id) # 下载视频地址
|
|
else:
|
|
else:
|
|
new_video_path = Oss.download_video_oss(video_url, video_path_url, v_id) # 下载视频地址
|
|
new_video_path = Oss.download_video_oss(video_url, video_path_url, v_id) # 下载视频地址
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},{new_video_path}视频下载成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},{new_video_path}视频下载成功")
|
|
if not os.path.isfile(new_video_path):
|
|
if not os.path.isfile(new_video_path):
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},{new_video_path}视频下载失败")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},{new_video_path}视频下载失败")
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
continue
|
|
continue
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},{new_video_path}视频下载成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},{new_video_path}视频下载成功")
|
|
if crop_total and crop_total != 'None': # 判断是否需要裁剪
|
|
if crop_total and crop_total != 'None': # 判断是否需要裁剪
|
|
new_video_path = FFmpeg.video_crop(new_video_path, video_path_url, pw_random_id)
|
|
new_video_path = FFmpeg.video_crop(new_video_path, video_path_url, pw_random_id)
|
|
if gg_duration_total and gg_duration_total != 'None': # 判断是否需要指定视频时长
|
|
if gg_duration_total and gg_duration_total != 'None': # 判断是否需要指定视频时长
|
|
@@ -186,19 +186,19 @@ class getVideo:
|
|
pw_srt_text = GPT4o.get_ai_pw(old_title)
|
|
pw_srt_text = GPT4o.get_ai_pw(old_title)
|
|
if pw_srt_text:
|
|
if pw_srt_text:
|
|
pw_url = TTS.get_pw_zm(pw_srt_text)
|
|
pw_url = TTS.get_pw_zm(pw_srt_text)
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取AI片尾音频成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取AI片尾音频成功")
|
|
if pw_url:
|
|
if pw_url:
|
|
pw_mp3_path = TTS.download_mp3(pw_url, video_path_url, pw_random_id)
|
|
pw_mp3_path = TTS.download_mp3(pw_url, video_path_url, pw_random_id)
|
|
pw_url_sec = FFmpeg.get_video_duration(pw_mp3_path) # 获取片尾秒数
|
|
pw_url_sec = FFmpeg.get_video_duration(pw_mp3_path) # 获取片尾秒数
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取AI片尾秒数成功{pw_url_sec}")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取AI片尾秒数成功{pw_url_sec}")
|
|
pw_srt = TTS.getSrt(pw_url)
|
|
pw_srt = TTS.getSrt(pw_url)
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取AI片尾srt成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取AI片尾srt成功")
|
|
else:
|
|
else:
|
|
Feishu.bot(mark, 'TTS获取失败提示', f'无法获取到片尾音频,及时更换token', "张勇")
|
|
Feishu.bot(mark, 'TTS获取失败提示', f'无法获取到片尾音频,及时更换token', "张勇")
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取AI片尾失败")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取AI片尾失败")
|
|
continue
|
|
continue
|
|
else:
|
|
else:
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取AI片尾失败")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取AI片尾失败")
|
|
continue
|
|
continue
|
|
else:
|
|
else:
|
|
if ',' in video_ending:
|
|
if ',' in video_ending:
|
|
@@ -217,7 +217,7 @@ class getVideo:
|
|
for attempt in range(3):
|
|
for attempt in range(3):
|
|
jpg_path = FFmpeg.video_png(new_video_path, video_path_url, pw_random_id) # 生成视频最后一帧jpg
|
|
jpg_path = FFmpeg.video_png(new_video_path, video_path_url, pw_random_id) # 生成视频最后一帧jpg
|
|
if os.path.isfile(jpg_path):
|
|
if os.path.isfile(jpg_path):
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},生成视频最后一帧成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},生成视频最后一帧成功")
|
|
break
|
|
break
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
if not os.path.isfile(jpg_path):
|
|
if not os.path.isfile(jpg_path):
|
|
@@ -225,7 +225,7 @@ class getVideo:
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
continue
|
|
continue
|
|
for attempt in range(3):
|
|
for attempt in range(3):
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},获取mp3成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},获取mp3成功")
|
|
pw_path = FFmpeg.pw_video(jpg_path, video_path_url, pw_mp3_path, pw_srt, pw_random_id, pw_mp3_path) # 生成片尾视频
|
|
pw_path = FFmpeg.pw_video(jpg_path, video_path_url, pw_mp3_path, pw_srt, pw_random_id, pw_mp3_path) # 生成片尾视频
|
|
if os.path.isfile(pw_path):
|
|
if os.path.isfile(pw_path):
|
|
Common.logger("log").info(f"{task_mark}下的视频{url},生成片尾视频成功")
|
|
Common.logger("log").info(f"{task_mark}下的视频{url},生成片尾视频成功")
|
|
@@ -239,7 +239,7 @@ class getVideo:
|
|
pw_video_list = [new_video_path, pw_path]
|
|
pw_video_list = [new_video_path, pw_path]
|
|
Common.logger("log").info(f"{task_mark}下的视频{url},视频与片尾开始拼接")
|
|
Common.logger("log").info(f"{task_mark}下的视频{url},视频与片尾开始拼接")
|
|
video_path = FFmpeg.concatenate_videos(pw_video_list, video_path_url) # 视频与片尾拼接到一起
|
|
video_path = FFmpeg.concatenate_videos(pw_video_list, video_path_url) # 视频与片尾拼接到一起
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},视频与片尾拼接成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},视频与片尾拼接成功")
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
if video_share and video_share != 'None':
|
|
if video_share and video_share != 'None':
|
|
new_video_path = FFmpeg.single_video(video_path, video_path_url, zm)
|
|
new_video_path = FFmpeg.single_video(video_path, video_path_url, zm)
|
|
@@ -250,9 +250,9 @@ class getVideo:
|
|
new_video_path = FFmpeg.single_video(new_video_path, video_path_url, zm)
|
|
new_video_path = FFmpeg.single_video(new_video_path, video_path_url, zm)
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
oss_id = cls.random_id()
|
|
oss_id = cls.random_id()
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},开始发送oss")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},开始发送oss")
|
|
oss_object_key = Oss.stitching_sync_upload_oss(new_video_path, oss_id) # 视频发送OSS
|
|
oss_object_key = Oss.stitching_sync_upload_oss(new_video_path, oss_id) # 视频发送OSS
|
|
- Common.logger("log").info(f"{task_mark}下的视频{url},发送oss成功{oss_object_key}")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频{url},发送oss成功{oss_object_key}")
|
|
status = oss_object_key.get("status")
|
|
status = oss_object_key.get("status")
|
|
if status == 200:
|
|
if status == 200:
|
|
oss_object_key = oss_object_key.get("oss_object_key")
|
|
oss_object_key = oss_object_key.get("oss_object_key")
|
|
@@ -269,7 +269,7 @@ class getVideo:
|
|
jpg = None
|
|
jpg = None
|
|
code = PQ.insert_piaoquantv(oss_object_key, new_title, jpg, piaoquan_id)
|
|
code = PQ.insert_piaoquantv(oss_object_key, new_title, jpg, piaoquan_id)
|
|
if code:
|
|
if code:
|
|
- Common.logger("log").info(f"{task_mark}下的视频ID{v_id}发送成功")
|
|
|
|
|
|
+ Common.logger("log").info(f"{name}的{task_mark}下的视频ID{v_id}发送成功")
|
|
sqlCollect.insert_task(task_mark, v_id, mark, channel_id) # 插入数据库
|
|
sqlCollect.insert_task(task_mark, v_id, mark, channel_id) # 插入数据库
|
|
current_time = datetime.now()
|
|
current_time = datetime.now()
|
|
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
|
|
@@ -306,11 +306,11 @@ class getVideo:
|
|
time.sleep(0.5)
|
|
time.sleep(0.5)
|
|
Feishu.update_values("ILb4sa0LahddRktnRipcu2vQnLb", sheet, "A2:Z2", values)
|
|
Feishu.update_values("ILb4sa0LahddRktnRipcu2vQnLb", sheet, "A2:Z2", values)
|
|
else:
|
|
else:
|
|
- Common.logger("warning").info(f"{task_mark}下的{url}视频{v_id} 视频发送票圈失败 {code}")
|
|
|
|
|
|
+ Common.logger("warning").info(f"{name}的{task_mark}下的{url}视频{v_id} 视频发送票圈失败 {code}")
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
else:
|
|
else:
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|
|
- Common.logger("warning").info(f"{task_mark}下的{url}视频{v_id} 视频发送OSS失败 ")
|
|
|
|
|
|
+ Common.logger("warning").info(f"{name}的{task_mark}下的{url}视频{v_id} 视频发送OSS失败 ")
|
|
Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务改造完成,请关注', name)
|
|
Feishu.bot(mark, '机器自动改造消息通知', f'{task_mark}任务改造完成,请关注', name)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
cls.remove_files(video_path_url)
|
|
cls.remove_files(video_path_url)
|