diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0000.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0000.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..bd4fceb4ae314112b423d48c342d99c67d350fb1
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0000.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0001.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0001.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..28e7eba0735b84bbfcec75eddcdbffcaaa593a5d
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0001.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0002.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0002.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..874bad7d540e0ae8931486e3a18eb5b0a5d7ea76
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0002.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0003.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0003.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1d06a7b67c41f1032cd651f97cc0dca3732be73e
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0003.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0004.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0004.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6fb430991d2ac25917dad62590d16509b81f1962
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0004.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0005.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0005.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1855df11e75c3a958c7f06d3d82fdc82d25b0d45
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0005.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0006.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0006.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..fc147283b846a9ef95eaa0e7d19350a4ffcdac62
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0006.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0007.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0007.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1599d418a66de82eb34795842622360b101d9a7f
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0007.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0008.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0008.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..8f35f0d3dac4707774ee224113d03dc8db26d0ba
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0008.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0009.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0009.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..84c090f27374a5269939bfd52d1074e32c1834c4
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0009.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0010.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0010.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..d550ac897e40883a99712da323a6eeeee1331ea3
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0010.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0011.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0011.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..f675785a94766efe61c574703dfbd123cdebda53
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0011.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0012.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0012.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c59074cd56ad025c70684312bb21af1d29830a49
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0012.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0013.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0013.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1c552e29f95d926afe09eb9ca1dbe5c09c20c630
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0013.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0014.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0014.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ea7830bb904b96487a87e6145c51ff9106ab9dbd
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0014.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0015.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0015.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ffe0badb9798a240cb93e617de2266bf76052f27
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0015.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0016.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0016.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b1b344df32d2dec926e370aec558fcabbaf96bba
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0016.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0017.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0017.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..2526f140fae64e227d230cb01800c2ae6b521c64
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0017.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0018.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0018.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..028674ecee65699b431a021a2bf9c8983c2eb542
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0018.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0019.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0019.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..6a1647c7e7a78ba824ac094b9517a9976f5a508a
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0019.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0020.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0020.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1eeee7214c1e3a24b1d54ad157b48efceb7c1dc3
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0020.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0021.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0021.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0f68b079f67b831752614a794b73e397700ff90e
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0021.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0022.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0022.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..904ca31a9a34efd06f43954cfff1dcf52d09e8bf
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0022.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0023.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0023.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..716642c3b8dc2c8767b7a2233fd0090d9ce71f5c
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0023.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0024.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0024.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ef0a01088ae8d1ec255d96bbf54c25b9b804ce12
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0024.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0025.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0025.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4b39e7f1bcfe24196e0030a8123fb7699ac7c175
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0025.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0026.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0026.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a68dd331e72ccacfe7dcc042cfa23ece8e54c52e
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0026.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0027.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0027.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..4d86ddc30bf26ad3db1d64fa45881e612f7e4648
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0027.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0028.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0028.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5149223f892a124335a33c9a514729234c9b0ea3
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0028.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0029.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0029.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7b695ef5480617c69363bc3e35d3bbcee1d68d3d
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0029.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0030.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0030.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b99842516428336c2f475a3f5c72985cf066346c
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0030.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0031.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0031.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..ba6be7b76f21eaa2ce82b4084f2f101ae86cc600
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0031.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0032.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0032.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..c0e899f426b39a73f4d15c9dbc477a0aed074f12
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0032.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0033.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0033.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5de798006429614ec7783b803ab579111063e14b
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0033.jpg differ
diff --git a/data/frames/Biber Bonus Wochen 2025/frame_0034.jpg b/data/frames/Biber Bonus Wochen 2025/frame_0034.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..9e7958940d6ea8264285719bccf4628597c265d3
Binary files /dev/null and b/data/frames/Biber Bonus Wochen 2025/frame_0034.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0000.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0000.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b8d5754f37931754c16212d32b287726c439c556
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0000.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0001.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0001.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a56531991ebe76e4c7b16ac625b75cb23488c108
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0001.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0002.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0002.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..99740a2dd5fc36f88c24a928e9eae3e840aaf096
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0002.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0003.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0003.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0be21c3145c8901b0d245dca62c0f35b9eea5758
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0003.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0004.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0004.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1ce39b59b1289350e7a7fcefd8be53ca698de454
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0004.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0005.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0005.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..931d11befed6e680cce91a3d48cbb37b6d9a03b9
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0005.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0006.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0006.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..457526ab62f8d8604f3b9a93331365e024e4e704
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0006.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0007.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0007.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..17619b5376f50b58d0d286db94db29387b0e3f9f
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0007.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0008.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0008.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..be31fb01fad213584df054b3173a1f9797c65170
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0008.jpg differ
diff --git a/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0009.jpg b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0009.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5ae14748a081f18454e0fe4573a2116345a39c0b
Binary files /dev/null and b/data/frames/Frisches Grillgut aus deiner Region I EDEKA Spot 2025/frame_0009.jpg differ
diff --git a/data/raw_videos/Biber Bonus Wochen 2025.mp4 b/data/raw_videos/Biber Bonus Wochen 2025.mp4
new file mode 100644
index 0000000000000000000000000000000000000000..73f1e4eda6abc4945681066bc607cfb8a3509750
Binary files /dev/null and b/data/raw_videos/Biber Bonus Wochen 2025.mp4 differ
diff --git a/data/raw_videos/Frisches Grillgut aus deiner Region I EDEKA Spot 2025.mp4 b/data/raw_videos/Frisches Grillgut aus deiner Region I EDEKA Spot 2025.mp4
new file mode 100644
index 0000000000000000000000000000000000000000..002e308d1896e6d265b42166c0f2f6314d114ebd
Binary files /dev/null and b/data/raw_videos/Frisches Grillgut aus deiner Region I EDEKA Spot 2025.mp4 differ
diff --git "a/data/raw_videos/Take it fresh! Der neue McWrap\302\256 in drei Varianten.mp4" "b/data/raw_videos/Take it fresh! Der neue McWrap\302\256 in drei Varianten.mp4"
new file mode 100644
index 0000000000000000000000000000000000000000..1b38bf72cf204ec8d5adc049f6c5427e3dbb51f5
Binary files /dev/null and "b/data/raw_videos/Take it fresh! Der neue McWrap\302\256 in drei Varianten.mp4" differ
diff --git "a/data/raw_videos/Werbung Apple iPhone 16 \357\275\234 TV Spot 2025.mp4" "b/data/raw_videos/Werbung Apple iPhone 16 \357\275\234 TV Spot 2025.mp4"
new file mode 100644
index 0000000000000000000000000000000000000000..56b68548b835fffc008aa59624804554615bd921
Binary files /dev/null and "b/data/raw_videos/Werbung Apple iPhone 16 \357\275\234 TV Spot 2025.mp4" differ
diff --git "a/data/raw_videos/Werbung Vinted \357\275\234 TV Spot 2025.mp4" "b/data/raw_videos/Werbung Vinted \357\275\234 TV Spot 2025.mp4"
new file mode 100644
index 0000000000000000000000000000000000000000..81b38117c75c0dd5ee6a294018eebe79598e0252
Binary files /dev/null and "b/data/raw_videos/Werbung Vinted \357\275\234 TV Spot 2025.mp4" differ
diff --git a/src/download_videos.py b/src/download_videos.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..73a28c5d53d6a8b44191602167cdf1d3db089e78 100644
--- a/src/download_videos.py
+++ b/src/download_videos.py
@@ -0,0 +1,35 @@
+# src/download_videos.py
+
+from yt_dlp import YoutubeDL
+import os
+
+download_folder = r"C:\Users\HP\Downloads\ReportingService\ReportingService\Frontend\Neuer Ordner\Neuer Ordner\hhzvideoanalytics\data\raw_videos"
+
+video_urls = [
+    "https://www.youtube.com/watch?v=J5qRbliO5x0",
+    "https://www.youtube.com/watch?v=ef6ltP1yYvM",
+    "https://www.youtube.com/watch?v=4PqFieAwtBo",
+    "https://www.youtube.com/watch?v=RY6EvyGcHyI",
+    "https://www.youtube.com/watch?v=mggTni1pYWg",
+]
+
+def download_video(url, download_folder):
+    try:
+        ydl_opts = {
+            # Verwende nur mp4-Streams, die sowohl Ton als auch Bild enthalten
+            'format': 'best[ext=mp4][vcodec^=avc1][acodec^=mp4a]',
+            'outtmpl': os.path.join(download_folder, '%(title)s.%(ext)s'),
+            'quiet': False,
+        }
+        with YoutubeDL(ydl_opts) as ydl:
+            ydl.download([url])
+            print(f"✔️ Erfolgreich heruntergeladen: {url}")
+    except Exception as e:
+        print(f"❌ Fehler beim Herunterladen von {url}: {e}")
+
+if __name__ == "__main__":
+    if not os.path.exists(download_folder):
+        os.makedirs(download_folder)
+    
+    for url in video_urls:
+        download_video(url, download_folder)
diff --git a/src/extract_frames.py b/src/extract_frames.py
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0db669a59403ae1a01b31a33c57833465d2c7115 100644
--- a/src/extract_frames.py
+++ b/src/extract_frames.py
@@ -0,0 +1,49 @@
+# src/extract_frames.py
+
+import cv2
+import os
+
+VIDEO_FOLDER = r"C:\Users\HP\Downloads\ReportingService\ReportingService\Frontend\Neuer Ordner\Neuer Ordner\hhzvideoanalytics\data\raw_videos"
+FRAME_FOLDER = r"C:\Users\HP\Downloads\ReportingService\ReportingService\Frontend\Neuer Ordner\Neuer Ordner\hhzvideoanalytics\data\frames"
+
+FRAME_INTERVAL = 2  # Sekunden zwischen zwei gespeicherten Frames
+
+def extract_frames(video_path, output_folder, interval_sec):
+    video_name = os.path.splitext(os.path.basename(video_path))[0]
+    video_output_folder = os.path.join(output_folder, video_name)
+    os.makedirs(video_output_folder, exist_ok=True)
+
+    cap = cv2.VideoCapture(video_path)
+    if not cap.isOpened():
+        print(f"❌ Fehler beim Öffnen von {video_path}")
+        return
+
+    fps = cap.get(cv2.CAP_PROP_FPS)
+    frame_interval = int(fps * interval_sec)
+
+    count = 0
+    saved = 0
+
+    while True:
+        ret, frame = cap.read()
+        if not ret:
+            break
+
+        if count % frame_interval == 0:
+            frame_filename = os.path.join(video_output_folder, f"frame_{saved:04d}.jpg")
+            cv2.imwrite(frame_filename, frame)
+            saved += 1
+
+        count += 1
+
+    cap.release()
+    print(f"✔️ {saved} Frames aus '{video_name}' gespeichert.")
+
+if __name__ == "__main__":
+    if not os.path.exists(FRAME_FOLDER):
+        os.makedirs(FRAME_FOLDER)
+
+    for filename in os.listdir(VIDEO_FOLDER):
+        if filename.endswith(".mp4"):
+            video_path = os.path.join(VIDEO_FOLDER, filename)
+            extract_frames(video_path, FRAME_FOLDER, FRAME_INTERVAL)