@minhchi1509/ytdl
v1.0.1
Published
[](https://www.npmjs.com/package/@minhchi1509/ytdl) [](https://opensource.org/licenses/MIT)
Maintainers
Readme
🎬 YouTube Video Downloader CLI
Một công cụ dòng lệnh (CLI) mạnh mẽ và dễ sử dụng để tải video YouTube với chất lượng cao, hỗ trợ cả video thường và YouTube Shorts.
✨ Tính năng
- 🎯 Tải video YouTube và Shorts với chất lượng tùy chọn
- 🔧 Hợp nhất audio và video tự động bằng FFmpeg
- 📁 Tùy chọn thư mục lưu linh hoạt (mặc định hoặc tùy chỉnh)
- 🎨 Giao diện thân thiện với emoji và màu sắc
- ✅ Kiểm tra dependencies tự động (FFmpeg)
- 📊 Hiển thị thông tin file (kích thước video/audio)
📋 Yêu cầu hệ thống
🔴 Bắt buộc: Cài đặt FFmpeg trước
Trước khi sử dụng công cụ này, bạn BẮT BUỘC phải cài đặt FFmpeg:
Windows
# Sử dụng Chocolatey
choco install ffmpeg
# Hoặc sử dụng Scoop
scoop install ffmpeg
# Hoặc tải từ trang chính thức
# https://ffmpeg.org/download.htmlMacOS
# Sử dụng Homebrew
brew install ffmpegLinux (Ubuntu/Debian)
sudo apt update
sudo apt install ffmpegLinux (CentOS/RHEL)
sudo yum install ffmpeg
# hoặc
sudo dnf install ffmpegKiểm tra cài đặt FFmpeg
ffmpeg -version🚀 Cài đặt và sử dụng
Cách 1: Sử dụng trực tiếp với npx (Khuyến nghị)
npx @minhchi1509/ytdlCách 2: Cài đặt global
# Cài đặt
npm install -g @minhchi1509/ytdl
# Sử dụng
@minhchi1509/ytdl🎮 Hướng dẫn sử dụng
Chạy lệnh CLI:
npx @minhchi1509/ytdlCông cụ sẽ tự động kiểm tra FFmpeg:
- ✅ Nếu đã cài đặt: Tiếp tục
- ❌ Nếu chưa cài: Hiển thị hướng dẫn và dừng
Nhập URL YouTube:
Nhập URL video YouTube cần tải: https://www.youtube.com/watch?v=...Hỗ trợ các định dạng:
- Video thường:
https://youtube.com/watch?v=VIDEO_ID - YouTube Shorts:
https://youtube.com/shorts/VIDEO_ID
- Video thường:
Chọn chất lượng video:
? Chọn chất lượng video: ❯ 1080p (Video: 15.2MB, Audio: 2.1MB) 720p (Video: 8.7MB, Audio: 2.1MB) 480p (Video: 4.3MB, Audio: 2.1MB)Chọn thư mục lưu:
- Nếu có thư mục Downloads: Hỏi có dùng mặc định không
- Nếu không có: Yêu cầu nhập đường dẫn tùy chỉnh
Chờ tải hoàn thành:
🔍 Đang lấy thông tin video... ✅ Đã chọn chất lượng: 1080p 📁 Video sẽ được lưu tại: C:\Users\...\Downloads\video_ABC123.mp4 📥 Bắt đầu tải video và audio... ✅ Tải file thành công 🎬 Đang hợp nhất video và audio... ✅ Hợp nhất video + audio thành công 🎉 Tải video thành công! File đã được lưu tại: ...
📝 Ví dụ sử dụng
# Tải một video YouTube
npx @minhchi1509/ytdl
# Nhập: https://www.youtube.com/watch?v=dQw4w9WgXcQ
# Tải một YouTube Short
npx @minhchi1509/ytdl
# Nhập: https://www.youtube.com/shorts/abc123xyz🛠️ Development
Clone và cài đặt dependencies
git clone <repository-url>
cd youtube_video_download_cli
bun installBuild project
bun run buildChạy trong môi trường development
bun run src/main.ts📦 Cấu trúc thư mục
youtube_video_download_cli/
├── src/
│ ├── main.ts # Entry point chính
│ └── utils.ts # Các utility functions
├── package.json
├── tsconfig.json
├── esbuild.config.ts
└── README.md🔧 Cách hoạt động
- Kiểm tra FFmpeg - Đảm bảo FFmpeg đã được cài đặt
- Xác thực URL - Kiểm tra URL YouTube hợp lệ
- Lấy metadata - Gọi API để lấy thông tin video và các định dạng available
- Chọn chất lượng - Người dùng chọn chất lượng mong muốn
- Tải files - Tải song song video và audio streams
- Hợp nhất - Sử dụng FFmpeg để hợp nhất video + audio
- Dọn dẹp - Xóa các file tạm
⚠️ Lưu ý quan trọng
- FFmpeg là bắt buộc - Công cụ sẽ không hoạt động nếu thiếu FFmpeg
- Tuân thủ bản quyền - Chỉ tải video bạn có quyền hoặc để sử dụng cá nhân
- Kết nối internet - Cần internet ổn định để tải video
- Dung lượng đĩa - Đảm bảo có đủ không gian lưu trữ
🤝 Đóng góp
Mọi đóng góp đều được chào đón! Vui lòng:
- Fork repository
- Tạo feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Mở Pull Request
📄 License
Dự án này được phân phối dưới giấy phép MIT. Xem file LICENSE để biết thêm thông tin.
👨💻 Tác giả
Minh Chi - @minhchi1509
🙏 Acknowledgments
- FFmpeg - Công cụ xử lý multimedia mạnh mẽ
- Inquirer.js - Interactive command line interface
- Axios - HTTP client cho Node.js
⭐ Nếu thấy hữu ích, hãy để lại một star nhé! ⭐
