Skip to content

Releases: openerai/framefix

FrameFix v2.0.1 — Topaz + 고품질 마스터 조합 실패 수정

Choose a tag to compare

@openerai openerai released this 24 Aug 08:09

v2.0.0에서 넣은 "고품질 마스터 무손실 출력" 기능이 Topaz 백엔드와
조합하면 즉시 실패
하던 문제를 고쳤습니다.

무엇이 문제였나

ProRes 4444 같은 마스터를 Topaz AI 보간으로 복구하면 실패했습니다.
로그에는 "디코딩이 2/361 프레임에서 끊겼다"고 나왔지만, 실제 원인은
달랐습니다 — v2.0의 ProRes 경로가 인코더 실행 파일을 번들 ffmpeg로
바꿔버렸는데, Topaz AI 보간 필터는 Topaz 전용 ffmpeg에만 있어서
그 즉시 죽었고, 그 여파로 디코더 쪽에서 broken pipe가 나 엉뚱한
오류로 보였습니다.

고친 것

인코더 실행 파일을 건드리지 않도록 했습니다. Topaz의 ffmpeg에도
ProRes 인코더가 들어 있어서, 같은 프로세스 안에서 AI 보간과 ProRes
인코딩을 함께 할 수 있습니다.

검증

배포용으로 컴파일된 실행 파일에서, 실패했던 바로 그 조합(4K ProRes 4444

  • Topaz 백엔드)으로 직접 확인했습니다.
복구 완료 · 78초
결과: 실효 23.73fps · 중복 1.1%
파일: ProRes 4444 · yuv444p12le · 3840×2160 · 24fps
오디오: 원본과 동일

일반 클립·다른 백엔드 조합도 회귀 없음을 확인했습니다.

설치

zip을 받아 압축을 풀고 FrameFix.exe를 더블클릭하면 끝입니다.
v2.0.0을 받으셨다면 이 버전으로 갱신해 주세요.

FrameFix v2.0.0 — ProRes/MOV 고품질 마스터 무손실 출력

Choose a tag to compare

@openerai openerai released this 24 Aug 07:41

ProRes 4444 같은 고품질 마스터를 넣으면 무조건 H.264 8bit 4:2:0 으로
찍혀 나오던 문제를 고쳤습니다. 이제 원본이 고품질이면 ProRes로 .mov
그대로 출력합니다.

무엇이 문제였나

VFX/컴포지팅용 마스터(ProRes 4444, 12bit, 4:4:4, 933Mbps)를 복구했더니
H.264, 8bit, 4:2:0, 67Mbps로 나왔습니다. 파일이 작아진 건 중복 프레임을
뺐으니 정상이지만, 그와 별개로 색 해상도가 강제로 절반이 되고 있었습니다.

무엇이 달라졌나

소스의 픽셀 포맷·코덱을 읽어 고품질 마스터로 판단되면(4:2:2 이상 채도,
8bit 초과, 알파 채널, 또는 ProRes/DNxHD 류 코덱) ProRes로 .mov 컨테이너에
출력합니다.

원본 예전 지금
코덱 ProRes 4444 H.264 ProRes 4444
픽셀포맷 yuv444p12le yuv420p yuv444p12le
컨테이너 .mov .mp4 .mov
오디오 AAC 재인코딩 원본 그대로 복사

일반 소스(이미 H.264로 배포된 것 등)는 예전처럼 H.264/.mp4로 나갑니다 —
회귀는 없습니다.

검증

실제 4320×1824 ProRes 4444 12bit 마스터로 컴파일된 실행 파일에서 직접
확인했습니다. 결과 파일의 코덱·픽셀포맷·오디오 스트림이 원본과 동일합니다.
실사용 폴더(521개 클립, ProRes 1개 포함) 전수 스캔도 정상입니다.

정직하게 밝혀둘 한계

