tphim
v2.2.2
Published
TPHIM - Ultimate Video Pipeline: Download, Transcode HLS, AI Subtitles (with skip option), Resume Upload, and Cloud Upload.
Maintainers
Readme
💎 TPHIM - Ultimate Video Pipeline v2.2.1
TPHIM là bộ công cụ tối thượng để xây dựng hệ thống VOD (Video on Demand) chuyên nghiệp. Hỗ trợ tự động hóa từ khâu tải video, transcode HLS đa chất lượng, tạo phụ đề AI và upload lên Cloud (S3/Tebi).
🚀 Tính năng vượt trội
- Batch Pipeline: Xử lý hàng loạt phim chỉ với 1 dòng lệnh.
- AI Subtitles: Tự động tạo phụ đề Tiếng Việt/Tiếng Anh bằng công cụ AI (Whisper) chạy offline. Hỗ trợ bỏ qua phụ đề để tăng tốc độ.
- Resume Upload: Tự động lưu tiến trình upload, tiếp tục từ điểm dừng nếu bị gián đoạn.
- Cloud Ready: Upload trực tiếp lên Tebi.io hoặc bất kỳ S3-compatible storage nào.
- Interactive CLI: Giao diện terminal đẹp mắt với neon theme.
- 🆕 Dual Preview Sprites: Tự động tạo cả High-Res và Low-Res preview sprites cho tối ưu mobile/desktop.
📋 Changelog v2.2.1
- ✨ NEW: Dual Preview Sprites (High-Res + Low-Res) với FFmpeg Complex Filter
- ⚡ OPTIMIZATION: Tiết kiệm CPU với single-pass processing
- 📱 MOBILE: Low-Res sprites (80x45 tiles) tối ưu cho mobile và preview nhanh
- 🔧 TECH: Sử dụng
child_process.spawnthay choexecSyncđể better performance - 🚀 VPS: Auto-detect Ubuntu VPS và tối ưu FFmpeg parameters (preset: superfast, tune: zerolatency) i
🛠️ Hướng dẫn cài đặt (VPS Ubuntu / Google Cloud / Linux)
Để chạy được bộ công cụ này trên Linux/VPS, bạn cần cài đặt các "vũ khí" sau:
1. Cài đặt Node.js
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs2. Cài đặt FFmpeg & Python
sudo apt update
sudo apt install -y ffmpeg python3 python3-pip python3-full python3-venv3. Cài đặt yt-dlp (Để tải video)
# Method 1: Download trực tiếp (Recommended)
sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
# Method 2: Sử dụng pipx (không cần venv)
sudo apt install pipx
pipx install yt-dlp
pipx ensurepath
# Method 3: Sử dụng virtual environment
python3 -m venv ~/.yt-dlp-env
source ~/.yt-dlp-env/bin/activate
pip install yt-dlp
deactivate
echo 'export PATH="$HOME/.yt-dlp-env/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc4. Cài đặt thư viện AI (faster-whisper)
# Tạo virtual environment cho AI
python3 -m venv ~/.whisper-env
source ~/.whisper-env/bin/activate
pip install faster-whisper
deactivate
echo 'export PATH="$HOME/.whisper-env/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc5. Cài đặt TPHIM
npm install -g tphim6. Kiểm tra cài đặt
# Kiểm tra yt-dlp
yt-dlp --version
# Kiểm tra TPHIM CLI
ntxa help
# Kiểm tra FFmpeg
ffmpeg -version📱 Hướng dẫn trên Android (Termux)
Bạn hoàn toàn có thể chạy Pipeline này ngay trên điện thoại:
Cài đặt môi trường:
pkg update && pkg upgrade pkg install nodejs ffmpeg python python-pip wgetCài đặt yt-dlp:
# Method 1: Download trực tiếp wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O $PREFIX/bin/yt-dlp chmod a+rx $PREFIX/bin/yt-dlp # Method 2: Sử dụng pip pip install yt-dlpCài đặt thư viện AI:
# Termux thường không cần venv, install trực tiếp pip install faster-whisperCài đặt TPHIM:
npm install -g tphim
📦 Sử dụng như một Thư viện (Library)
Cài đặt vào dự án của bạn:
npm install tphimTrong code Node.js:
import { executePipeline } from 'tphim';
await executePipeline({
input: "https://link-phim.com/phim.m3u8",
slug: "phim-hay-2030",
title: "Phim Hay 2030",
langArg: "vi" // hoặc "en", "both", "skip"
});⌨️ Sử dụng CLI (Terminal)
Cài đặt globally:
npm install -g tphimCác lệnh CLI:
# Xem hướng dẫn
ntxa help
# Chạy interactive mode
ntxa
# Chạy với tên phim mặc định
ntxa "Tên Phim Của Bạn"
# Xử lý batch nhiều link
ntxa
# (sẽ hỏi nhập nhiều link cách nhau bằng dấu phẩy)Cấu hình bắt buộc:
Tạo file .env với các biến sau:
TEBI_ENDPOINT=https://s3.tebi.io
TEBI_ACCESS_KEY_ID=your_access_key
TEBI_SECRET_ACCESS_KEY=your_secret_key
TEBI_BUCKET=your_bucket_name
TEBI_PUBLIC_URL=https://your-bucket.tebi.io🔧 Tính năng CLI
Interactive Mode:
- Nhập multiple links (cách nhau bằng dấu phẩy)
- Tự động fetch metadata từ video
- Chọn ngôn ngữ phụ đề (VI/EN/Both/Skip)
- Batch processing với progress bar
- Resume Upload: Tự động tiếp tục upload nếu bị gián đoạn
Help System:
ntxa help # Hiển thị toàn bộ hướng dẫn
ntxa --help # Tương tự
ntxa -h # Tương tự🔄 Resume Upload Feature
Tự động lưu và khôi phục tiến trình upload:
- Progress Tracking: Tạo file
.upload-progress.jsontrong thư mục HLS - Smart Resume: Chỉ upload những file chưa có trên cloud
- Crash Recovery: Nếu mất kết nối, chạy lại là tiếp tục từ điểm dừng
- Auto Cleanup: Xóa progress file khi upload hoàn tất
Cách hoạt động:
# Lần đầu chạy
☁️ Uploading 1227 files to Tebi.io... (0 already uploaded)
↳ 107/1227 files...
# Nếu bị gián đoạn và chạy lại
🔄 Found progress file. Resuming from 106 uploaded files...
☁️ Uploading 1121 files to Tebi.io... (106 already uploaded)
↳ 113/1227 files...
# Bỏ qua file đã tồn tại
⏭ Skipping hls/test-phim-2024/1080p/index.m3u8 (already exists on cloud)Phát triển bởi TXA - Ultimate Video Pipeline 2030 v2.2.2 🍿🎬 Last Update: March 2026
