Drama Finishing Upscaler (최종 완성 및 1080p 초해상도 공정)
공정 포지셔닝: 단편 드라마 최종 배포 및 화질 향상 공정. 효율적인 지식 제공: 초해상도가 무엇인지 설명하지 않고, 다중 세그먼트 무손실 연결 구문, RealESRGAN GPU 메모리 배치 처리 가속, 최종 영상 품질 검증 지표에 집중합니다.
1. 실행 규약 및 입출력
- 입력:
- 4번 공정에서 출력된 8개의 정리된 세그먼트:
cleaned_segments/seg01.mp4~seg08.mp4; - 또는 사이드체인으로 보정된 배경 음악이 포함된 최종 영상:
[에피소드명]_final_ducked.mp4.
- 4번 공정에서 출력된 8개의 정리된 세그먼트:
- 출력:
[에피소드명]_원본_상업용.mp4(832×480 원본 고화질 배포 완성본);[에피소드명]_1080p.mp4(1920×1080 영화관 수준 초해상도 최종본);delivery_report.json: 물리적 매개변수 검증 로그.
2. 핵심 SOP: 세그먼트 무손실 연결 (Zero-Loss Concat)
철칙: 세그먼트 연결 시 무손실 재인코딩(Re-encoding)을 절대 금지! 재인코딩은 원본 선명도를 손상시키고 오디오 품질 저하를 초래합니다.
2.1 FFmpeg concat 무손실 무봉합 연결
임시 연결 인덱스 목록을 생성하고 스트림 복사를 수행합니다:
# 1. 자동 정렬 인덱스 목록 생성
file 'cleaned_segments/seg01.mp4'
file 'cleaned_segments/seg02.mp4'
...
file 'cleaned_segments/seg08.mp4'
# 2. 무오버헤드 스트림 복사 연결 실행
ffmpeg -y -f concat -safe 0 -i concat_list.txt -c copy concat_raw.mp4
- 소요 시간: 전체 8개 세그먼트 연결에 단 0.2초 소요, 모든 프레임의 원본 픽셀과 오디오-비디오 동기화를 완벽하게 유지합니다.
3. 핵심 SOP: RealESRGAN 1080p 전용 초해상도 가속
GPU 메모리 격리 원칙: 1080p 초해상도 실행 전, 먼저 ComfyUI의 GPU 메모리 점유를 해제하여 RealESRGAN이 16GB 메모리를 독점적으로 사용하도록 해야 최고 처리 속도를 달성할 수 있습니다.
3.1 산업 수준 초해상도 추론 및 오디오 먹싱
scripts/upscale_video.py 스크립트 호출:
- 모델:
RealESRGAN_x2plus.pth; - 정밀도 및 장치:
CUDA+FP16반정밀도; - 배치 크기:
batch_size = 4(RTX 4080 독점 모드에서 약 ~4.8 frame/s의 안정적인 프레임 속도, 전체 1400프레임 약 4.5분 소요); - 오디오 보호 메커니즘:
초해상도 전에 ffmpeg로 원본 비디오의 오디오 트랙(
audio.m4a)을 무손실 추출하고, 프레임 추론 완료 후libx264 -crf 18 -c:a copy를 사용하여 먹싱하여 90초 사이드체인 지능형 배경 음악과 깨끗한 대사 100% 완벽 보존합니다.
명령:
python scripts/upscale_video.py --input raw_video.mp4 --output final_1080p.mp4 --model RealESRGAN_x2plus.pth --width 1920 --height 1080
4. 핵심 SOP: 최종 영상 물리적 매개변수 이중 검증
최종 영상 저장 후, 반드시 ffprobe를 사용하여 자동화된 검증 테스트를 수행합니다:
- 해상도 엄격 준수: 가로 1920, 세로 1080 (1080p가 아니면 불합격 처리);
- 프레임 속도 엄격 일치: 24.0 fps 표준 영화 프레임 속도;
- 길이 엄격 일치: 8개 세그먼트 × 175프레임 = 58.33초 ~ 58.35초;
- 오디오 트랙 완전성: 독립적인 스테레오 오디오 스트림(AAC, 샘플링 레이트 44.1kHz/48kHz) 포함.
5. 전용 도구 스크립트
- 단일 1080p 초해상도:
python scripts/upscale_video.py --input in.mp4 --output out.mp4 - 전체 에피소드 배치 초해상도 스케줄링:
python scripts/run_episodes_1_to_8_upscale.py