mirror of
https://github.com/facefusion/facefusion.git
synced 2026-09-15 20:15:28 +02:00
convert video manager (#1240)
This commit is contained in:
@@ -4,7 +4,7 @@ import cv2
|
||||
import pytest
|
||||
from tests.assert_helper import get_test_example_file, get_test_examples_directory
|
||||
|
||||
from facefusion import state_manager
|
||||
from facefusion import state_manager, video_manager
|
||||
from facefusion.codecs.aom_decoder import create, decode, destroy
|
||||
from facefusion.codecs.aom_encoder import create as create_encoder, encode
|
||||
from facefusion.common_helper import is_linux, is_macos, is_windows
|
||||
@@ -19,6 +19,8 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
state_manager.init_item('download_providers', [ 'github', 'huggingface' ])
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(), [ 'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4' ])
|
||||
|
||||
aom_module.pre_check()
|
||||
|
||||
@@ -4,7 +4,7 @@ import cv2
|
||||
import pytest
|
||||
from tests.assert_helper import get_test_example_file, get_test_examples_directory
|
||||
|
||||
from facefusion import state_manager
|
||||
from facefusion import state_manager, video_manager
|
||||
from facefusion.codecs.aom_encoder import create, destroy, encode
|
||||
from facefusion.common_helper import is_linux, is_macos, is_windows
|
||||
from facefusion.download import conditional_download
|
||||
@@ -18,6 +18,8 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
state_manager.init_item('download_providers', [ 'github', 'huggingface' ])
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(), [ 'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4' ])
|
||||
|
||||
aom_module.pre_check()
|
||||
|
||||
@@ -4,7 +4,7 @@ import cv2
|
||||
import pytest
|
||||
from tests.assert_helper import get_test_example_file, get_test_examples_directory
|
||||
|
||||
from facefusion import state_manager
|
||||
from facefusion import state_manager, video_manager
|
||||
from facefusion.codecs.vpx_decoder import create, decode, destroy
|
||||
from facefusion.codecs.vpx_encoder import create as create_encoder, encode
|
||||
from facefusion.common_helper import is_linux, is_macos, is_windows
|
||||
@@ -20,6 +20,8 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
state_manager.init_item('download_providers', [ 'github', 'huggingface' ])
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(), [ 'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4' ])
|
||||
|
||||
vpx_module.pre_check()
|
||||
|
||||
@@ -4,7 +4,7 @@ import cv2
|
||||
import pytest
|
||||
from tests.assert_helper import get_test_example_file, get_test_examples_directory
|
||||
|
||||
from facefusion import state_manager
|
||||
from facefusion import state_manager, video_manager
|
||||
from facefusion.codecs.vpx_encoder import create, destroy, encode
|
||||
from facefusion.common_helper import is_linux, is_macos, is_windows
|
||||
from facefusion.download import conditional_download
|
||||
@@ -19,6 +19,8 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
state_manager.init_item('download_providers', [ 'github', 'huggingface' ])
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(), [ 'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4' ])
|
||||
|
||||
vpx_module.pre_check()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import numpy
|
||||
import pytest
|
||||
|
||||
from facefusion import face_aligner, face_classifier, face_detector, face_recognizer, inference_manager, state_manager
|
||||
from facefusion import face_aligner, face_classifier, face_detector, face_recognizer, inference_manager, state_manager, video_manager
|
||||
from facefusion.common_helper import get_first, get_last
|
||||
from facefusion.download import conditional_download
|
||||
from facefusion.face_creator import get_many_faces, get_one_face
|
||||
@@ -16,6 +16,8 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
inference_manager.init()
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(),
|
||||
[
|
||||
'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import pytest
|
||||
|
||||
from facefusion import process_manager
|
||||
from facefusion import process_manager, video_manager
|
||||
from facefusion.download import conditional_download
|
||||
from facefusion.frame_store import clear_frames, get_frame_store, reduce_frames, select_frame_set, set_frame
|
||||
from facefusion.vision import read_video_frame
|
||||
@@ -10,6 +10,9 @@ from .assert_helper import get_test_example_file, get_test_examples_directory
|
||||
@pytest.fixture(scope = 'module', autouse = True)
|
||||
def before_all() -> None:
|
||||
process_manager.start()
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(),
|
||||
[
|
||||
'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4'
|
||||
|
||||
@@ -3,13 +3,13 @@ import tempfile
|
||||
import numpy
|
||||
import pytest
|
||||
|
||||
from facefusion import ffmpeg, ffmpeg_builder, process_manager, state_manager
|
||||
from facefusion import ffmpeg, ffmpeg_builder, process_manager, session_context, state_manager
|
||||
from facefusion.common_helper import is_linux, is_macos, is_windows
|
||||
from facefusion.download import conditional_download
|
||||
from facefusion.ffprobe import extract_video_metadata
|
||||
from facefusion.frame_store import get_frame_store
|
||||
from facefusion.temp_helper import create_temp_directory, get_temp_file_path
|
||||
from facefusion.video_manager import clear_video_pool, close_video_reader, close_video_writer, collect_video_frames, conditional_seek_video_reader, drain_video_reader, get_reader, get_writer, read_video_frame, read_video_frames, seek_video_reader, write_video_frame
|
||||
from facefusion.video_manager import clear, close_video_reader, close_video_writer, collect_video_frames, conditional_seek_video_reader, drain_video_reader, get_reader, get_writer, init, read_video_frame, read_video_frames, seek_video_reader, write_video_frame
|
||||
from .assert_helper import get_test_example_file, get_test_examples_directory
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
|
||||
process_manager.start()
|
||||
|
||||
init()
|
||||
|
||||
conditional_download(get_test_examples_directory(),
|
||||
[
|
||||
'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/target-240p.mp4'
|
||||
@@ -42,7 +45,23 @@ def before_all() -> None:
|
||||
|
||||
@pytest.fixture(scope = 'function', autouse = True)
|
||||
def before_each() -> None:
|
||||
clear_video_pool()
|
||||
clear()
|
||||
|
||||
|
||||
def test_init() -> None:
|
||||
local_id = session_context.resolve_local_id()
|
||||
video_reader = get_reader(get_test_example_file('target-240p-25fps.mp4'), 'read_video_frame')
|
||||
|
||||
session_context.set_session_id('session-a')
|
||||
state_manager.init()
|
||||
init()
|
||||
|
||||
assert not get_reader(get_test_example_file('target-240p-25fps.mp4'), 'read_video_frame').get('id') == video_reader.get('id')
|
||||
|
||||
clear()
|
||||
session_context.set_session_id(local_id)
|
||||
|
||||
assert get_reader(get_test_example_file('target-240p-25fps.mp4'), 'read_video_frame') is video_reader
|
||||
|
||||
|
||||
def test_get_reader() -> None:
|
||||
@@ -186,7 +205,7 @@ def test_close_video_writer() -> None:
|
||||
assert close_video_writer(video_writer) is True
|
||||
|
||||
|
||||
def test_clear_video_pool() -> None:
|
||||
def test_clear() -> None:
|
||||
target_path = get_test_example_file('target-240p-25fps.mp4')
|
||||
create_temp_directory(state_manager.get_temp_path(), target_path)
|
||||
video_reader = get_reader(target_path, 'select_video_frames')
|
||||
@@ -194,7 +213,7 @@ def test_clear_video_pool() -> None:
|
||||
|
||||
read_video_frames(video_reader, 0, 4)
|
||||
write_video_frame(video_writer, read_video_frame(video_reader))
|
||||
clear_video_pool()
|
||||
clear()
|
||||
|
||||
if is_windows():
|
||||
assert video_reader.get('process').returncode == 1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import numpy
|
||||
import pytest
|
||||
|
||||
from facefusion import ffmpeg, ffmpeg_builder, process_manager, state_manager
|
||||
from facefusion import ffmpeg, ffmpeg_builder, process_manager, state_manager, video_manager
|
||||
from facefusion.download import conditional_download
|
||||
from facefusion.vision import calculate_histogram_difference, count_video_frame_total, detect_image_resolution, detect_video_duration, detect_video_fps, detect_video_resolution, match_frame_color, normalize_resolution, pack_resolution, predict_video_frame_total, read_image, read_video_frame, resolve_extract_frame_index, resolve_target_frame_index, restrict_image_resolution, restrict_trim_video_frame, restrict_video_fps, restrict_video_resolution, scale_resolution, select_video_frames, unpack_resolution, write_image
|
||||
from .assert_helper import get_test_example_file, get_test_examples_directory, get_test_output_path, prepare_test_output_directory
|
||||
@@ -13,6 +13,9 @@ def before_all() -> None:
|
||||
state_manager.init()
|
||||
|
||||
process_manager.start()
|
||||
|
||||
video_manager.init()
|
||||
|
||||
conditional_download(get_test_examples_directory(),
|
||||
[
|
||||
'https://github.com/facefusion/facefusion-assets/releases/download/examples-3.0.0/source.jpg',
|
||||
|
||||
Reference in New Issue
Block a user