좋은 질문! 결론부터 말하면,
-
**자막/번역 대본 “스크래핑(브라우저 자동화)”**은 영상 길이(10분이든 30분이든)와 거의 무관해요. 페이지 로딩·패널 오픈·스크롤 시간이 대부분이라 한 영상당 2–4분(보수적으로는 3–6분) 정도 잡으면 됩니다.
-
**STT(오디오→텍스트)**로 만드는 경우는 영상 길이에 비례해서 시간이 크게 달라져요.
아래에 방식별 “현실적인” 소요 시간 범위를 정리했어요. (계정 안전을 최우선으로 보고, 야간에 느리게 돌린다는 가정)
방식별 예상 소요 시간
| 방식 | 10분 영상 | 30분 영상 | 비고 |
|---|---|---|---|
| 브라우저 자동화(Cloud Run + Playwright) | 2–4분/건 | 2.5–5분/건 | 페이지 로딩(10–20s) + 대본 패널 열기/스크롤(10–30s) + 안전 대기(75–140s 랜덤) 포함. 영상 길이 영향은 “스크롤량” 정도라 미미 |
| 크롬 확장(사람이 열어둔 화면에서 DOM 추출) | 5–30초 | 10–45초 | 이미 화면에 대본이 떠 있으면 텍스트 조합만 하므로 매우 빠름. “수동 보조”라서 대량처리는 어려움 |
| STT(Whisper 등) – CPU서버, Large 모델 | 20–60분 | 60–180분 | CPU-only 환경에선 대체로 실시간보다 3–10배 느림 |
| STT(Whisper 등) – CPU서버, Small/Medium | 6–15분 | 18–45분 | 정확도↓, 속도↑. 실시간의 0.6–1.5배 수준까지 가능 |
| STT – GPU 서버 | 3–8분 | 9–24분 | GPU 사양/배치옵션에 따라 **실시간 ±**로 나옴. 비용은 증가 |
요점
“스크래핑”은 영상 길이 영향이 작다 → 안정 대기(레이트리밋)가 지배적
“STT”는 영상 길이에 비례 → 10분보다 30분이 3배 가까이 오래 걸림(모델/하드웨어에 따라 단축 가능)
야간 배치(01:00–05:00, 서울) 처리량 예시
-
정책: 1건 처리 후 75–140초 랜덤 대기 + 다음 영상
-
1건 처리 총합을 2.5–4분/건으로 잡으면
-
4시간 동안 대략 60–100건 처리 가능
-
-
더 보수적으로(실패/리트라이 감안해) 잡으면 40–80건/야간이 현실적
처리량을 안전하게 늘리는 팁
이미 자막 없는 영상은 즉시 스킵(화이트리스트/사전 판별)
중복 캐시: 같은 videoId는 14~30일 재시도 금지
오류 임계치(429/403 상승 시 배치 중단)
네트워크·UI 실패 분기를 세분화(셀렉터 2~3벌)
추천 운영값(계정 안전 최우선)
-
콜 간격: 평균 90–120초(±랜덤 30초)
-
타임아웃: 페이지 로드 60–90s, 패널·셀렉터 대기 10–20s
-
동시성: 1(혹은 최대 2) — 병렬 금지 권장
-
스케줄: 01:00–05:00 사이, 분산 CRON으로 1건씩 Pub/Sub 푸시
-
재시도: 429/503만 지수백오프(최대 3회), 403은 즉시 중단/블랙리스트
무엇을 선택할까?
-
대본이 화면에 떠 있는 상태에서 가져오는 “크롬 확장(수동)”: 가장 빠르고 안전, 하지만 자동 대량엔 부적합
-
Cloud Run + 브라우저 자동화(비로그인, 초저속): 야간에 1–2분/건 + 안전 대기로 2–4분/건 수준 → 하루 수십~백 건 꾸준히 수집 가능
-
STT: 법·정책적으로 가장 클린(권리 동의 전제)하지만 시간/비용이 큼. 자체 콘텐츠/협업 콘텐츠에 권장
원하시면, 지금 파이프라인에 맞춘 야간 배치 파라미터(대기 범위, 타임아웃, 동시성=1)로 튜닝한 Cloud Run 샘플을 바로 드릴게요.
또, “10분·30분 혼재 리스트” 기준으로 완료 ETA 계산기도 붙여서, 오늘 밤에 몇 건까지 끝나는지 로그에 찍도록 하겠습니다.