xd / image_generator.py
jnjj's picture
Upload 80 files
0711651 verified
import os
import subprocess
def generate_thumbnails(video_folder, thumbnail_folder, timestamp="00:00:05"):
if not os.path.exists(thumbnail_folder):
os.makedirs(thumbnail_folder)
for video_file in os.listdir(video_folder):
video_path = os.path.join(video_folder, video_file)
if os.path.isfile(video_path) and video_file.lower().endswith((".mp4", ".mkv", ".avi", ".mov", ".flv")):
thumbnail_name = os.path.splitext(video_file)[0] + ".png"
thumbnail_path = os.path.join(thumbnail_folder, thumbnail_name)
command = [
"ffmpeg", "-i", video_path,
"-ss", timestamp, "-vframes", "1", "-q:v", "2",
thumbnail_path
]
try:
subprocess.run(command, check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print(f"Thumbnail generated: {thumbnail_path}")
except subprocess.CalledProcessError as e:
print(f"Error generating thumbnail for {video_file}: {e}")
if __name__ == "__main__":
video_folder = "sample_video" # Change to your video folder path
thumbnail_folder = "thumbnails"
generate_thumbnails(video_folder, thumbnail_folder)