মূল বিষয়বস্তুতে যান
Transcript Dock
সাইন ইনবিনামূল্যে শুরু করুন

সাইট মেনু

Transcript Dock

LangChain এ ভিডিও ট্রান্সক্রিপ্ট

YouTube ও TikTok ট্রান্সক্রিপ্ট টাইমস্ট্যাম্পসহ LangChain Documents হিসেবে লোড করুন, অথবা একটি LangChain এজেন্টকে Transcript Dock MCP টুল দিন।

সংক্ষিপ্ত উত্তর: দুটি উপায় আছে। ইনডেক্স করার জন্য একটি ছোট লোডার ট্রান্সক্রিপ্টকে LangChain Document অবজেক্টে বদলে দেয়, প্রতিটি ক্যাপশন সেগমেন্টের জন্য একটি, তার শুরুর সময়সহ। এজেন্টের জন্য Transcript Dock MCP সার্ভার langchain-mcp-adapters দিয়ে LangChain এর সাথে যুক্ত হয়, এবং এজেন্ট নিজেই ট্রান্সক্রিপ্ট আনে।

একটি ডকুমেন্ট লোডার#

কুড়ি লাইনের কোড, কোনো অতিরিক্ত প্যাকেজ লাগে না। প্রতিটি Document এ ভিডিওর URL ও সময় থাকে, তাই অনুসন্ধানের ফলাফল বলতে পারে কোন মুহূর্ত থেকে এসেছে। এমবেড করার আগে সেগমেন্টগুলো বড় বড় অংশে (chunk) গুচ্ছবদ্ধ করুন, যেমনটি দেখানো হয়েছে RAG এর জন্য ট্রান্সক্রিপ্ট পাতায়।

loader.py
# pip install langchain-core requests
import requests
from langchain_core.documents import Document
 
API = "https://www.transcriptdock.com"
H = {"Authorization": "Bearer td_live_YOUR_KEY"}
 
def load_video(url: str, mode: str = "captions_only") -> list[Document]:
"""One Document per caption segment, with the video URL and start time as metadata."""
job = requests.post(f"{API}/v1/jobs", headers={**H, "Idempotency-Key": f"lc-{url}"[:128]},
json={"source": {"url": url}, "mode": mode}).json()
while job["status"] not in ("succeeded", "failed", "cancelled"):
job = requests.get(f"{API}/v1/jobs/{job['id']}", params={"wait": 25}, headers=H).json()
if job["status"] != "succeeded":
raise RuntimeError(job["error"]["code"])
t = requests.get(f"{API}/v1/transcripts/{job['result_id']}", headers=H).json()
meta = {"source": t["source"]["canonical_url"], "title": t["source"]["title"], "language": t["language"]}
return [Document(page_content=s["text"], metadata={**meta, "start": s["start"], "end": s["end"]})
for s in t["segments"]]
 
docs = load_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ")

MCP এর মাধ্যমে এজেন্ট টুল#

MultiServerMCPClient রিমোট সার্ভারের সাথে সংযুক্ত হয় এবং তার টুলগুলোকে LangChain টুলে বদলে দেয়: get_video_transcript, YouTube খোঁজা, চ্যানেল ও প্লেলিস্টের তালিকা এবং TikTok প্রোফাইলের তালিকা।

agent.py
# pip install langchain-mcp-adapters langgraph langchain-anthropic
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent
 
async def main():
client = MultiServerMCPClient({
"transcriptdock": {
"url": "https://www.transcriptdock.com/mcp",
"transport": "streamable_http",
"headers": {"Authorization": "Bearer td_live_YOUR_KEY"},
}
})
tools = await client.get_tools()
agent = create_react_agent("anthropic:claude-sonnet-5-5", tools)
out = await agent.ainvoke({"messages": "Summarize https://www.youtube.com/watch?v=dQw4w9WgXcQ"})
print(out["messages"][-1].content)
 
asyncio.run(main())

টুলের নাম, আর্গুমেন্ট ও ক্রেডিটের খরচ আছে MCP পাতায়। LlamaIndex ও MCP সমর্থন করে এমন অন্যান্য ফ্রেমওয়ার্কও একইভাবে সংযুক্ত হয়।

আরও গাইড

কীভাবে YouTube ট্রান্সক্রিপ্ট পাবেন

একটি YouTube ভিডিওর ট্রান্সক্রিপ্ট পাওয়ার পাঁচটি উপায়: YouTube নিজে থেকে, yt-dlp দিয়ে, Python এ, Transcript Dock API দিয়ে, অথবা Claude কে জিজ্ঞাসা করে।

কীভাবে TikTok ট্রান্সক্রিপ্ট পাবেন

একটি TikTok ভিডিওর ট্রান্সক্রিপ্ট টেক্সট বা সাবটাইটেল হিসেবে পান, একটি প্রোফাইলের সর্বশেষ ভিডিওর তালিকা দেখুন, এবং ক্যাপশনহীন ভিডিও সামলান।

RAG ও LLM পাইপলাইনের জন্য ভিডিও ট্রান্সক্রিপ্ট

YouTube ও TikTok ভিডিওকে এমন অংশে ভাগ করুন যা একটি LLM খুঁজতে ও উদ্ধৃত করতে পারে: সময়যুক্ত সেগমেন্ট আনুন, সময় অনুযায়ী অংশে ভাগ করুন, এবং টাইমস্ট্যাম্প লিংক রাখুন।

n8n এ YouTube ও TikTok ট্রান্সক্রিপ্ট

তিনটি HTTP Request নোড দিয়ে একটি n8n ওয়ার্কফ্লোতে ভিডিও ট্রান্সক্রিপ্ট আনুন, অথবা একটি n8n AI Agent কে Transcript Dock MCP টুল দিন।