fix: mp4 변환 멈춤 해결 — 8K HEVC 코덱 + 동일포맷 재인코딩 + 종료상태
증상: 8K(7680x4320) HEVC 11분 6.76GB mp4 변환이 멈춤. 근본 원인 2가지: 1. mp4→mp4(같은 형식)이 그래프 self-edge 부재로 Skip 처리되고, QuickProgressWindow가 '전부 건너뜀' 종료 상태를 처리 안 해 멈춘 듯 보임. 2. 강제하던 h264_nvenc가 4096px 초과(8K)를 인코딩 못 해 즉시 실패 → CPU libx264 8K 폴백이 사실상 무한정 소요(진짜 멈춤). 수정: - FfmpegProvider: 해상도별 코덱 — videoWidth>4096(8K 등)은 hevc_nvenc(GPU) →libx265(CPU)로, 이하는 h264_nvenc→libx264. 코덱 강제는 mp4/mkv/mov에만 적용하고 webm/avi/gif는 컨테이너 기본 코덱(vp9 등) 유지. - FfmpegProvider: 비디오/오디오 동일포맷 self-edge 추가(mp4→mp4 등 재압축). gif는 제외 — 이미지로도 다뤄져 ffmpeg 미설치 시 Skip→하드실패 회귀 방지. - QuickProgressWindow.Finish: 성공·실패 없이 전부 건너뜀인 종료 상태를 명확히 안내. 검증: 실제 8K HEVC 클립으로 mp4→mp4 변환 → hevc_nvenc로 정상 인코딩, 28.3MB→2.1MB(93% 압축). 전체 38개 단위테스트 통과(적대적 리뷰 2건 반영). Package 1.0.3.0.
This commit is contained in:
parent
acb3fdbfd1
commit
47600d2eb5
4 changed files with 40 additions and 9 deletions
|
|
@ -75,6 +75,14 @@ public partial class QuickProgressWindow : FluentWindow
|
|||
DoneIllustration.Visibility = Visibility.Visible;
|
||||
Height = 360;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 성공·실패 없이 전부 건너뜀(같은 형식·기존 파일 존재 등) — 멈춤처럼 보이지 않게 명확히 안내
|
||||
PercentText.Text = "건너뜀";
|
||||
StatusText.Text = skipped > 0
|
||||
? $"변환할 내용이 없어 건너뛰었습니다 ({skipped}개). '닫기'를 눌러 종료하세요."
|
||||
: "처리할 항목이 없습니다.";
|
||||
}
|
||||
}
|
||||
|
||||
private void OnOpenFolderClick(object sender, RoutedEventArgs e)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue