Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
|
@@ -167,6 +167,7 @@ import torch
|
|
| 167 |
|
| 168 |
import gradio as gr
|
| 169 |
import yt_dlp as youtube_dl
|
|
|
|
| 170 |
from transformers import pipeline
|
| 171 |
from transformers.pipelines.audio_utils import ffmpeg_read
|
| 172 |
|
|
@@ -206,7 +207,7 @@ def _return_yt_html_embed(yt_url):
|
|
| 206 |
return HTML_str
|
| 207 |
|
| 208 |
def download_yt_audio(yt_url, filename):
|
| 209 |
-
info_loader = youtube_dl.YoutubeDL()
|
| 210 |
|
| 211 |
# try:
|
| 212 |
# info = info_loader.extract_info(yt_url, download=False)
|
|
@@ -228,20 +229,24 @@ def download_yt_audio(yt_url, filename):
|
|
| 228 |
# file_length_hms = time.strftime("%HH:%MM:%SS", time.gmtime(file_length_s))
|
| 229 |
# raise gr.Error(f"Maximum YouTube length is {yt_length_limit_hms}, got {file_length_hms} YouTube video.")
|
| 230 |
|
| 231 |
-
ydl_opts = {"outtmpl": filename, "format": "worstvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best"}
|
| 232 |
|
| 233 |
-
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
|
| 234 |
-
|
| 235 |
-
|
| 236 |
-
|
| 237 |
-
|
|
|
|
|
|
|
|
|
|
| 238 |
|
| 239 |
@spaces.GPU
|
| 240 |
def yt_transcribe(yt_url, task="transcribe", max_filesize=75.0):
|
| 241 |
html_embed_str = _return_yt_html_embed(yt_url)
|
| 242 |
|
| 243 |
with tempfile.TemporaryDirectory() as tmpdirname:
|
| 244 |
-
filepath = os.path.join(tmpdirname, "video.mp4")
|
|
|
|
| 245 |
download_yt_audio(yt_url, filepath)
|
| 246 |
with open(filepath, "rb") as f:
|
| 247 |
inputs = f.read()
|
|
|
|
| 167 |
|
| 168 |
import gradio as gr
|
| 169 |
import yt_dlp as youtube_dl
|
| 170 |
+
import pytube as pt
|
| 171 |
from transformers import pipeline
|
| 172 |
from transformers.pipelines.audio_utils import ffmpeg_read
|
| 173 |
|
|
|
|
| 207 |
return HTML_str
|
| 208 |
|
| 209 |
def download_yt_audio(yt_url, filename):
|
| 210 |
+
# info_loader = youtube_dl.YoutubeDL()
|
| 211 |
|
| 212 |
# try:
|
| 213 |
# info = info_loader.extract_info(yt_url, download=False)
|
|
|
|
| 229 |
# file_length_hms = time.strftime("%HH:%MM:%SS", time.gmtime(file_length_s))
|
| 230 |
# raise gr.Error(f"Maximum YouTube length is {yt_length_limit_hms}, got {file_length_hms} YouTube video.")
|
| 231 |
|
| 232 |
+
# ydl_opts = {"outtmpl": filename, "format": "worstvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best"}
|
| 233 |
|
| 234 |
+
# with youtube_dl.YoutubeDL(ydl_opts) as ydl:
|
| 235 |
+
# try:
|
| 236 |
+
# ydl.download([yt_url])
|
| 237 |
+
# except youtube_dl.utils.ExtractorError as err:
|
| 238 |
+
# raise gr.Error(str(err))
|
| 239 |
+
yt = pt.YouTube(yt_url)
|
| 240 |
+
stream = yt.streams.filter(only_audio=True)[0]
|
| 241 |
+
stream.download(filename=filename)
|
| 242 |
|
| 243 |
@spaces.GPU
|
| 244 |
def yt_transcribe(yt_url, task="transcribe", max_filesize=75.0):
|
| 245 |
html_embed_str = _return_yt_html_embed(yt_url)
|
| 246 |
|
| 247 |
with tempfile.TemporaryDirectory() as tmpdirname:
|
| 248 |
+
# filepath = os.path.join(tmpdirname, "video.mp4")
|
| 249 |
+
filepath = os.path.join(tmpdirname, "audio.mp3")
|
| 250 |
download_yt_audio(yt_url, filepath)
|
| 251 |
with open(filepath, "rb") as f:
|
| 252 |
inputs = f.read()
|