Spaces:
Sleeping
Sleeping
from os import pipe | |
import re | |
import gradio as gr | |
from functions.punctuation import punctuate | |
from functions.model_infer import predict_from_document | |
from functions.convert_time import match_mask_and_transcript | |
title = "sponsoredBye - never listen to sponsors again" | |
description = "Sponsored sections in videos are annoying and take up a lot of time. Improve your YouTube watching experience, by filling in the youtube url and figure out what segments to skip." | |
article = "Check out [the original Rick and Morty Bot](https://huggingface.co/spaces/kingabzpro/Rick_and_Morty_Bot) that this demo is based off of." | |
def pipeline(video_url): | |
video_id = video_url.split("?v=")[-1] | |
punctuated_text, transcript = punctuate(video_id) | |
sentences = re.split(r"[\.\!\?]\s", punctuated_text) | |
classification, probs = predict_from_document(sentences) | |
# return punctuated_text | |
times, timestamps = match_mask_and_transcript(sentences, transcript, classification) | |
return [{"begin": time[0], "end": time[1]} for time in times] | |
# return [ | |
# { | |
# "start": "12:05", | |
# "end": "12:52", | |
# "classification": str(classification), | |
# "probabilities": probs, | |
# "times": times, | |
# "timestamps": timestamps, | |
# } | |
# ] | |
# print(pipeline("VL5M5ZihJK4")) | |
demo = gr.Interface( | |
fn=pipeline, | |
title=title, | |
description=description, | |
inputs="text", | |
# outputs=gr.Label(num_top_classes=3), | |
outputs="json", | |
# examples=[ | |
# "https://www.youtube.com/watch?v=UjtOGPJ0URM", | |
# "https://www.youtube.com/watch?v=TrZyuCh9df0", | |
# ], | |
) | |
demo.launch(share=True) | |