증상 A · 오디오는 가는데 영상이 멈춤
초반은 정상인데 중간부터 같은 프레임이 끝까지 유지되면 마지막으로 디코딩된 프레임을 반복 사용했거나 뒤쪽 encoded frame이 muxer에 제대로 들어가지 않았을 가능성을 의심합니다. 전체 길이의 58%, 72%, 84%, 93%, 98.5% 지점을 샘플링하면 후반 freeze를 빠르게 찾을 수 있습니다.
증상 B · 시간이 갈수록 입모양과 소리가 벌어짐
실시간 화면 녹화식 export는 렌더가 느려질 때 영상 프레임 생성과 오디오 clock이 서로 다른 속도로 진행될 수 있습니다. 프레임마다 media timestamp를 직접 부여하는 오프라인 렌더에서는 처리 속도와 결과 영상 시간이 분리되어야 합니다.
| 검수 | 정상 기준 |
|---|---|
| Container duration | 의도한 Timeline 길이와 거의 동일 |
| Video end | 마지막 Timeline 프레임까지 존재 |
| Audio end | video 종료와 큰 차이 없음 |
| Tail frames | 원본에 움직임이 있다면 출력도 변화함 |
| Decode | 마지막 프레임까지 실제 decode 가능 |
검수는 원본과 결과를 둘 다 봅니다
원본 자체가 마지막 5초 동안 정지 화면이라면 결과가 정지해도 오류가 아닙니다. 따라서 frozen-tail 검사는 출력만 보는 것이 아니라 같은 시간대 원본에 변화가 있었는지 비교해야 false positive를 줄일 수 있습니다.