내부 파이프가 프레임을 8bit RGB로 흘려보내는 구조라, 채도 손실은 완전히
없앴지만 비트뎁스는 이론상 여전히 8bit 지점을 지납니다. 같은 마스터로
실측한 결과 8bit 경유 유무 차이는 평균 0.14/255, 최대 2/255 — 이 소스
기준으로는 육안 차이가 없는 수준이지만, 극단적인 그레이딩 여유가 중요한
작업이라면 알아두세요.

복구할 때마다 새고 있던 죽은 ffmpeg 프로세스 하나를 지웠습니다. 이전
버전에서 가끔 보였던 "파일이 사용 중이라 지워지지 않음" 현상의 원인이었을
가능성이 높습니다.

설치

zip을 받아 압축을 풀고 FrameFix.exe를 더블클릭하면 끝입니다.

FrameFix v1.9.1 — 직접 지정한 파일이 무시되던 문제 수정

Choose a tag to compare

@openerai openerai released this 24 Aug 02:59

파일을 콕 집어 끌어다 놓았는데 아무 일도 일어나지 않던 문제를 고쳤습니다.

무엇이 문제였나

이름이 _fixed로 끝나는 파일을 창에 놓으면 무시됐습니다.
[복구본 제외] 필터에 걸린 건데, 그 필터는 폴더를 훑을 때 이 도구가 만든
출력물을 다시 처리하지 않으려는 장치입니다. 사용자가 직접 지정한 파일에까지
적용할 것이 아니었습니다.

게다가 표가 "폴더를 지정하고 스캔을 누르세요"로 되돌아가서
드롭 자체가 무시된 것처럼 보였습니다. 로그를 열어보지 않으면 알 수 없었습니다.

고친 것

  • 콕 집어 지정한 파일은 언제나 검사합니다. 이름이 _fixed여도 마찬가지입니다.
    폴더 스캔에서는 예전처럼 복구본을 제외합니다.
  • 브라우저에서 드롭해 올린 파일도 같은 규칙을 따릅니다.
  • 결과가 0개면 빈 화면 대신 이유를 알려줍니다 —
    "N개가 '복구본'으로 판단되어 제외됐습니다. [복구본 제외]를 포함으로 바꾸세요."

검증

상황 결과
result_fixed.mp4 직접 지정 검사됨 · 481프레임 · 잘못된 2장 · 23.90fps
같은 폴더 스캔 13개 검사 · _fixed 1개 제외 (의도된 동작)

설치

zip을 받아 압축을 풀고 FrameFix.exe를 더블클릭하면 끝입니다.
Python도 ffmpeg도, 받아야 할 AI 모델도 없습니다.

v1.9.0의 4096 초과 해상도 수정도 그대로 포함되어 있습니다.

FrameFix v1.9.0 — 4096 초과 해상도 수정 (권장 갱신)

Choose a tag to compare

@openerai openerai released this 21 Aug 10:26

4096을 넘는 해상도(시네마스코프 4K, 8K)에서 복구가 실패하던 문제와,
큰 화면에서 분석 결과가 조용히 잘리던 문제를 고쳤습니다.

이 버전으로 꼭 갱신하세요

폭이나 높이가 4096을 넘는 클립을 다루신 적이 있다면, 이전 버전의 분석 결과를
믿지 마세요.
디코딩이 중간에 끊겨도 그대로 결과를 냈습니다. 다시 스캔해 주세요.
4K UHD(3840×2160) 이하는 영향이 없습니다.

무엇이 문제였나

1. 인코더 — 4096 초과에서 복구 실패

NVENC의 H.264는 폭·높이 4096이 한계입니다. 실측 결과입니다.

해상도 h264_nvenc hevc_nvenc libx264
3840×2160
4096×2160
4320×1824
7680×4320

화소수만 보고 NVENC을 고르던 것을 고쳐, 4096을 넘으면 libx264hevc_nvenc
순으로 씁니다. 인코더가 실패하면 다음 후보로 자동 재시도합니다.

2. 디코더 — 분석이 조용히 잘림 (이쪽이 더 심각)

