4장. FFmpeg 실전 변환
FFmpeg 명령의 구조부터 트랜스코딩 프로파일, 프록시·썸네일 생성, 오디오 채널 매핑, 인터레이스·화면비·프레임레이트 변환, 배치 자동화, 오류 해결까지 실무 변환 방법을 정리합니다.
FFmpeg는 사실상 영상 변환의 표준 도구입니다. MAM의 프록시 생성, 송출용 트랜스코딩, 포맷 정규화, 썸네일 추출이 대부분 FFmpeg 위에서 돌아갑니다. 다만 옵션이 매우 많고 같은 결과처럼 보이는 명령이 실제로는 다르게 동작하는 경우가 많아서, 원리를 모르고 명령만 복사해 쓰면 문제를 찾기 어렵습니다.
이 장의 모든 명령은 합성 테스트 영상(테스트 패턴, 톤)으로 실제 실행해서 결과를 확인한 것입니다. 출력의 수치는 테스트 환경 기준이므로 절대적인 값이 아니라 경향으로 읽어 주세요.
- 명령 구조와 옵션 위치가 결과를 바꾸는 이유
- 트랜스코딩 프로파일: H.264, ProRes, DNxHD, XDCAM HD422 계열 MPEG-2
- 프록시, 썸네일, 스프라이트, 타임코드 번인
- 오디오 채널 매핑과 라우드니스
- 인터레이스, 화면비, 프레임레이트 변환
- 배치 처리와 자동화
- 자주 만나는 오류와 해결
이 장은 앞 장의 분석 결과(MediaInfo, FFprobe)를 읽을 줄 안다는 전제로 진행합니다.
- 4.1FFmpeg 명령 구조 - 입력, 필터, 출력, 옵션 위치FFmpeg 명령의 입력·필터·출력 파이프라인, -ss 옵션 위치에 따른 차이, 스트림 자동 선택 규칙과 -map, -c copy의 한계를 실제 실행 결과로 설명합니다.
- 4.2트랜스코딩 프로파일 - H.264, ProRes, DNxHD, XDCAM HD422용도별 변환 프로파일(웹 배포, 편집 중간 파일, 방송 제작 MXF)의 FFmpeg 명령과 CRF·프리셋·프로파일에 따른 용량·속도 차이, 결과 검증 방법을 정리합니다.
- 4.3프록시, 썸네일, 스프라이트, 타임코드 번인MAM 화면에 필요한 프록시 영상, 구간별 썸네일, 포스터 이미지, 스프라이트 시트, 타임코드 번인 영상을 FFmpeg로 만드는 방법과 주의점을 설명합니다.
- 4.4오디오 채널 매핑과 라우드니스 처리방송 소재의 다중 모노 오디오를 스테레오와 5.1로 합치고 다운믹스하는 방법, 개별 트랙 추출, 무음 트랙 추가, loudnorm 라우드니스 측정을 FFmpeg로 설명합니다.
- 4.5인터레이스, 화면비, 프레임레이트 변환디인터레이스 필터(yadif, bwdif)와 출력 프레임 수, 픽셀 종횡비(SAR/DAR) 처리, 레터박스, 29.97에서 25fps 변환의 두 가지 방식과 부작용을 실제 실행 결과로 설명합니다.
- 4.6배치 변환과 자동화 - 진행률, 병렬 처리, 결과 검증FFmpeg를 서비스에서 안전하게 호출하는 방법으로, -progress 파이프를 이용한 진행률 파싱, 임시 파일 후 교체, 길이 검증, 동시 작업 수 제한을 파이썬 예제로 설명합니다.
- 4.7자주 만나는 FFmpeg 오류와 해결moov atom not found, Could not find tag for codec, Non-monotonic DTS, 비트레이트 단위 실수, 오디오 누락, 4:2:2 재생 불가 등 현장에서 자주 보는 문제를 재현하고 해결하는 방법을 정리합니다.