# 카메라 전환

> 화자 라벨이 있는 녹취록으로 멀티캠 팟캐스트나 인터뷰 편집의 각 컷을 말하는 사람의 카메라로 바꿉니다. 소리는 바뀌지 않습니다.

Source: https://nodaro.ai/ko/docs/nodes/video/camera-switch

**카메라 전환** 노드는 말하는 사람에 따라 편집의 각 컷에 어떤 카메라를 쓸지 고릅니다. [편집 계획](https://nodaro.ai/docs/nodes/video/edit-plan)의 편집 하나와 화자 라벨이 있는 녹취록을 읽고, 각 구간을 말하는 사람의 카메라로 바꾼 뒤, 카메라가 전환된 편집을 [EDL 적용](https://nodaro.ai/docs/nodes/video/apply-edl)에 넘겨 렌더링합니다. 소리는 바뀌지 않으며, 같은 편집, 녹취록, 설정은 항상 같은 컷을 만듭니다.

- Found in: Video › Cut & Assemble
- API type: `camera-switch`

카메라 전환은 Nodaro Cloud에서 실행됩니다. 셀프 호스팅 설치에서는 **연동 › nodaro.ai**에서 또는 API 키로 [Nodaro Cloud에 연결](https://nodaro.ai/docs/self-hosting/cloud-connect)하면 노드가 각 실행을 클라우드로 전달합니다. 연결하지 않으면 노드를 캔버스에 저장할 수는 있지만 실행할 수는 없습니다.

## 사용 시기
- 여러 카메라로 녹화한 팟캐스트나 인터뷰를 편집할 때.
- 말하는 사람의 클로즈업으로 컷하고, 그 사이에는 와이드 샷을 쓰고 싶을 때.
- 멀티캠 에피소드에서 카메라가 전환되는 짧은 클립을 만들 때.
- 멀티캠 편집에 화자의 실제 이름으로 자막을 넣을 때.

## 빠른 시작
일반적인 멀티캠 흐름은 노드 다섯 개로 이루어집니다. **오디오 동기화**가 녹화를 맞추고, **음성 텍스트 변환**이 화자에 라벨을 붙이고, **편집 계획**이 편집을 쓰고, **카메라 전환**이 카메라를 고르고, **EDL 적용**이 결과를 렌더링합니다.

### 편집과 녹취록 준비
[멀티캠 녹화](https://nodaro.ai/docs/nodes/video/edit-plan#multicam-recordings)에 설명된 대로, 모든 녹화를 [오디오 동기화](https://nodaro.ai/docs/nodes/audio/audio-sync)와 [편집 계획](https://nodaro.ai/docs/nodes/video/edit-plan) 노드의 **소스**에 연결하세요. 마스터 녹음은 **화자 분리**를 켠 [음성 텍스트 변환](https://nodaro.ai/docs/nodes/audio/transcribe) 노드로 녹취하세요.

### 노드 추가
캔버스에서 Tab을 누르고 **동영상 › 자르기 및 합치기 › 카메라 전환**을 선택하세요.

### 편집과 녹취록 연결
편집 계획의 EDL 출력을 **편집(EDL)** 입력에, 음성 텍스트 변환의 녹취록을 **녹취록** 입력에 연결하세요.

### 화자 이름을 정하고 실행
설정 패널을 여세요. **화자**에서 각 화자의 이름과 카메라를 정하세요. 표는 순서대로 미리 채워지므로 바꾸지 않아도 실행됩니다. **실행**을 클릭하세요.

### 전환된 편집 렌더링
**카메라 전환된 편집(EDL)** 출력을 [EDL 적용](https://nodaro.ai/docs/nodes/video/apply-edl) 노드에 연결하고 실행하세요. 화자 이름이 들어간 자막을 넣으려면 **녹취록(이름 적용)** 출력을 EDL 적용이나 [자막 추가](https://nodaro.ai/docs/nodes/video/add-captions)의 **녹취록** 입력에 연결하세요.

Workflow: 오디오 동기화가 녹화를 맞추고, 편집 계획이 편집을 쓰고, 카메라 전환이 각 컷을 화자의 카메라로 바꾸고, EDL 적용이 그 편집을 렌더링합니다.

- 오디오 동기화 → 편집 계획 (오프셋)
- 편집 계획 → 카메라 전환 (EDL)
- 음성 텍스트 변환 → 카메라 전환 (녹취록)
- 카메라 전환 → EDL 적용 (EDL)

템플릿 마켓플레이스의 **Multicam Cut** 템플릿은 이 흐름을 바로 채워 쓸 수 있게 만든 것입니다: 클로즈업 카메라 두 대, 와이드 카메라 한 대, 마스터 오디오 트랙 하나. 카메라 노드를 더하거나 지워 녹화를 모두 2~6개로 맞추고, 각 녹화를 오디오 동기화 노드와 편집 계획의 **소스**에 모두 연결하세요.

## 입력
| 입력 | 필수 | 연결할 것 |
| --- | --- | --- |
| **편집(EDL)** | 예 | **군더더기 제거** 또는 **클립** 모드의 [편집 계획](https://nodaro.ai/docs/nodes/video/edit-plan)에서 나온 편집 하나. 클립 모드에서는 클립마다 카메라 전환이 따로 실행됩니다. 챕터 계획은 거부됩니다. |
| **녹취록** | 예 | 화자 라벨이 있는 단어 단위 녹취록. **화자 분리**를 켠 [음성 텍스트 변환](https://nodaro.ai/docs/nodes/audio/transcribe) 노드의 결과입니다. |

## 출력
| 출력 | 전달하는 것 |
| --- | --- |
| **카메라 전환된 편집(EDL)** | 각 컷이 화자의 카메라로 바뀐 편집. [EDL 적용](https://nodaro.ai/docs/nodes/video/apply-edl)에 연결하세요. 클립 모드 계획 뒤에서는 클립마다 전환된 편집이 하나씩 들어 있고, 연결의 기본값이 **개별**이라 EDL 적용이 모든 클립을 렌더링합니다. |
| **녹취록(이름 적용)** | 화자 이름이 적용된 녹취록. EDL 적용이나 [자막 추가](https://nodaro.ai/docs/nodes/video/add-captions)의 **녹취록** 입력에 연결하면 자막에 이름이 표시됩니다. 모든 클립에서 같습니다. |

## 전환 방식
- **화자의 발화는 그 사람의 카메라로 컷합니다.** 컷은 발화가 시작되기 조금 전, 기본값으로 0.2초 전에 일어납니다. 발화는 **최단 샷(초)**(기본값 2.5초) 이상이어야 합니다. “응” 같은 짧은 발화는 컷을 바꾸지 않으며, 듣는 사람의 “음” 소리가 긴 대답을 끊지도 않습니다.
- **화자와 카메라.** 여러 화자가 카메라 하나를 함께 쓸 수 있습니다. 예를 들어 투샷입니다. **전용 카메라 없음**으로 설정한 화자나 마지막 카메라보다 뒤의 화자는 와이드 카메라, 즉 편집 계획에서 **와이드 샷** 역할을 가진 소스에 나옵니다. 와이드 카메라가 없으면 그 화자를 찍은 아무 카메라에 나옵니다.
- **모든 컷에 화자 이름이 붙습니다.** 화자는 바뀌었지만 카메라가 그대로여도 편집은 그 지점에서 나뉩니다. 화면은 그대로이고, 나뉜 각 부분에 자기 화자 이름이 붙습니다.
- **화면이 없는 카메라.** 화자의 카메라가 늦게 시작했거나 일찍 멈춘 구간에는 와이드 카메라에 화면이 있으면 그것을, 없으면 화면이 있는 첫 카메라를 씁니다. 어떤 카메라도 찍지 않은 구간은 편집에서 빠지고, 편집의 제외된 컷에 `no-picture`로 기록됩니다. 카메라가 멈춘 직후 최대 0.5초의 빈틈은 마지막 프레임으로 채웁니다.
- **와이드 전환.** 와이드 카메라가 있으면, 카메라 하나에 20초 동안 머문 뒤 최단 샷 한 번만큼 와이드로 컷했다가 돌아옵니다. **N컷마다 와이드**는 N번째 컷마다 와이드로 보냅니다.
- **소리는 그대로입니다.** 각 컷은 그 구간이 편집에서 가지고 있던 소리, 보통 마스터 녹음을 씁니다. 화면과 함께 마이크가 바뀌는 일은 없습니다.
- **화자가 한 명이거나 카메라가 두 대 미만인 경우.** 편집은 바뀌지 않은 채 돌아오고, 편집의 메모에 안내가 남습니다.

## 설정
| 설정 | 기본값 | 기능 |
| --- | --- | --- |
| **화자** | 순서대로 미리 채워짐 | 녹취록의 화자 라벨마다 한 행: 표시 이름(80자까지)과 카메라 또는 **전용 카메라 없음**. 화자 1은 첫 번째 카메라, 화자 2는 두 번째 카메라를 받는 식입니다. |
| **최단 샷(초)** | 2.5 | 이보다 짧은 발화는 컷을 바꾸지 않습니다. 0.5~60초. |
| **미리 자르기(초)** | 0.2 | 새 화자가 말을 시작하기 얼마 전에 컷할지 정합니다. 0~5초. |
| **와이드 전환까지(초)** | 20 | 와이드 카메라가 있을 때, 카메라 하나에 이만큼 머물면 와이드로 컷합니다. 0이면 꺼집니다. 최대 600초. |
| **N컷마다 와이드** | 0(꺼짐) | 와이드 카메라가 있을 때, N번째 컷마다 와이드로 보냅니다. 0~20. |
| **레이아웃 제안** | 꺼짐 | 두 사람이 1.2초보다 길게 겹쳐 말하면 그 컷에 나란히 레이아웃을, 세로 동영상이면 위아래 레이아웃을 제안합니다. |

범위를 벗어난 값은 필드를 떠날 때 가까운 한계값으로 바뀝니다. 와이드 전환과 **N컷마다 와이드**에는 편집 계획에서 **와이드 샷** 역할을 가진 소스가 필요합니다.

**레이아웃 제안**은 [화자 뷰](https://nodaro.ai/docs/nodes/video/speaker-view)만 그립니다. EDL 적용은 단순한 컷으로 된 편집을 렌더링하며, 레이아웃 제안이 있는 편집은 거부합니다. 제안을 켜면 설정 패널이 편집이 연결된 각 EDL 적용을 화자 뷰 노드로 바꾸는 선택지를 보여 줍니다.

## 크레딧
카메라 전환은 녹화 길이나 카메라 수와 관계없이 실행마다 고정 가격입니다. 가격은 노드의 **실행** 버튼에 표시됩니다.

편집 계획의 **클립** 모드에서는 카메라 전환이 클립마다 한 번씩 실행되며, 실행마다 청구됩니다. 클립이 8개인 계획은 실행 8번의 요금이 듭니다.

다음 경우는 크레딧이 청구되기 전에 거부됩니다.

- 화자 라벨이 전혀 없는 녹취록.
- 편집이나 녹취록이 없는 경우.
- 녹화의 시간축에 있는 편집 하나가 아닌 경우: 클립 세트 전체, 챕터 계획, 렌더링된 출력의 EDL.

## 팁
- **오디오 동기화를 먼저 실행하세요.** 올바른 순간을 보여 주려면 각 카메라가 마스터의 시간축에서 어디에 있는지 알아야 합니다. 오디오 동기화를 편집 계획의 **오프셋(오디오 동기화)** 입력에 연결하세요.
- **와이드 샷을 표시하세요.** 편집 계획의 소스 목록에서 와이드 카메라에 **와이드 샷** 역할을 주세요. 와이드 카메라가 대체 카메라이자 전환용 샷이 됩니다.
- **실제 이름을 쓰세요.** 설정 패널에서 화자 이름을 정하고 **녹취록(이름 적용)** 출력을 자막 추가에 연결하면 그 이름으로 자막이 붙습니다.

## 문제 해결
| 문제 | 원인과 해결 |
| --- | --- |
| 녹취록에 화자가 없어 실행이 거부됩니다. | 녹취록이 화자 라벨 없이 만들어졌습니다. 음성 텍스트 변환에서 **화자 분리**를 켜고 다시 실행한 뒤 새 녹취록을 연결하세요. |
| 편집이 바뀌지 않은 채 돌아옵니다. | 녹취록의 화자가 한 명뿐이거나 편집의 카메라가 두 대 미만입니다. 편집의 메모에 어느 쪽인지 적혀 있습니다. |
| 편집이 거부됩니다. | 입력이 녹화의 시간축에 있는 편집 하나가 아닙니다. 렌더링된 출력의 EDL이나 챕터 계획 대신, 편집 계획의 EDL 출력을 카메라 전환에 바로 연결하세요. |
| 컷이 엉뚱한 순간을 보여 줍니다. | 카메라가 마스터와 맞춰져 있지 않습니다. 오디오 동기화로 오프셋을 측정하거나, 편집 계획에 입력한 오프셋을 확인하세요. |
| 와이드 전환이 일어나지 않습니다. | 편집 계획에 **와이드 샷** 역할을 가진 소스가 없거나, **와이드 전환까지(초)**가 0입니다. |

## API에서 사용
`POST /v1/camera-switch`는 코드에서 노드를 실행합니다. `edl`(객체 또는 JSON 문자열로 된 EDL 하나)과 `transcript`를 보내고, 필요하면 `speakerMap`, `speakerNames`, `minShotMs`, `leadMs`, `maxShotMs`, `wideEvery`, `layoutHints`를 더하세요. `speakerMap`은 화자 라벨을 EDL 소스 ID에 연결하며, `""`는 전용 카메라 없음을 뜻합니다.

클립 세트, 챕터 계획, 렌더링된 출력의 EDL에는 `400 invalid_edl`로 응답합니다. 화자 라벨이 없는 녹취록에는 청구 전에 `422 no_speakers`로 응답합니다. 완료된 작업의 `output_data.json`은 전환된 EDL이고, `output_data.transcript`는 이름이 적용된 녹취록입니다.

SDK 메서드는 `client.edit.cameraSwitch`, CLI 명령은 `nodaro edit switch-cameras`, MCP 도구는 `switch_cameras`입니다. [단일 노드 실행](https://nodaro.ai/docs/developers/api/nodes)과 [작업](https://nodaro.ai/docs/developers/api/jobs)을 참고하세요.

## 자주 묻는 질문

### 카메라 전환 노드는 무엇을 하나요?

카메라 전환은 편집 계획의 편집과 화자 라벨이 있는 녹취록을 읽습니다. 편집의 각 구간을 말하는 사람의 카메라로 바꾸고, EDL 적용이 렌더링할 수 있도록 카메라가 전환된 편집을 반환합니다.

### 카메라 전환은 소리를 바꾸나요?

아니요. 각 컷은 그 구간이 편집에서 이미 가지고 있던 소리, 보통 마스터 녹음을 그대로 씁니다. 카메라 사이에서 바뀌는 것은 화면뿐입니다.

### 카메라 전환이 녹취록을 거부하는 이유는 무엇인가요?

녹취록에 화자 라벨이 없기 때문입니다. 음성 텍스트 변환 노드에서 화자 분리를 켜고 다시 실행한 뒤, 새 녹취록을 카메라 전환에 연결하세요. 이 거부는 크레딧이 청구되기 전에 이루어집니다.

### 카메라 전환의 가격은 얼마인가요?

카메라 전환은 녹화 길이나 카메라 수와 관계없이 실행마다 고정 가격입니다. 가격은 실행 버튼에 표시됩니다. 편집 계획의 클립 모드에서는 노드가 클립마다 한 번씩 실행되며, 실행마다 청구됩니다.

### “응” 같은 짧은 대답에도 컷이 바뀌나요?

아니요. 화자의 발화는 최단 샷(기본값 2.5초) 이상일 때만 컷을 바꿉니다. 그보다 짧은 발화에서는 지금 카메라가 계속 화면에 나옵니다.
