diff --git a/facefusion/ffprobe.py b/facefusion/ffprobe.py index c0cf7191..e0c08e65 100644 --- a/facefusion/ffprobe.py +++ b/facefusion/ffprobe.py @@ -96,11 +96,11 @@ def extract_static_video_metadata(video_path : str) -> VideoMetadata: def extract_video_metadata(video_path : str) -> VideoMetadata: - video_entries = probe_video_entries(video_path, [ 'width', 'height', 'r_frame_rate', 'color_transfer' ]) + video_entries = probe_video_entries(video_path, [ 'width', 'height', 'avg_frame_rate', 'r_frame_rate', 'color_transfer' ]) format_entries = probe_format_entries(video_path, [ 'duration', 'bit_rate' ]) duration = float(format_entries.get('duration')) - fps = extract_video_fps(video_entries.get('r_frame_rate')) + fps = extract_video_fps(video_entries) frame_total = round(duration * fps) width = int(video_entries.get('width')) height = int(video_entries.get('height')) @@ -120,11 +120,12 @@ def extract_video_metadata(video_path : str) -> VideoMetadata: return video_metadata -def extract_video_fps(frame_rate : str) -> Fps: - if frame_rate and '/' in frame_rate: - numerator, denominator = frame_rate.split('/') +def extract_video_fps(video_entries : Dict[str, str]) -> Fps: + for frame_rate in [ video_entries.get('avg_frame_rate'), video_entries.get('r_frame_rate') ]: + if frame_rate and '/' in frame_rate: + numerator, denominator = frame_rate.split('/') - if int(numerator) and int(denominator): - return int(numerator) / int(denominator) + if int(numerator) and int(denominator): + return int(numerator) / int(denominator) return 0.0 diff --git a/facefusion/installer.py b/facefusion/installer.py index 36f39fb5..553ed08c 100644 --- a/facefusion/installer.py +++ b/facefusion/installer.py @@ -19,15 +19,15 @@ LOCALES =\ } ONNXRUNTIME_SET =\ { - 'default': ('onnxruntime', '1.28.0') + 'default': ('onnxruntime', '1.29.0') } if is_windows() or is_linux(): ONNXRUNTIME_SET['cuda@12'] = ('onnxruntime-gpu', '1.24.4') - ONNXRUNTIME_SET['cuda@13'] = ('onnxruntime-gpu', '1.28.0') + ONNXRUNTIME_SET['cuda@13'] = ('onnxruntime-gpu', '1.29.0') ONNXRUNTIME_SET['openvino'] = ('onnxruntime-openvino', '1.24.1') if is_windows(): ONNXRUNTIME_SET['directml'] = ('onnxruntime-directml', '1.24.4') - ONNXRUNTIME_SET['qnn'] = ('onnxruntime-qnn', '2.4.0') + ONNXRUNTIME_SET['qnn'] = ('onnxruntime-qnn', '2.5.0') if is_linux(): ONNXRUNTIME_SET['migraphx'] = ('onnxruntime-migraphx', '1.27.1') ONNXRUNTIME_SET['rocm'] = ('onnxruntime-rocm', '1.22.2.post3') diff --git a/requirements.txt b/requirements.txt index 0f19c728..7624f343 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ numpy==2.4.6 onnx==1.22.0 -onnxruntime==1.28.0 +onnxruntime==1.29.0 opencv-python-headless==5.0.0.93 psutil==7.2.2 python-multipart==0.0.28