refactor(main.py): update backend order preference to prioritize FFmpeg for video files and DirectShow for cameras

This commit is contained in:
2025-09-04 21:30:32 +02:00
parent 887f735a27
commit c4c88c8175

View File

@@ -182,12 +182,12 @@ class VideoEditor:
self.video_path = video_path self.video_path = video_path
# Try different backends for better performance # Try different backends for better performance
# Order of preference: DirectShow (Windows), FFmpeg, any available # Order of preference: FFmpeg (best for video files), DirectShow (cameras), any available
backends_to_try = [] backends_to_try = []
if hasattr(cv2, 'CAP_DSHOW'): # Windows DirectShow if hasattr(cv2, 'CAP_FFMPEG'): # FFmpeg - best for video files
backends_to_try.append(cv2.CAP_DSHOW)
if hasattr(cv2, 'CAP_FFMPEG'): # FFmpeg
backends_to_try.append(cv2.CAP_FFMPEG) backends_to_try.append(cv2.CAP_FFMPEG)
if hasattr(cv2, 'CAP_DSHOW'): # DirectShow - usually for cameras
backends_to_try.append(cv2.CAP_DSHOW)
backends_to_try.append(cv2.CAP_ANY) # Fallback backends_to_try.append(cv2.CAP_ANY) # Fallback
self.cap = None self.cap = None