npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@minproducer/n8n-nodes-ytube-transcript-wlang

v1.1.1

Published

Custom n8n node to fetch YouTube subtitles with language and cookie support using yt-dlp

Downloads

61

Readme

n8n-nodes-ytube-transcript-wlang

npm version License: MIT n8n Build

🔧 A powerful n8n custom node to extract and parse YouTube subtitles using yt-dlp, with multi-language support and structured JSON output.


🇻🇳 Mô tả

Node tùy chỉnh cho n8n, giúp trích xuất phụ đề video YouTube bằng công cụ yt-dlp. Hỗ trợ lựa chọn ngôn ngữ phụ đề (ví dụ: vi, en, ja, ...), xác thực bằng cookie, và chuyển phụ đề định dạng .vtt sang JSON có cấu trúc, sẵn sàng để xử lý hoặc lưu trữ.


✨ Tính năng

  • 📼 Nhận cả URL YouTube và video ID
  • 🌐 Lựa chọn ngôn ngữ phụ đề (lang: vi, en, ja,...)
  • 🔐 Hỗ trợ xác thực bằng cookie (dạng chuỗi hoặc file .txt)
  • 📄 Phân tích .vtt thành JSON chi tiết (text, start, duration)
  • 🧹 Tự động dọn dẹp file tạm sau xử lý

📦 Cài đặt

1. Cài qua npm

npm install @minproducer/n8n-nodes-ytube-transcript-wlang

2. Đặt vào thư mục custom node:

~/.n8n/nodes/

3. Hoặc mount vào Docker:

volumes:
  - ./nodes:/home/node/.n8n/nodes

🧪 Ví dụ input

{
  "videoId": "5rJbGqNyPn4",
  "lang": "vi"
}

📤 Ví dụ output

{
  "youtubeId": "5rJbGqNyPn4",
  "transcript": [
    {
      "text": "Xin chào các bạn",
      "start": 0,
      "duration": 2.5
    }
  ],
  "metadata": {
    "title": "Mỹ phát ‘cảnh báo thép’...",
    "duration": 499,
    "uploader": "VIETNAM NEWS AGENCY MEDIA...",
    "uploadDate": "20250622",
    "view_count": 15000,
    "description": "..."
  }
}

🧪 Kiểm thử (Testing)

Tool test đi kèm tại tools/test-runner.js:

Chạy test toàn bộ:

npm run test

Test 1 video cụ thể:

node tools/test-runner.js --url "https://www.youtube.com/watch?v=5rJbGqNyPn4" --lang vi --format both --savefile

Test hàng loạt:

node tools/test-runner.js --file tools/video-list.json --output-dir ./results --save

Tuỳ chọn khác:

| Flag | Mô tả | |------|------| | --video / --url | Chỉ định video | | --lang | Ngôn ngữ phụ đề (vi, en, ja) | | --prefer-manual | Ưu tiên phụ đề thủ công | | --format | Kết quả: structured, plainText, both | | --save / --savefile | Lưu kết quả vào file | | --output-dir | Thư mục lưu kết quả | | --debug | Bật lỗi chi tiết |

📁 File kết quả sẽ được lưu trong test-results/ hoặc thư mục chỉ định.


🇬🇧 English

Custom node for n8n to extract YouTube subtitles via yt-dlp, with support for subtitle language selection (vi, en, ja, etc.), cookie authentication, and full .vtt parsing into structured JSON.


✨ Features

  • 📼 Accepts both YouTube URL and video ID
  • 🌍 Select subtitle language (lang: vi, en, ja,...)
  • 🔐 Supports cookie-based authentication (string or file)
  • 📄 Parses .vtt subtitle files into structured JSON (text, start, duration)
  • 🧹 Auto-cleans temp files after use

📦 Installation

npm install @minproducer/n8n-nodes-ytube-transcript-wlang

Place inside custom node folder:

~/.n8n/nodes/

Or mount in Docker:

volumes:
  - ./nodes:/home/node/.n8n/nodes

🧪 Testing Instructions

Test runner included at tools/test-runner.js.

Run all test cases:

npm run test

Test a specific video:

node tools/test-runner.js --url "https://www.youtube.com/watch?v=5rJbGqNyPn4" --lang en --format both --savefile

Run batch test from file:

node tools/test-runner.js --file tools/video-list.json --save

📝 License

MIT © minproducer