영상의 오디오 처리하기

영상은 괜찮은데 소리가 문제라면 이 페이지를 참고하세요. 영상에서 어떤 데이터를 읽고 어떤 형식으로 출력하는지, 처리한 오디오를 영상에 다시 맞추는 방법까지 설명합니다. 파일을 열 수 있는지부터 확인하려면 먼저 영상 노이즈 제거를 읽어보세요.

오디오 트랙만 읽습니다

브라우저가 기기에 있는 파일을 바로 열어 컨테이너에서 오디오를 추출합니다. 영상 트랙은 디코딩하거나 수정하지 않으며 영상과 오디오 모두 업로드하지 않습니다. 업로드 과정 자체가 없으므로 처리 대기열이나 완료 안내 메일도 없습니다.

mp4와 mov 파일에서는 컨테이너의 색인을 읽어 필요한 구간의 바이트만 가져옵니다. 따라서 2 GB짜리 파일 전체를 브라우저 메모리에 올리지 않습니다. 원본 파일은 읽기 전용으로 열며 변경하지 않습니다.

출력 파일

출력은 오디오만 담긴 48 kHz, 16비트 모노 WAV이며 30초 기준 약 2.9 MB입니다. 다음 두 가지를 미리 확인하세요.

영상에 다시 맞추기

결과 카드에는 파일 전체 길이와 처리한 30초 구간, 시작 타임코드가 표시됩니다. 예: 1:14부터 30초 미리 듣기. 영상에서도 같은 구간을 잘라낸 뒤 처리된 오디오와 하나의 파일로 결합합니다.

ffmpeg -ss 1:14 -t 30 \
       -i original.mp4 -i cleaned.wav \
       -map 0:v -map 1:a \
       -c:v libx264 -crf 18 \
       -c:a aac -b:a 192k \
       -shortest check.mp4

이 명령에서는 영상 트랙을 의도적으로 다시 인코딩합니다. 입력 파일 앞에 -ss를 두고 스트림을 그대로 복사하면 가장 가까운 키프레임부터 시작할 수밖에 없어 영상과 오디오가 최대 1초 어긋날 수 있습니다. 이 정도 차이면 립싱크 결과를 정확히 판단하기 어렵습니다.

편집 프로그램에서도 원리는 같습니다. WAV를 불러와 해당 타임코드의 새 오디오 트랙에 놓고 원본 오디오는 음소거한 뒤 영상과 함께 재생해 확인하세요.

전체 파일 처리하기

이제 전체 파일은 직접 결합할 필요가 없습니다. 결과 카드에서 전체 파일을 처리하면 영상 데이터는 그대로 유지하고 오디오 트랙만 바꾼 mp4를 받을 수 있습니다. 아래 명령은 파일 결합 방식을 직접 제어하고 싶거나 브라우저가 AAC를 인코딩하지 못해 오디오만 출력한 경우에 사용할 수 있습니다. 구간을 자르지 않으므로 영상 트랙을 다시 인코딩하지 않고 그대로 복사합니다.

ffmpeg -i original.mp4 -i cleaned.wav \
       -map 0:v -map 1:a \
       -c:v copy -c:a aac -b:a 192k \
       output.mp4

두 명령 모두 사용 중인 기기에서 실행되며 QuietTake 서버와는 통신하지 않습니다. 원본이 스테레오여도 교체할 트랙은 모노입니다. 납품 형식에서 스테레오 채널이 필요하다면 모노 트랙을 두 채널에 복제하세요.