sponsoredbye / app.py
IanRonk's picture
Add time conversions from outputs
d810840
raw
history blame
1.54 kB
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 = match_mask_and_transcript(sentences, transcript, classification)
return [
{
"start": "12:05",
"end": "12:52",
"classification": str(classification),
"probabilities": probs,
"times": times,
}
]
# 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)