Og2 commited on
Commit
f307ca2
·
verified ·
1 Parent(s): 62b2f56

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -21
app.py CHANGED
@@ -576,41 +576,35 @@ async def extract_and_store_frames(file_name: str = Form(...)):
576
  raise HTTPException(status_code=500, detail=f"Erreur lors de l'extraction des frames : {str(e)}")
577
 
578
 
579
- STEP=240
 
 
 
580
  @app.get("/get-video-frames/")
581
  async def get_video_frames(file_name: str, frame_id: int) -> dict:
582
  try:
583
  frames = []
584
  csv_filename = Path(file_name).stem + ".csv"
585
- csv_url = f"https://huggingface.co/datasets/{DATASET_REPO}/resolve/main/csv/{csv_filename}"
586
- headers = {"Authorization": f"Bearer {HF_TOKEN}"}
587
-
588
- # Récupérer la liste des fichiers dans le dossier frames/{file_name}/
589
- dataset_url = f"https://huggingface.co/api/datasets/{DATASET_REPO}/tree/main/frames/{Path(file_name).stem}/"
590
- file_list_response = requests.get(dataset_url, headers=headers)
591
- available_frames = set()
592
-
593
- if file_list_response.status_code == 200:
594
- file_list = file_list_response.json()
595
- available_frames = {file["path"] for file in file_list}
596
 
597
  # Charger le CSV des annotations si disponible
598
- csv_response = requests.get(csv_url, headers=headers)
599
  df_annotations = None
600
-
 
601
  if csv_response.status_code == 200:
602
  csv_bytes = io.BytesIO(csv_response.content)
603
  df_annotations = pd.read_csv(csv_bytes)
604
-
605
  for i in range(frame_id, frame_id + STEP):
606
- frame_filename = f"frames/{Path(file_name).stem}/{Path(file_name).stem}_{i}.png"
607
- print(frame_filename)
608
- if frame_filename not in available_frames:
 
 
 
609
  continue
610
-
611
- image_url = f"https://huggingface.co/datasets/{DATASET_REPO}/resolve/main/{frame_filename}"
612
- class_label, player = None, None
613
 
 
614
  if df_annotations is not None and i in df_annotations["frame"].values:
615
  row = df_annotations[df_annotations["frame"] == i].iloc[0]
616
  class_label, player = row.get("class", None), row.get("player", None)
 
576
  raise HTTPException(status_code=500, detail=f"Erreur lors de l'extraction des frames : {str(e)}")
577
 
578
 
579
+ STEP = 240
580
+ GITHUB_REPO = "Og31330/FA_Dataset"
581
+ GITHUB_BASE_URL = f"https://raw.githubusercontent.com/{GITHUB_REPO}/main/"
582
+
583
  @app.get("/get-video-frames/")
584
  async def get_video_frames(file_name: str, frame_id: int) -> dict:
585
  try:
586
  frames = []
587
  csv_filename = Path(file_name).stem + ".csv"
588
+ csv_url = f"{GITHUB_BASE_URL}/csv/{csv_filename}"
 
 
 
 
 
 
 
 
 
 
589
 
590
  # Charger le CSV des annotations si disponible
 
591
  df_annotations = None
592
+ csv_response = requests.get(csv_url)
593
+
594
  if csv_response.status_code == 200:
595
  csv_bytes = io.BytesIO(csv_response.content)
596
  df_annotations = pd.read_csv(csv_bytes)
597
+
598
  for i in range(frame_id, frame_id + STEP):
599
+ frame_filename = f"{Path(file_name).stem}/{Path(file_name).stem}_{i}.png"
600
+ image_url = f"{GITHUB_BASE_URL}/frames/{frame_filename}"
601
+
602
+ # Vérifier si l'image existe
603
+ image_response = requests.head(image_url)
604
+ if image_response.status_code != 200:
605
  continue
 
 
 
606
 
607
+ class_label, player = None, None
608
  if df_annotations is not None and i in df_annotations["frame"].values:
609
  row = df_annotations[df_annotations["frame"] == i].iloc[0]
610
  class_label, player = row.get("class", None), row.get("player", None)