번들 ffmpeg의 h264 프레임 단위 멀티스레드 디코딩이 큰 화면에서 간헐적으로
죽습니다. 같은 4320×1824 파일을 14번 디코딩한 결과입니다.

방식 성공 비고
기존 8/14 88·409·315·82 프레임에서 끊김
-thread_type slice 14/14 병렬성 유지, 10.5초
-threads 1 14/14 12.7초

무서운 건 크래시가 아니라 조용히 잘린다는 점이었습니다. 종료 코드를 확인하지
않아 짧아진 결과를 정상으로 받아들였고, 그러면 복구가 엉뚱한 프레임을 지웁니다.

이제 큰 화면은 slice 스레딩으로 디코딩하고, 종료 코드와 프레임 수를 반드시
검증
합니다. 어긋나면 스레딩을 끄고 재시도하며, 그래도 안 되면 조용히 넘어가지
않고 실패로 보고합니다. 실패 시 0바이트 껍데기 파일도 남기지 않습니다.

검증

수정 후 같은 파일 10회 분석이 전부 481프레임 · 잘못된 8장 · 23.60fps로 일치합니다.
4320×1824 복구도 세 백엔드 모두 성공했습니다.

방식 결과 코덱
중복 제거만 473프레임 · 23.40fps h264
Topaz Chronos v2 481프레임 · 23.90fps hevc
ffmpeg 보간 479프레임 · 23.95fps h264

설치

zip을 받아 압축을 풀고 FrameFix.exe를 더블클릭하면 끝입니다.
Python도 ffmpeg도, 받아야 할 AI 모델도 없습니다.

FrameFix v1.8.0 — 포터블 (설치 불필요)

Choose a tag to compare

@openerai openerai released this 21 Aug 08:29

AI 생성 영상(Seedance·Dreamina·Hailuo 등)의 중복(정지) 프레임을 찾아내고 되살립니다.

설치할 것이 없습니다

아래 zip 을 받아 압축을 풀고 FrameFix.exe 를 더블클릭하면 끝입니다.
Python 도 ffmpeg 도 따로 깔 필요 없습니다. 기본 브라우저에 화면이 열립니다.

받아야 할 AI 모델도 없습니다. 이 도구는 학습 모델을 쓰지 않고
프레임 차분 계산과 ffmpeg 만으로 동작합니다.
Topaz Video 가 설치된 PC 에서는 Topaz 의 AI 보간을 자동으로 쓰는데,
그 모델도 Topaz 가 알아서 내려받습니다. 없으면 ffmpeg 보간으로 자동 전환됩니다.

필요한 것 모델
검출·중복 제거 (포함됨) 없음
ffmpeg 보간 (포함됨) 없음
Topaz 보간 (선택) Topaz Video 라이선스 Topaz 가 자동
NVENC 인코딩 (4K) NVIDIA GPU 없음

쓰는 법

  1. 폴더를 끌어다 놓거나 [폴더 찾기]
  2. [스캔]
  3. [문제+경미] 로 손볼 것만 선택
  4. [선택 복구] — 끝나면 완료 배너와 재측정 결과가 뜹니다

핵심

중복 제거를 보간보다 먼저 합니다. 순서를 뒤집어 원본을 그대로
RIFE·Topaz·Speed Warp 에 넣으면 보간기가 같은 그림 두 장 사이를 계산해
모션이 0인 프레임을 만듭니다. 떨림은 남고 화면만 뭉개집니다.

참고

  • 정상 판정된 클립은 건드리지 마세요. 기본값이 '건너뛰기' 입니다.
  • 원본은 그대로 두고 _fixed 가 붙은 새 파일이 생깁니다.
  • 백신이 막으면 폴더를 예외 등록해 주세요(PyInstaller 실행 파일 오탐).
  • 4K 는 영상 1초당 8초쯤 걸립니다.

소스에서 쓰려면 저장소를 clone 하고 setup.bat 을 실행하세요.