mirror of
https://github.com/facefusion/facefusion.git
synced 2026-07-27 12:30:55 +02:00
Reap the video reader on restart to stop ffmpeg processes piling up
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M8GqDtmNT89ei6EJrQKWXx
This commit is contained in:
@@ -55,7 +55,8 @@ def conditional_set_video_reader_position(video_reader : VideoReader, frame_posi
|
||||
|
||||
|
||||
def restart_video_reader(video_reader : VideoReader, frame_position : int) -> None:
|
||||
video_reader.get('process').terminate()
|
||||
video_reader.get('process').kill()
|
||||
video_reader.get('process').wait()
|
||||
video_reader['process'] = create_video_reader_process(video_reader.get('video_path'), frame_position, video_reader.get('fps'))
|
||||
video_reader['position'] = frame_position
|
||||
video_reader['frame_buffer'].clear()
|
||||
@@ -154,6 +155,7 @@ def close_video_writer(video_writer : subprocess.Popen[bytes]) -> bool:
|
||||
def clear_video_pool() -> None:
|
||||
for video_writer in VIDEO_POOL_SET.get('writer').values():
|
||||
video_writer.terminate()
|
||||
video_writer.wait()
|
||||
|
||||
for video_reader in VIDEO_POOL_SET.get('reader').values():
|
||||
video_reader.get('process').terminate()
|
||||
|
||||
Reference in New Issue
Block a user