mirror of
https://github.com/facefusion/facefusion.git
synced 2026-07-29 13:28:50 +02:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
844f22db91 | ||
|
|
45b8ad93ee |
@@ -74,7 +74,7 @@ def extract_audio_metadata(audio_path : str) -> AudioMetadata:
|
|||||||
|
|
||||||
duration = float(format_entries.get('duration'))
|
duration = float(format_entries.get('duration'))
|
||||||
sample_rate = int(audio_entries.get('sample_rate'))
|
sample_rate = int(audio_entries.get('sample_rate'))
|
||||||
frame_total = int(duration * sample_rate)
|
frame_total = round(duration * sample_rate)
|
||||||
channel_total = int(audio_entries.get('channels'))
|
channel_total = int(audio_entries.get('channels'))
|
||||||
bit_rate = int(format_entries.get('bit_rate'))
|
bit_rate = int(format_entries.get('bit_rate'))
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@ def extract_video_metadata(video_path : str) -> VideoMetadata:
|
|||||||
|
|
||||||
duration = float(format_entries.get('duration'))
|
duration = float(format_entries.get('duration'))
|
||||||
fps = extract_video_fps(video_entries.get('r_frame_rate'))
|
fps = extract_video_fps(video_entries.get('r_frame_rate'))
|
||||||
frame_total = int(duration * fps)
|
frame_total = round(duration * fps)
|
||||||
width = int(video_entries.get('width'))
|
width = int(video_entries.get('width'))
|
||||||
height = int(video_entries.get('height'))
|
height = int(video_entries.get('height'))
|
||||||
bit_rate = int(format_entries.get('bit_rate'))
|
bit_rate = int(format_entries.get('bit_rate'))
|
||||||
|
|||||||
@@ -26,8 +26,9 @@ def render() -> None:
|
|||||||
'visible': False
|
'visible': False
|
||||||
}
|
}
|
||||||
if is_video(state_manager.get_item('target_path')):
|
if is_video(state_manager.get_item('target_path')):
|
||||||
|
video_frame_total = count_video_frame_total(state_manager.get_item('target_path'))
|
||||||
preview_frame_slider_options['value'] = state_manager.get_item('reference_frame_number')
|
preview_frame_slider_options['value'] = state_manager.get_item('reference_frame_number')
|
||||||
preview_frame_slider_options['maximum'] = count_video_frame_total(state_manager.get_item('target_path'))
|
preview_frame_slider_options['maximum'] = video_frame_total - 1
|
||||||
preview_frame_slider_options['visible'] = True
|
preview_frame_slider_options['visible'] = True
|
||||||
PREVIEW_FRAME_SLIDER = gradio.Slider(**preview_frame_slider_options)
|
PREVIEW_FRAME_SLIDER = gradio.Slider(**preview_frame_slider_options)
|
||||||
with gradio.Row():
|
with gradio.Row():
|
||||||
@@ -57,5 +58,5 @@ def listen() -> None:
|
|||||||
def update_preview_frame_slider() -> gradio.Slider:
|
def update_preview_frame_slider() -> gradio.Slider:
|
||||||
if is_video(state_manager.get_item('target_path')):
|
if is_video(state_manager.get_item('target_path')):
|
||||||
video_frame_total = count_video_frame_total(state_manager.get_item('target_path'))
|
video_frame_total = count_video_frame_total(state_manager.get_item('target_path'))
|
||||||
return gradio.Slider(maximum = video_frame_total, visible = True)
|
return gradio.Slider(maximum = video_frame_total - 1, visible = True)
|
||||||
return gradio.Slider(value = 0, visible = False)
|
return gradio.Slider(value = 0, visible = False)
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ def get_reader(video_path : str, context : str) -> VideoReader:
|
|||||||
|
|
||||||
|
|
||||||
def conditional_seek_video_reader(video_reader : VideoReader, frame_number : int = 0) -> None:
|
def conditional_seek_video_reader(video_reader : VideoReader, frame_number : int = 0) -> None:
|
||||||
frame_number = min(video_reader.get('metadata').get('frame_total'), frame_number)
|
frame_total = video_reader.get('metadata').get('frame_total')
|
||||||
|
frame_number = min(frame_total - 1, frame_number)
|
||||||
skip_total = frame_number - video_reader.get('frame_number')
|
skip_total = frame_number - video_reader.get('frame_number')
|
||||||
skip_margin = 128
|
skip_margin = 128
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ def test_extract_audio_metadata() -> None:
|
|||||||
|
|
||||||
assert audio_metadata.get('sample_rate') == 44100
|
assert audio_metadata.get('sample_rate') == 44100
|
||||||
assert audio_metadata.get('channel_total') == 1
|
assert audio_metadata.get('channel_total') == 1
|
||||||
assert audio_metadata.get('frame_total') == 167039
|
assert audio_metadata.get('frame_total') == 167040
|
||||||
assert audio_metadata.get('bit_rate') == 128000
|
assert audio_metadata.get('bit_rate') == 128000
|
||||||
|
|
||||||
audio_metadata = extract_audio_metadata(get_test_example_file('source-48000khz-2ch.wav'))
|
audio_metadata = extract_audio_metadata(get_test_example_file('source-48000khz-2ch.wav'))
|
||||||
|
|||||||
Reference in New Issue
Block a user