해결하는 문제
수작업 전사로는 연구 대상이 영상 수십 개로 제한되고, 임시방편 스크레이핑 스크립트는 자주 깨지고 재현하기 어렵습니다. 연구자에게는 정의된 채널·기간 표본의 완전한 자막을 수집하고, 메타데이터와 함께 저장하고, 다른 사람이 재현할 수 있도록 방법을 공유하는 믿을 만한 방법이 필요합니다.
첫 버전에 넣을 기능
- 문서화된 채널 표본과 기간
- 메타데이터와 함께 원본 JSON으로 저장된 완전한 자막
- 영상별 자막 출처 기록(수동, 자동, AI)
- R, Python, NVivo, ATLAS.ti용 CSV 또는 텍스트 내보내기
- 재현을 위해 다시 실행할 수 있는 수집 스크립트
단계별 개발 방법
- 01
표본 정의
연구할 채널과 기간을 정리하고, 연구 방법 섹션에 쓸 포함 기준을 기록합니다.
- 02
영상 목록 조회
채널마다 /channels/resolve를 호출하고 게시일로 결과를 필터링합니다.
- 03
자막 수집
영상 ID를 /batch로 보내고, 각 자막의 언어와 자막 출처를 포함한 JSON 응답 전체를 저장합니다.
- 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를 넣을 수 있습니다. 더 큰 연구는 여러 배치로 나눠 실행하면 됩니다.