개발 가이드 · 연구자

담론 분석을 위한 YouTube 자막 코퍼스 구축 방법

YouTube는 정치 논평, 뉴스, 교육, 문화의 주요 무대이지만, 연구자들은 주로 제목, 댓글, 조회수로만 이를 연구해 왔습니다. 자막을 활용하면 실제로 오간 말을 대규모로, 모든 인용문에 타임스탬프를 붙여 분석할 수 있습니다.

추천 대상
커뮤니케이션학, 미디어학, 정치학, 언어학 연구자
개발 기간
1–2주
API 엔드포인트
/channels/resolve/batch/transcripts

해결하는 문제

수작업 전사로는 연구 대상이 영상 수십 개로 제한되고, 임시방편 스크레이핑 스크립트는 자주 깨지고 재현하기 어렵습니다. 연구자에게는 정의된 채널·기간 표본의 완전한 자막을 수집하고, 메타데이터와 함께 저장하고, 다른 사람이 재현할 수 있도록 방법을 공유하는 믿을 만한 방법이 필요합니다.

첫 버전에 넣을 기능

  • 문서화된 채널 표본과 기간
  • 메타데이터와 함께 원본 JSON으로 저장된 완전한 자막
  • 영상별 자막 출처 기록(수동, 자동, AI)
  • R, Python, NVivo, ATLAS.ti용 CSV 또는 텍스트 내보내기
  • 재현을 위해 다시 실행할 수 있는 수집 스크립트

단계별 개발 방법

  1. 01

    표본 정의

    연구할 채널과 기간을 정리하고, 연구 방법 섹션에 쓸 포함 기준을 기록합니다.

  2. 02

    영상 목록 조회

    채널마다 /channels/resolve를 호출하고 게시일로 결과를 필터링합니다.

  3. 03

    자막 수집

    영상 ID를 /batch로 보내고, 각 자막의 언어와 자막 출처를 포함한 JSON 응답 전체를 저장합니다.

  4. 04

    분석 준비

    영상 ID, 채널, 날짜, 타임스탬프와 함께 자막을 텍스트나 CSV로 내보낸 뒤, 토픽 모델, 키워드 빈도, 질적 코딩으로 분석합니다.

스타터 코드

이 아이디어는 "레시피 3: 재생목록을 지식 베이스에 일괄 적재하기" 패턴을 기반으로 합니다. 채널, 프롬프트, 저장소는 원하는 대로 바꿔 쓰세요.

import requests

API = "https://www.youtubetranscript.dev/api/v2"
HEADERS = {"Authorization": "Bearer yt_sk_live_YOUR_KEY"}

playlist = requests.post(f"{API}/playlists/resolve", headers=HEADERS,
                         json={"playlist_url": "https://www.youtube.com/playlist?list=PLAYLIST_ID",
                               "limit": 100}).json()

ids = [v["video_id"] for v in playlist["items"]]
batch = requests.post(f"{API}/batch", headers=HEADERS, json={
    "video_ids": ids,
    "format": {"timestamp": True, "paragraphs": True},
}).json()

# Large batches run async: poll GET /batch/{batch_id} until status is "completed"
for r in batch.get("results", []):
    if r["status"] == "completed":
        for p in r["data"]["transcript"].get("paragraphs") or []:
            store(video_id=r["video_id"], start=p["start"], text=p["text"])  # your vector DB

만들 가치가 있는 이유

연구자에게는 수작업 전사에 비해 훨씬 적은 비용과 시간으로 재현 가능한 데이터셋을 얻는 것이 가장 큰 이점입니다. 미디어 모니터링 기업과 싱크탱크를 대상으로 유료 데이터셋이나 분석 서비스를 만드는 팀도 있습니다.

피해야 할 실수

  • 자동 자막과 사람이 만든 자막을 표시 없이 섞기: 정확도가 다르므로 자막 출처를 기록하세요.
  • 원본 응답을 저장하지 않기: 분석을 다시 실행할 수 있도록 원본 JSON을 보관하세요.
  • 연구 윤리 심의와 플랫폼 약관 무시하기: 데이터셋을 공개하기 전에 소속 기관의 요건과 YouTube 약관을 확인하세요.

이 아이디어에 대한 질문

YouTube 자막을 학술 연구에 사용할 수 있나요?

많은 연구자가 사용합니다. 특히 데이터셋을 공개하기 전에 소속 기관의 윤리 요건, YouTube 약관, 저작권법을 확인하세요.

YouTube 자동 자막은 얼마나 정확한가요?

음질, 억양, 주제에 따라 다릅니다. API는 각 자막이 수동 자막, 자동 자막, AI 음성 인식 중 어디서 왔는지 알려 주므로 이를 분석에 반영할 수 있습니다.

한 번에 몇 개의 영상을 수집할 수 있나요?

Business 요금제에서는 배치 요청 하나에 최대 3,000개의 영상 ID를 넣을 수 있습니다. 더 큰 연구는 여러 배치로 나눠 실행하면 됩니다.

오늘 바로 만들어 보세요

매달 무료 크레딧 10개. 신용카드가 필요 없습니다.

연구용 YouTube 자막 코퍼스 구축하기 | YouTubeTranscript.dev