Adjoumani commited on
Commit
c345e9b
·
verified ·
1 Parent(s): 956d052

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -1
app.py CHANGED
@@ -392,6 +392,7 @@ class AudioProcessor:
392
  class VideoProcessor:
393
  def __init__(self):
394
  self.supported_formats = ['.mp4', '.avi', '.mov', '.mkv']
 
395
  self.ydl_opts = {
396
  'format': 'bestaudio/best',
397
  'postprocessors': [{
@@ -403,7 +404,15 @@ class VideoProcessor:
403
  }
404
 
405
 
 
 
 
 
 
 
 
406
 
 
407
  def extract_video_id(self, url: str) -> str:
408
  try:
409
  parsed_url = urlparse(url)
@@ -427,7 +436,7 @@ class VideoProcessor:
427
  ydl.download([url])
428
  return 'temp_audio.mp3' """
429
 
430
- def download_youtube_audio(self, url: str) -> str:
431
  try:
432
  # Fichier cookies
433
  cookie_file_path = "cookies.txt"
@@ -453,6 +462,25 @@ class VideoProcessor:
453
  if not os.path.exists(audio_path):
454
  raise FileNotFoundError(f"Le fichier {audio_path} n'a pas été généré.")
455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  return audio_path
457
  except Exception as e:
458
  raise RuntimeError(f"Erreur lors du téléchargement : {str(e)}")
@@ -843,6 +871,7 @@ def handle_youtube_input():
843
  if transcription:
844
  process_and_display_results(None, None, transcription)
845
  else:
 
846
  audio_path = video_processor.download_youtube_audio(youtube_url)
847
  process_and_display_results(audio_path)
848
 
 
392
  class VideoProcessor:
393
  def __init__(self):
394
  self.supported_formats = ['.mp4', '.avi', '.mov', '.mkv']
395
+ self.cookie_file_path = "cookies.txt" # Chemin du fichier cookies
396
  self.ydl_opts = {
397
  'format': 'bestaudio/best',
398
  'postprocessors': [{
 
404
  }
405
 
406
 
407
+ def load_cookies(self):
408
+ """Charge les cookies depuis Hugging Face et les enregistre localement."""
409
+ dataset = load_dataset("Adjoumani/YoutubeCookiesDataset")
410
+ cookies = dataset["train"]["cookies"][0]
411
+ with open(self.cookie_file_path, "w") as f:
412
+ f.write(cookies)
413
+ print(f"Cookies enregistrés dans {self.cookie_file_path}")
414
 
415
+
416
  def extract_video_id(self, url: str) -> str:
417
  try:
418
  parsed_url = urlparse(url)
 
436
  ydl.download([url])
437
  return 'temp_audio.mp3' """
438
 
439
+ """def download_youtube_audio(self, url: str) -> str:
440
  try:
441
  # Fichier cookies
442
  cookie_file_path = "cookies.txt"
 
462
  if not os.path.exists(audio_path):
463
  raise FileNotFoundError(f"Le fichier {audio_path} n'a pas été généré.")
464
 
465
+ return audio_path
466
+ except Exception as e:
467
+ raise RuntimeError(f"Erreur lors du téléchargement : {str(e)}")"""
468
+
469
+ def download_youtube_audio(self, url: str) -> str:
470
+ try:
471
+ # Ajoutez le fichier cookies dans les options
472
+ ydl_opts = self.ydl_opts.copy()
473
+ ydl_opts['cookiefile'] = self.cookie_file_path
474
+
475
+ # Téléchargement
476
+ with yt_dlp.YoutubeDL(ydl_opts) as ydl:
477
+ ydl.download([url])
478
+
479
+ # Vérifier si le fichier audio existe
480
+ audio_path = 'temp_audio.mp3'
481
+ if not os.path.exists(audio_path):
482
+ raise FileNotFoundError(f"Le fichier {audio_path} n'a pas été généré.")
483
+
484
  return audio_path
485
  except Exception as e:
486
  raise RuntimeError(f"Erreur lors du téléchargement : {str(e)}")
 
871
  if transcription:
872
  process_and_display_results(None, None, transcription)
873
  else:
874
+ video_processor.load_cookies()
875
  audio_path = video_processor.download_youtube_audio(youtube_url)
876
  process_and_display_results(audio_path)
877