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)