프로젝트 소개
## 개요
Tachikaze는 이미 mp4로 변환된 녹화 파일을 **재인코딩 없이 CM 컷**하는 도구입니다. Amatsukaze에 강하게 영향을 받았으며, "이미 mp4로 만들어버린 녹화에도 Amatsukaze식의 CM 컷을 나중에 적용하고 싶다", "동계통 처리를 macOS / Linux에서도 실행하고 싶다"는 동기에서 제작되었습니다.
본체가 담당하는 것은 주로 "Trim 목록 → 무손실 mp4 추출"이며, CM 감지 자체는 기존 도구(chapter_exe → join_logo_scp)에 맡기는 구성입니다.
## 사용 방법
최단 실행 예시:
```console
$ tachikaze auto IN.mp4 -o OUT.mp4
```
`auto`는 `prepare` → `analyze` → gate → `cut` → `remap-subs`를 대화 없이 실행합니다. gate가 의심스럽다고 판단한 경우 cut 없이 종료되며, `--ignore-gate`로 무시할 수 있습니다. `analyze`/`auto`는 로고 검출을 기본적으로 활성화하고 로고 사각형도 입력에서 자동 추정합니다(`--no-logo`로 비활성화 가능).
판단을 끼고 싶다면 `analyze`로 Trim 목록을 출력한 뒤 `cut`으로 추출하는 2단계 사용법도 가능합니다. 복수 파일 처리는 셸 루프에 맡긴다는 전제로, 출력 이름을 `*_CMcut.mp4`로 고정해 glob 재섭취를 피하는 예시가 제시되어 있습니다.
## 의존성
본체 외에도 다음 외부 도구가 `PATH` 위에 필요합니다.
- chapter_exe — 무음·장면 전환 감지
- join_logo_scp — CM 판정(Trim 생성)
- dtvindex — 공통 프레임 번호 색인
- ffmpeg / ffprobe — prepare·검증 등
빌드는 `cargo build --release --locked`, 설치에서는 `make install`(기본값은 /usr/local, PREFIX 변경 가능). macOS의 ツールチェーン 절차나 Docker 문서도 준비되어 있습니다(Dockerfile은 공개되어 있으나 빌드된 이미지 레지스트리 배포는 하지 않습니다).
## 알려진 제한사항
- 동작 확인済み 환경은 macOS(Apple Silicon)과 Linux(arm64, Docker). Windows는 미지원
- 영상은 H.264, 오디오는 mp4-atom이 인식하는 Codec(대표 예 Opus / AAC)
- GOP를 키 프레임 경계로 반올림하므로 컷 경계 근처 평균 2.1~2.5초의 CM이 잔존(허용하는 방향)
- 1프로세스당 입력은 1본
## 라이선스와 귀속
본체는 MIT(Copyright (c) 2026 Masayuki Mizuno). Amatsukaze 본체는 이식하지 않았으며, 알고리즘 및 파이프라인의 참조원·상상원으로 다룹니다. 로고 검출 일부(src/logo/score.rs, src/logo/interval.rs)는 Amatsukaze 유래 MIT 코드의 이식으로, 원전에 따른 저작권 표기를 보존하고 있습니다. 라이선스 미상의 delogo 유래 코드는 이식하지 않고, 수식에서 새로 작성했습니다. 실행 시 호출되는 외부 도구(chapter_exe / join_logo_scp / dtvindex / ffmpeg)는 GPL 계가 많지만, 별도 프로세스로 실행하는 것뿐 링크나 동일 주소 공간의 공유는 없으며, 주고받이는 파일과 커맨드라인 인수에만 국한됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.