diff --git a/python_core/ai_video/video_generator.py b/python_core/ai_video/video_generator.py index a1ff9e4..ec3f15a 100644 --- a/python_core/ai_video/video_generator.py +++ b/python_core/ai_video/video_generator.py @@ -245,19 +245,37 @@ class VideoGenerator: progress_callback(f" 模型类型: {model_type}") # Find image files - image_extensions = ['*.jpg', '*.jpeg', '*.png', '*.bmp', '*.gif', '*.tiff', '*.webp'] + # Use a more robust approach to find image files + image_extensions = ['.jpg', '.jpeg', '.png', '.bmp', '.gif', '.tiff', '.webp'] image_files = [] - for ext in image_extensions: - image_files.extend(glob.glob(os.path.join(image_folder, ext))) - image_files.extend(glob.glob(os.path.join(image_folder, ext.upper()))) - + + # Get all files in the directory + try: + all_files = os.listdir(image_folder) + for file in all_files: + file_path = os.path.join(image_folder, file) + if os.path.isfile(file_path): + # Check if file extension matches (case-insensitive) + file_ext = os.path.splitext(file)[1].lower() + if file_ext in image_extensions: + image_files.append(file_path) + except OSError as e: + result['msg'] = f"Failed to read directory {image_folder}: {str(e)}" + logger.error(result['msg']) + return result + if not image_files: result['msg'] = f"No image files found in {image_folder}" logger.error(result['msg']) return result - + if progress_callback: progress_callback(f'目录下找到 {len(image_files)} 张图片') + + # Debug: log found image files + logger.info(f"Found {len(image_files)} image files in {image_folder}") + for i, img_file in enumerate(image_files): + logger.info(f" {i+1}. {os.path.basename(img_file)}") if not prompts: result['msg'] = "No prompts provided"