بلڈ گائیڈ · ایپ ڈویلپرز

YouTube ویڈیوز کے اندر بولی گئی باتوں کے لیے سرچ انجن کیسے بنائیں

YouTube سرچ عنوانات، تفصیلات اور ٹیگز سے میچ کرتی ہے۔ یہ نہیں بتا سکتی کہ 400 پوڈکاسٹ اقساط میں سے کس میں کسی خاص مہمان، کتاب یا خیال کا ذکر ہے، یا کس منٹ پر۔ ٹرانسکرپٹ پر مبنی سرچ انجن یہ بتا سکتا ہے، اور یہ API پر بنائے جانے والے سب سے تیز مفید پروڈکٹس میں سے ایک ہے۔

یہ کس کے لیے ہے
پوڈکاسٹ نیٹ ورکس، کورس پلیٹ فارمز، فین کمیونٹیز، اندرونی ویڈیو لائبریریاں
بنانے کا وقت
ایک ویک اینڈ
API اینڈپوائنٹس
/channels/resolve/batch/transcripts/{video_id}

یہ کون سا مسئلہ حل کرتا ہے

بڑی ویڈیو لائبریریاں عملاً ناقابلِ تلاش ہوتی ہیں۔ مداح آدھے یاد لمحے کو ڈھونڈنے کے لیے گھنٹوں کی ویڈیو آگے پیچھے کرتے ہیں، کورس کے طلبہ ایک وضاحت ڈھونڈنے کے لیے پورے اسباق دوبارہ دیکھتے ہیں، اور کمپنیاں ریکارڈ شدہ گفتگوؤں میں دبا ادارہ جاتی علم کھو دیتی ہیں۔ ٹائم اسٹیمپس کے ساتھ ٹرانسکرپٹس کو انڈیکس کرنا ہر لائبریری کو دستاویز کی طرح قابلِ تلاش بنا دیتا ہے، اور نتائج سیدھے صحیح لمحے پر لے جاتے ہیں۔

پہلے ورژن میں کیا شامل کریں

  • کسی چینل یا پلے لسٹ کی ہر ویڈیو میں فقرے اور کلیدی لفظ کی تلاش
  • نتائج جو میچ ہونے والا جملہ عین ٹائم اسٹیمپ کے لنک کے ساتھ دکھائیں
  • معنوی تلاش تاکہ "میں اپنے پروڈکٹ کی قیمت کیسے رکھوں" سے "اپنے ریٹس طے کرنا" بھی مل جائے
  • تاریخ، ویڈیو اور مقرر کے لحاظ سے فلٹرز
  • نئی اپلوڈز کی خودکار انڈیکسنگ

اسے مرحلہ وار کیسے بنائیں

  1. 01

    ویڈیوز کی فہرست جمع کریں

    چینل ہینڈل یا پلے لسٹ URL کے ساتھ /channels/resolve یا /playlists/resolve کو کال کریں تاکہ ہر ویڈیو ID اور عنوان مل جائے۔

  2. 02

    ٹرانسکرپٹس بڑی تعداد میں حاصل کریں

    IDs کو format.timestamp اور format.paragraphs فعال کر کے /batch پر بھیجیں۔ بڑے بیچ غیر ہم وقت (asynchronous) چلتے ہیں، اس لیے /batch/{batch_id} کو پول کریں یا ویب ہُک استعمال کریں۔

  3. 03

    حصوں کو انڈیکس کریں

    ہر پیراگراف کو اس کی ویڈیو ID اور آغاز کے وقت کے ساتھ محفوظ کریں۔ کلیدی لفظ کی تلاش کے لیے Postgres فل ٹیکسٹ سرچ کافی ہے؛ معنی پر مبنی تلاش کے لیے pgvector یا کسی ویکٹر ڈیٹا بیس میں ایمبیڈنگز شامل کریں۔

  4. 04

    سرچ UI بنائیں

    سب سے بہتر میچز اردگرد کے متن اور youtube.com/watch?v=ID&t=SECONDS طرز کے لنک کے ساتھ دکھائیں تاکہ صارف عین اسی لمحے پر پہنچیں۔

  5. 05

    اسے تازہ رکھیں

    ایک شیڈول شدہ جاب چلائیں جو چینل کو دوبارہ resolve کرے، نئی ویڈیو IDs ڈھونڈے اور صرف انہی کو ٹرانسکرائب کرے۔

اسٹارٹر کوڈ

یہ آئیڈیا "ترکیب 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

اسے بنانا کیوں فائدہ مند ہے

اسے ناظر کے بجائے لائبریری کے مالک کو بیچیں: پوڈکاسٹ نیٹ ورکس، کورس پلیٹ فارمز اور اندرونی ویڈیو آرکائیو رکھنے والی کمپنیاں ایسی تلاش کے لیے ماہانہ فیس دیں گی جو ان کے ناظرین کو مصروف رکھے۔ فین کمیونٹیز کے لیے مفت عوامی سرچ کے ساتھ الرٹس یا API رسائی کا ادا شدہ درجہ بھی کام کرتا ہے۔

ان غلطیوں سے بچیں

  • پورے ٹرانسکرپٹ کو ایک دستاویز کے طور پر انڈیکس کرنا: پیراگراف کی سطح کے ٹائم اسٹیمپس کے بغیر سرچ نتائج بیکار ہو جاتے ہیں۔
  • ہر اپڈیٹ پر پورا چینل دوبارہ ٹرانسکرائب کرنا، بجائے اس کے کہ یہ ٹریک کیا جائے کہ کون سی ویڈیو IDs پہلے ہی پروسیس ہو چکی ہیں۔
  • صرف عین کلیدی لفظ کے میچ پر انحصار: بولی جانے والی زبان بے ترتیب ہوتی ہے، اس لیے معنوی تلاش جلد شامل کریں۔

اس آئیڈیا کے بارے میں سوالات

کیا YouTube ٹرانسکرپٹس تلاش کرنے کے لیے ویکٹر ڈیٹا بیس ضروری ہے؟

نہیں۔ زیادہ تر لائبریریوں کے لیے Postgres فل ٹیکسٹ سرچ کلیدی لفظ کی تلاش اچھی طرح سنبھال لیتی ہے۔ جب آپ عین الفاظ کے بجائے معنی سے میچ کرنے والے نتائج چاہیں تو ایمبیڈنگز شامل کریں۔

سرچ نتیجے کو ویڈیو کے عین لمحے سے کیسے لنک کروں؟

ٹرانسکرپٹ کے ہر حصے میں سیکنڈز میں آغاز کا وقت شامل ہوتا ہے۔ YouTube URL کے آخر میں &t= اور اس کے بعد وہ عدد لگا دیں۔

کیا میں ان ویڈیوز کو انڈیکس کر سکتا ہوں جن پر کیپشنز نہیں ہیں؟

جی ہاں۔ ویب ہُک URL کے ساتھ allow_asr فعال کریں، اور کیپشنز نہ ہونے کی صورت میں API آڈیو کو AI اسپیچ ریکگنیشن سے ٹرانسکرائب کر دیتا ہے۔

آج ہی بنانا شروع کریں

ہر مہینے 10 مفت کریڈٹس۔ کریڈٹ کارڈ کی ضرورت نہیں۔

YouTube ویڈیو سرچ انجن کیسے بنائیں (ویڈیوز کے اندر تلاش) | YouTubeTranscript.dev