A comprehensive n8n community node for downloading and processing video content from various sources including M3U8 streams, direct video files, and social media platforms: Douyin, Weibo, Pipixia, ...
- 🎥 Multiple Video Sources: Support for M3U8 playlists, direct video files (MP4, MKV, MOV, etc.), and social media platforms (Douyin, Weibo, Pipixia)
- 🔍 Auto-Detection: Automatically detects download type based on URL extension
- ⚙️ Advanced Configuration: Full control over download parameters including threading, headers, caching, and more
- 📊 Progress Tracking: Real-time download progress monitoring
- 🛡️ Error Handling: Robust error handling with continue-on-fail options
- Go to Settings > Community Nodes in n8n
- Search for
n8n-nodes-video-downloader - Click Install
-
Install the package:
npm install n8n-nodes-video-downloader
-
Restart n8n
- Add the Video Downloader node to your workflow
- Configure the required parameters:
- URL: The video source URL
- Filename: Output filename (e.g.,
video.mp4)
The node automatically detects the download type based on URL patterns:
| URL Type | Auto-Detected As | Examples |
|---|---|---|
| M3U8 Playlist | m3u8 |
https://example.com/playlist.m3u8 |
| Video Files | file |
https://example.com/video.mp4https://example.com/movie.mkv |
| Social Media | parser |
Douyin, Weibo, Pipixia URLs |
- Type: Manual override for download type (
Auto,M3U8,File,Parser) - URL: Source video URL (required)
- Filename: Output filename (required)
- Cache Directory: Temporary files storage location
- Save Directory: Final output directory
- Thread Number: Concurrent download threads (default: 8, max recommended: 8)
- Max Downloads: Maximum concurrent downloads (default: 8)
- Overwrite Existing File: Force overwrite if file exists (default: false)
- Delete Cache: Remove temporary files after download (default: true)
- Send Headers: Enable custom HTTP headers
- Specify Headers: Custom headers for requests (name/value pairs)
- Ignore Segments: Skip specific time segments (format:
0-10,100-110)
The node includes comprehensive error handling:
- Continue on Fail: When enabled, failed downloads won't stop the workflow
- Detailed Error Messages: Clear error descriptions for troubleshooting
- Item Index Tracking: Errors include item index for multi-item workflows
- Thread Count: Balance speed vs. server load (recommended: 4-8 threads)
- Cache Management: Enable cache deletion to save disk space
- File Overwrite: Use carefully to avoid accidental data loss
- Network Limits: Respect server limitations and rate limits
Node doesn't appear in n8n:
- Ensure the package is properly installed
- Restart n8n after installation
- Check console for loading errors
Download fails:
- Verify URL is accessible and valid
- Check network connectivity
- Reduce thread count if server rejects requests
- Enable headers if authentication is required
File not found errors:
- Ensure output directory exists and is writable
- Check filename doesn't contain invalid characters
- Verify sufficient disk space
Slow downloads:
- Increase thread count (if server allows)
- Check network speed
- Consider using a different CDN/source
git clone https://github.com/revolabs-io/n8n-nodes-video-downloader.git
cd n8n-nodes-video-downloader
npm install
npm run buildnpm run devThis starts n8n with the node loaded for testing.
See CHANGELOG.md for a complete history of changes and releases.
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes and add tests
- Run tests:
npm test - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- @lzwme/m3u8-dl - A command-line tool for batch downloading m3u8 format videos
