HomeBlogTranscribePlansAPI Keys

yt-dlp 자막 vs 스크립트 API: 어느 것을 사용할 것인가

yt-dlp 자막 다운로드 명령 옆의 깨끗한 JSON 스크립트 API 응답의 분할 뷰

yt-dlp는 기본적으로 모든 YouTube 비디오에 대한 자막을 다운로드할 수 있으며, 미디어 다운로드를 위해 사용했다면 이미 플래그를 발견했을 것입니다. 합법적으로 훌륭한 도구입니다. 나는 모든 곳에 설치 유지합니다. 하지만 "자막을 다운로드할 수 있음"과 "서비스에서 스크립트를 얻는 올바른 방법"은 다른 주장이며, 나는 합치는 것으로 인해 타격을 받았습니다. 아무도 경고하지 않는 정리 단계를 포함하여 각 접근 방식이 실제로 어떻게 보이는지입니다.

yt-dlp 방식, 끝에서 끝까지

비디오를 다운로드하지 않고 자동 생성된 영어 자막을 가져오기:

yt-dlp --write-auto-sub --sub-lang en --skip-download \
  -o "%(id)s" "https://www.youtube.com/watch?v=VIDEO_ID"

(인간이 업로드한 트랙의 경우 --write-sub 또는 두 플래그를 함께 사용하십시오.) VIDEO_ID.en.vtt 파일을 떨어뜨립니다. 열면 완료되지 않은 이유를 볼 수 있습니다:

WEBVTT
Kind: captions
Language: en

00:00:00.320 --> 00:00:02.879
so today we're going to look at
00:00:01.760 --> 00:00:04.560
so today we're going to look at
how youtube handles

자동 자막은 "롤링" 캡션입니다. 각 큐는 이전 줄을 반복하므로 순진한 제거는 모든 문장을 두 번 제공합니다. 이 길을 가는 모든 사람은 결국 이의 일부 버전을 작성합니다:

import re, pathlib

lines = []
for line in pathlib.Path("VIDEO_ID.en.vtt").read_text().splitlines():
    if "-->" in line or line.startswith(("WEBVTT", "Kind:", "Language:")) or not line.strip():
        continue
    line = re.sub(r"<[^>]+>", "", line).strip()   # strip inline timing tags
    if not lines or line != lines[-1]:            # collapse rolling duplicates
        lines.append(line)
text = " ".join(lines)

명령, subprocess 처리, 파일 I/O, 중복 제거 - 평문 텍스트를 갖기 전에 40줄의 글루라고 부르세요.

yt-dlp가 올바른 답인 곳

서버에서 상처를 입는 곳

yt-dlp가 백엔드로 이동하는 순간 3개의 별도 유지 보수 부담이 나타납니다:

API 방식

위의 전체 파이프라인의 호스팅된 엔드포인트 버전:

curl -s "https://youtube2text.org/api/transcribe?url=VIDEO_ID" \
  -H "x-api-key: yt_YOUR_KEY"

JSON을 반환합니다. {"result": {"videoId", "title", "pubDate", "content", ...}} 이미 중복 제거된 평문, 구조화된 오류 포함 (TRANSCRIPT_UNAVAILABLE 캡션이 없을 때 대신 stderr 고고학). 공유 데모 키는 한 호출 거리에 있습니다 (curl -s https://youtube2text.org/api/demo-key, IP당 월 5개 비디오). 전체 빠른 시작은 curl로 스크립트 추출에 있습니다.

정직한 각주

두 접근 방식 모두 같은 장소에서 같은 캡션을 가져오고, 자동화된 트래픽을 원하지 않는 YouTube를 다루어야 합니다. yt-dlp는 그것을 당신의 문제로 만듭니다. 랩톱에서는 좋지만, 서버의 프록시 프로젝트입니다. 호스팅된 API는 그것을 제공자의 문제로 만듭니다: youtube2text.org는 서버 측을 통해 회전하는 주거용 프록시를 통해 fetch를 라우팅하며, 이는 정확히 데이터센터 IP에서 쉽게 복제할 수 없는 부분입니다. 스크립트에 대해 비용을 지불하지 않습니다. 운영하지 않기 위해 비용을 지불합니다.

내 분할: 자신의 기계에서 아카이브 및 일회용의 경우 yt-dlp, 무인으로 실행되는 모든 것을 위한 API. 그것이 당신의 상황과 일치한다면, 키는 youtube2text.org/app/keys에 있습니다. Google 로그인, 무료 5/월 계층, $5.99부터 유료.