Releases: fantomcheg/vot-cli-live
v1.7.5 - Quiet/JSON Output + Translation Polling
🎉 vot-cli-live v1.7.5 - Machine-Readable Output Modes
🎯 Overview
This release adds machine-readable output modes (--quiet and --json) for seamless integration with external tools, plus automatic translation polling.
✨ New Features
1. --quiet Mode (Issue #1)
Minimal output for scripts and pipes:
mpv Integration:
#!/usr/bin/env bash
url="$1"
vot_audio=$(vot-cli-live --quiet "$url")
mpv --fs "$url" --external-file="$vot_audio"Batch Processing:
while read url; do
audio=$(vot-cli-live --quiet "$url" 2>/dev/null)
[ $? -eq 0 ] && echo "$url -> $audio"
done < urls.txt2. --json Mode
Structured JSON output:
[
{
"url": "https://youtu.be/jNQXAC9IVRw",
"platform": "youtube",
"videoTitle": "Me_at_the_zoo",
"success": true,
"audioUrl": "https://vtrans.s3.yandex.net/...",
"voiceType": "live"
}
]jq Processing:
vot-cli-live --json "$url" | jq -r '.[].audioUrl'3. Translation Polling 🔄
Automatic waiting for translation (up to 5 minutes):
⏳ Translation in progress... (30s elapsed, attempt 3/30)
📦 Installation
npm install -g vot-cli-live🚀 Usage Examples
# Quiet mode - only URL output
vot-cli-live --quiet "https://www.youtube.com/watch?v=VIDEO_ID"
# JSON mode - structured data
vot-cli-live --json "https://www.youtube.com/watch?v=VIDEO_ID"
# With video merge
vot-cli-live --quiet --merge-video "URL"
# Outputs: /path/to/video.mp4🎯 Use Cases
✅ mpv/vlc integration - play with translation overlay
✅ Batch processing - process multiple videos
✅ CI/CD pipelines - automated testing
✅ Python/Node.js scripts - programmatic access
🙏 Credits
- Original vot-cli: @ToilOfficial
- Fork maintainer: @fantomcheg
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Examples: EXAMPLES.md
Closes #1
v1.7.4 - VK Translation Fix (Issue #2)
🎉 vot-cli-live v1.7.4 - Live Voices Platform Support Fix
🐛 Critical Bug Fix: VK Translation Support
Issue #2 Fixed: VK videos now work correctly!
Problem (Before v1.7.4):
vot-cli-live --output="." --voice-style=live "https://vk.com/video-123_456"
# ❌ Error: "Downloading failed! Link "undefined" not found"Solution (v1.7.4):
vot-cli-live --output="." --voice-style=live "https://vk.com/video-123_456"
# ⚠️ Live voices not officially supported for vk
# Using standard TTS instead (better compatibility)
# ✅ Translated successfully with TTS 🤖✨ What's New
1. Platform-Aware Live Voices 🎯
| Platform | Live Voices | Auto-Fallback |
|---|---|---|
| YouTube | ✅ Supported | N/A |
| Twitch | ✅ Supported | N/A |
| Vimeo | ✅ Supported | N/A |
| VK | ✅ Automatic | |
| OK.ru | ✅ Automatic | |
| Rutube | ✅ Automatic |
2. New Parameter: --force-live-voices 🔧
vot-cli-live --output="." --voice-style=live --force-live-voices \
"https://vk.com/video-123_456"3. Better Error Handling
- Status 7 handling (translation not available)
- Clear error messages
- Automatic fallback to TTS
📦 Installation
npm install -g vot-cli-live🚀 Usage
# VK video (auto-fallback to TTS)
vot-cli-live --output="." "https://vk.com/video-123_456"
# YouTube video (live voices)
vot-cli-live --output="." "https://www.youtube.com/watch?v=VIDEO_ID"🙏 Credits
- Original vot-cli: @ToilOfficial
- Fork maintainer: @fantomcheg
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Analysis: ISSUE-2-ANALYSIS.md
Closes #2
v1.7.3 - Professional Audio Mixing
🎉 vot-cli-live v1.7.3 - Professional Audio Mixing
🎚️ Major Audio Quality Update!
This release brings professional-grade audio mixing to vot-cli-live!
🔥 What's New
1. Improved ffmpeg Profile 🎧
Old approach (volume):
[0:a]volume=0.3[a1];[1:a]volume=1.5[a2];[a1][a2]amix- ❌ Risk of clipping (audio distortion)
- ❌ Uneven volume throughout video
New approach (weights + dynaudnorm):
amix=weights=0.3 1.5[m];[m]dynaudnorm=framelen=30:gausssize=31:maxgain=12- ✅ Mathematically correct mixing
- ✅ Automatic volume leveling
- ✅ No more volume jumping!
2. Dynamic Audio Normalization 🔥
Without dynaudnorm:
Volume: ▁▁▁▃▃▃█████▃▃▁▁▁ ← constantly adjusting
With dynaudnorm:
Volume: ▅▅▅▅▅▅▅▅▅▅▅▅▅▅▅ ← consistent! 🎧
Benefits:
- Set volume once and forget it
- Comfortable listening experience
- Professional sound quality
3. New Parameter: --normalize-audio
# With normalization (default, recommended)
vot-cli-live --output="." --merge-video "URL"
# Without normalization (faster, but may need manual adjustment)
vot-cli-live --output="." --merge-video --normalize-audio=false "URL"📦 Installation
npm install -g vot-cli-live🚀 Usage
# Basic usage (normalization enabled by default)
vot-cli-live --output="." --merge-video \
--original-volume=0.3 \
--translation-volume=1.5 \
"https://www.youtube.com/watch?v=VIDEO_ID"📝 Technical Details
- Performance: ~10% slower with normalization (worth it!)
- Quality: Professional-grade audio mixing
- Compatibility: Works with all supported platforms
🙏 Credits
- Original vot-cli: @ToilOfficial
- Fork maintainer: @fantomcheg
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Documentation: AUDIO-IMPROVEMENTS.md
v1.7.2 - Documentation: Troubleshooting Guide
🎉 vot-cli-live v1.7.2 - Documentation Update
📚 Documentation Update: Comprehensive Troubleshooting
This is a DOCUMENTATION RELEASE with a complete troubleshooting guide for all users!
🆕 What's New
📖 TROUBLESHOOTING.md (500+ lines)
Added a comprehensive troubleshooting guide covering ALL known issues and their solutions:
🔧 Version Conflicts After Update
Problem: After npm install -g vot-cli-live, --version shows old version
Cause: Conflict between system installations (/usr/bin, /bin) and nvm installations
Solution:
# Find all installations
which -a vot-cli-live
# Remove old system installations
sudo rm -f /usr/bin/vot-cli-live /bin/vot-cli-live
# Clear shell cache
hash -r
# Verify
vot-cli-live --version🌐 ECONNRESET Network Errors
Problem: AxiosError: ECONNRESET when translating videos
Solution: Use proxy to bypass network restrictions
vot-cli-live --proxy="http://proxy.example.com:8080" \
--output="." \
"https://www.youtube.com/watch?v=VIDEO_ID"⏰ Timeout Issues
Problem: yt-dlp timeout or ffmpeg timeout errors
Current timeouts:
- Yandex API: 60 seconds
- Translation retry: 5 minutes (10 attempts × 30s)
- yt-dlp download: 10 minutes
- ffmpeg processing: 15 minutes
Solution: For very long videos (>30 min), download audio separately and merge manually
🔒 3 Vulnerabilities Warning
Problem: npm install shows "3 vulnerabilities"
Solution: Most vulnerabilities are not critical for CLI tools. Run npm audit to check details.
🐙 GitHub Release Creation Fails
Problem: gh release create fails with "Bad credentials"
Solution:
gh auth login
# Follow interactive promptsOr create manually at: https://github.com/YOUR_USERNAME/vot-cli-live/releases/new
📦 Large Git Repository (>200MB)
Problem: .git folder is huge due to accidentally committed media files
Solution: Clean history with git filter-branch (see TROUBLESHOOTING.md for full instructions)
📝 Updated README.md
Added direct link to TROUBLESHOOTING.md with quick reference to most common issues:
- ❌ Old version after update → solution
- ❌ ECONNRESET errors → solution
- ⏰ Timeout issues → solution
- 🔒 npm vulnerabilities → solution
🔗 All Issues Covered
Every problem mentioned in GitHub Issue #60 now has:
- ✅ Clear explanation
- ✅ Step-by-step solution
- ✅ Alternative approaches
- ✅ Prevention tips
- ✅ Diagnostic commands
📦 Installation
npm install -g vot-cli-liveIf you see old version after install, see TROUBLESHOOTING.md
🙏 Credits
- Original vot-cli: @ToilOfficial (Ilya) - Вся слава Илье!
- Fork maintainer: @fantomcheg
- This release: Documentation improvements
📚 Full Documentation
- TROUBLESHOOTING.md - Complete troubleshooting guide ⭐ NEW
- IMPROVEMENTS.md - Technical details (v1.7.0)
- UI-IMPROVEMENTS.md - UI/UX documentation (v1.7.0)
- changelog.md - Version history
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Wiki: https://github.com/fantomcheg/vot-cli-live/wiki
- 🐛 Issues: https://github.com/fantomcheg/vot-cli-live/issues
Need help? Check TROUBLESHOOTING.md first! 🔧
All features from v1.7.0 and v1.7.1 remain unchanged!
v1.7.1 - Patch: Repository Cleanup
🎉 vot-cli-live v1.7.1 - Patch Release
📦 Repository Cleanup
This is a PATCH RELEASE focused on repository maintenance.
🧹 Changes
- Cleaned git repository - Removed accidentally committed test media files from history
- Reduced repo size - From 290MB to 25MB (91% reduction!)
- Updated .gitignore - Added
test/*.mp3andtest/*.mp4to prevent future commits - Re-published to npm - Version bump to ensure clean package distribution
🔧 Technical Details
What was cleaned:
test/*.mp3files (audio test files)test/*.mp4files (video test files)logERROR.txt(local error logs)
How it was done:
git filter-branch --index-filter \
'git rm --cached --ignore-unmatch test/*.mp3 test/*.mp4 logERROR.txt' \
--prune-empty --tag-name-filter cat -- --all
git reflog expire --expire=now --all
git gc --prune=now --aggressiveResult:
- Before: 290 MB
- After: 25 MB
- Savings: 265 MB (91%)
📦 Installation
npm install -g vot-cli-live⚠️ Note for Contributors
If you have an existing clone, you'll need to re-clone or force pull:
# Option 1: Fresh clone (recommended)
git clone https://github.com/fantomcheg/vot-cli-live.git
# Option 2: Force update existing clone
git fetch --all
git reset --hard myfork/feature/add-live-voices-support🙏 Credits
- Original vot-cli: @ToilOfficial (Ilya) - Вся слава Илье!
- Fork maintainer: @fantomcheg
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Full changelog: changelog.md
All features from v1.7.0 remain unchanged! This is purely a maintenance release.
v1.7.0 - Major Update: Bug Fixes & Beautiful UI
🎉 vot-cli-live v1.7.0 - Major Update
🔥 Highlights
This is a MAJOR RELEASE fixing critical timeout issues and adding a stunning, professional UI!
🐛 Critical Bug Fixes
- Fixed infinite hangs on translation - Max 10 retry attempts (5 minutes)
- Fixed network timeout issues - 60 second timeout for Yandex API
- Fixed yt-dlp and ffmpeg hangs - Added 10 and 15 minute timeouts
- Improved ECONNRESET errors - Suggests using proxy when connection fails
- Full proxy support - Works everywhere: API, yt-dlp, duration detection
- Real video duration - No more hardcoded 341 seconds!
✨ New Features
- 📏 Automatic video duration detection via yt-dlp
- 🌐 Full proxy support - passed via params and environment variables
- ⏳ Retry progress indicator - shows "attempt 3/10" during translation wait
- 📝 Smart file naming - uses actual video title from YouTube
🎨 Beautiful UI Revolution
Startup Banner
╔═══════════════════════════════════════════════════════════╗
║ 🎬 VOT-CLI with Live Voices 🔥 ║
╚═══════════════════════════════════════════════════════════╝
Это форк продукта https://github.com/FOSWLY/vot-cli/
Вся слава Илье @ToilOfficial 🙏
Features
- 🎬 Stunning startup banner with credits to original author
- 📊 Detailed progress at every step with emojis
- 🎨 Colorized output throughout (cyan, green, yellow, red)
- 📥 File sizes displayed everywhere in MB
- 🎬 3-step merge visualization (download → merge → cleanup)
- ⏰ Progress indicators for long operations
- 🔥 Voice type indicators - live voices 🔥 or TTS 🤖
📦 Installation
npm install -g vot-cli-live🚀 Usage Examples
Basic download with live voices
vot-cli-live --output="." "https://www.youtube.com/watch?v=VIDEO_ID"With video merge and volume control
vot-cli-live --output="." --merge-video \
--original-volume=0.3 \
--translation-volume=1.5 \
"https://www.youtube.com/watch?v=VIDEO_ID"With proxy support
vot-cli-live --output="." \
--proxy="http://user:pass@proxy.com:8080" \
"https://www.youtube.com/watch?v=VIDEO_ID"📝 Technical Details
Timeout Values
- Yandex API requests: 60 seconds
- Translation retry: 10 attempts × 30s = 5 minutes max
- yt-dlp download: 10 minutes
- ffmpeg processing: 15 minutes
New Files
src/utils/getVideoDuration.js- Video duration detectionIMPROVEMENTS.md- Technical documentation (8KB)SUMMARY.md- Quick reference (4KB)UI-IMPROVEMENTS.md- UI documentation (9KB)
Modified Files
src/index.js- Beautiful UI + retry logicsrc/yandexRawRequest.js- Timeout handlingsrc/translateVideo.js- Duration detectionsrc/mergeVideo.js- Process timeouts.gitignore- Added test media files
🧪 Testing
Thoroughly tested on:
- ✅ Short videos (19 seconds)
- ✅ Long videos (24 minutes)
- ✅ Live voices mode
- ✅ TTS mode
- ✅ Video merge with volume control
- ✅ Proxy support
- ✅ Automatic file naming
🙏 Credits
- Original vot-cli: @ToilOfficial (Ilya) - Вся слава Илье!
- Fork maintainer: @fantomcheg
- This release: Co-authored with AI Assistant
Special thanks to all users who reported issues in #60!
📚 Documentation
- IMPROVEMENTS.md - Technical details
- UI-IMPROVEMENTS.md - UI/UX documentation
- SUMMARY.md - Quick summary
- changelog.md - Version history
🔗 Links
- 📦 npm: https://www.npmjs.com/package/vot-cli-live
- 🐙 GitHub: https://github.com/fantomcheg/vot-cli-live
- 📚 Wiki: https://github.com/fantomcheg/vot-cli-live/wiki
- 🐛 Issues: https://github.com/fantomcheg/vot-cli-live/issues
Install now: npm install -g vot-cli-live 🚀