HomeBlogTranscribePlansAPI Keys

yt-dlp 字幕対トランスクリプト 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

自動字幕は「ローリング」字幕です―各キューは前の行を繰り返すため、素朴なストリッピングはすべての文を2回与えます。この道路を下に行く人は誰でも、このクリーンアップのいくつかのバージョンを書くことになります:

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)

コマンド、サブプロセス処理、ファイル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アーケオロジーの代わりに)。共有デモキーは1つの呼び出し離れています(curl -s https://youtube2text.org/api/demo-key、月5ビデオあたりIP)。完全なクイックスタートはcurlでトランスクリプトを抽出です。

正直な脚注

両方のアプローチは同じ場所から同じ字幕を取得し、両方ともYouTubeが自動化されたトラフィックを望まないことに対処する必要があります。yt-dlpはそれをあなたの問題にします―ラップトップで問題ありません。サーバーのプロキシプロジェクト。ホストされたAPIはそれをプロバイダーの問題にします: youtube2text.orgはサーバー側で回転住宅用プロキシ経由でフェッチをルーティングします。データセンターIPから簡単に複製することはできない正確な部分。あなたはトランスクリプトを支払っていません。それを操作しないかのために支払っています。

私の分割: アーカイブと自分のマシンのワンオフのためのyt-dlp、無人で実行される何かのためのAPI。その状況に合致する場合、キーはyoutube2text.org/app/keysにあります―Googleサインイン、無料5/月ティア、$5.99から支払われました。