현재 컷 자막 처리
저장된 프로젝트와 배치된 트랙, 그리고 transcript.json 파일의 트랜스크립트 문서를 사용합니다. $PROJECT_ID와 $REVISION은 현재 컷을 나타냅니다. 타이밍 편집 후 드래프트합니다. $PLACEHOLDER를 실제 값으로 바꾸고, 나열된 cutbolt_* 호출을 명령어 없이 전송하거나, cutbolt_run을 명령어/인수와 함께 사용합니다. job.start에서 블로킹 렌더링을 유지합니다.
{"command":"captions.draft","project":{"project_id":"$PROJECT_ID"},"transcripts":[{"file":"transcript.json"}]}
반환된 문서의 큐 텍스트와 타이밍을 검토한 후 $CAPTION_DOCUMENT로 유지합니다. 렌더링 전에 인식 오류를 수정합니다. $FONT는 글꼴 식별자/경로 객체(예: {"path":"font.ttf"}) 또는 fonts.find에서 찾은 명확한 설치 이름입니다. $FONT_SIZE, $LINE_HEIGHT 및 $CAPTION_RECT는 프로젝트에 맞는 픽셀 레이아웃 값입니다. 실제 큐에 충분한 공간을 선택하세요. 오버플로우는 거부되므로 잘린 텍스트가 조용히 넘어갈 수 없습니다.
{"command":"job.start","request_id":"caption-render","run":"captions.render","arguments":{"document":"$CAPTION_DOCUMENT","project":{"project_id":"$PROJECT_ID"},"layouts":{"default":{"fonts":["$FONT"],"size":"$FONT_SIZE","rect":"$CAPTION_RECT","line_height":"$LINE_HEIGHT","letter_spacing":0,"wrap":"none","overflow":"reject"}},"output":"caption-edits.json","mode":"generated","track_id":"captions","asset_id":"caption"}}
$JOB_ID는 반환된 티켓입니다.
{"command":"job.wait","job_id":"$JOB_ID","timeout_seconds":120}
상태가 completed일 때만 계속 진행합니다. result.operations를 $CAPTION_OPERATIONS(파일 참조)로, result.expected_revision을 $CAPTION_REVISION으로 유지합니다. 해당 제안을 기록된 리비전에 적용합니다. 이 명령은 자막 트랙이 없으면 생성합니다. 이미 겹치는 자막이 있는 경우, 의도한 이전 클립을 명시적으로 제거하고 새 헤드에 대해 다시 준비합니다. 자막을 중복 생성하거나 관련 없는 그래픽을 덮어쓰지 마십시오.
{"command":"session.apply","project_id":"$PROJECT_ID","expected_revision":"$CAPTION_REVISION","request_id":"attach-captions","operations":"$CAPTION_OPERATIONS"}
새 리비전을 유지합니다. 대표적인 시점(첫 번째/마지막 큐 포함)에서 실제 자막을 내보내고 검사합니다. 이 단계 이후의 타이밍 편집은 자막을 다시 생성해야 합니다. 저장된 클립은 편집 가능한 장면 레시피를 유지하며 영상과 함께 직접 렌더링됩니다. 중간 자막 동영상이 컴파일되지 않습니다. 자막 문서는 나중에 텍스트/타이밍 편집을 위해 보관합니다.
제공된 로컬 글꼴의 경우 경로 객체를 사용하고, 문자열은 설치된 글꼴 패밀리 이름을 지정합니다. 설치된 글꼴이 없거나 모호한 경우 fonts.find에서 사용 가능한 식별자가 필요합니다. 텍스트 오버플로우의 경우, 박스/글꼴/큐 레이아웃을 조정하고 새 출력 파일명을 사용합니다. 오래된 리비전의 경우, 첨부 전에 타임라인 타이밍이 변경되었는지 확인합니다. 불확실한 편집의 요청 ID를 재사용하고 session.receipt를 검사합니다. job.wait가 티켓을 반환하는 것은 완료된 렌더링의 증거가 아닙니다.
이 워크플로우는 외부 FFmpeg/ffprobe와 함께 Windows 및 Linux에서 실행됩니다. 음성 인식은 필요한 경우 별도로 구성된 로컬 런타임과 모델이 필요합니다. 녹화 및 하드웨어 디코드는 Linux 백엔드가 없습니다. 플러그인에는 엔진, 글꼴, 모델 또는 미디어 도구가 번들로 제공되지 않습니다.