127 lines
3.4 KiB
Python
127 lines
3.4 KiB
Python
#!/usr/bin/env python3
|
|
import database
|
|
import youtube_short
|
|
import transcribe_video
|
|
import twitch_chat_vod
|
|
|
|
DB = None
|
|
|
|
def build_chat_video():
|
|
chats = DB.get_unuploaded_chats()
|
|
|
|
for chat in chats:
|
|
(
|
|
id,
|
|
title,
|
|
created_at,
|
|
view_count,
|
|
duration,
|
|
url,
|
|
thumbnail_url,
|
|
game_id,
|
|
game_name,
|
|
stream_id,
|
|
creator_name,
|
|
clip_is,
|
|
downloaded,
|
|
uploaded_yt,
|
|
uploaded_yt_chats,
|
|
uploaded_yt_shorts,
|
|
) = chat
|
|
|
|
print("====================================================")
|
|
print(f"🚀 Chat Video: {title}")
|
|
print("====================================================")
|
|
|
|
twitch_chat_vod.combine_twitch_vod_and_chat(f"download/videos/{id}/{id}.mp4", "side-by-side")
|
|
|
|
print("====================================================")
|
|
print(f"✅ Processing: Chat Video Done.")
|
|
print("====================================================")
|
|
|
|
|
|
def build_transcribe():
|
|
unuploadeds = DB.get_unuploaded()
|
|
|
|
for unuploaded in unuploadeds:
|
|
(
|
|
id,
|
|
title,
|
|
created_at,
|
|
view_count,
|
|
duration,
|
|
url,
|
|
thumbnail_url,
|
|
game_id,
|
|
game_name,
|
|
stream_id,
|
|
creator_name,
|
|
clip_is,
|
|
downloaded,
|
|
uploaded_yt,
|
|
uploaded_yt_chats,
|
|
uploaded_yt_shorts,
|
|
) = unuploaded
|
|
|
|
if clip_is:
|
|
target_dir = f"download/clips"
|
|
else:
|
|
target_dir = f"download/videos"
|
|
|
|
print("====================================================")
|
|
print(f"🚀 Transcribe: {title}")
|
|
print("====================================================")
|
|
|
|
transcribe_video.transcribe_to_srt(f"{target_dir}/{id}/{id}.mp4")
|
|
|
|
print("====================================================")
|
|
print(f"✅ Processing: Transcribing Done.")
|
|
print("====================================================")
|
|
|
|
|
|
def build_shorts():
|
|
shorts = DB.get_unuploaded_shorts()
|
|
|
|
top_txt = "TeamPGP Live on Twitch...\n Every Friday and Sunday @7:30 ET.\n twitch.tv/teampgp"
|
|
|
|
for short in shorts:
|
|
(
|
|
id,
|
|
title,
|
|
created_at,
|
|
view_count,
|
|
duration,
|
|
url,
|
|
thumbnail_url,
|
|
game_id,
|
|
game_name,
|
|
stream_id,
|
|
creator_name,
|
|
clip_is,
|
|
downloaded,
|
|
uploaded_yt,
|
|
uploaded_yt_chats,
|
|
uploaded_yt_shorts,
|
|
) = short
|
|
|
|
target_dir = f"download/clips/{id}/{id}.mp4"
|
|
|
|
print("====================================================")
|
|
print(f"🚀 Processing: Clip to Youtube Short {title}")
|
|
print("====================================================")
|
|
|
|
youtube_short.fit_to_9_16_letterbox(target_dir, top_txt, f"Clipped By: {creator_name}.")
|
|
|
|
print("====================================================")
|
|
print(f"✅ Processing: Clip to Youtube Short Done.")
|
|
print("====================================================")
|
|
|
|
def main():
|
|
global DB
|
|
DB = database.Database()
|
|
build_shorts()
|
|
build_transcribe()
|
|
build_chat_video()
|
|
|
|
if __name__ == "__main__":
|
|
main() |