Skip to content

Releases: fantomcheg/vot-cli-live

v1.7.5 - Quiet/JSON Output + Translation Polling

17 Dec 16:47

Choose a tag to compare

🎉 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.txt

2. --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

🔗 Links

Closes #1

v1.7.4 - VK Translation Fix (Issue #2)

17 Dec 16:46

Choose a tag to compare

🎉 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 ⚠️ Uses TTS ✅ Automatic
OK.ru ⚠️ Uses TTS ✅ Automatic
Rutube ⚠️ Uses TTS ✅ 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

🔗 Links

Closes #2

v1.7.3 - Professional Audio Mixing

17 Dec 16:46

Choose a tag to compare

🎉 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

🔗 Links

v1.7.2 - Documentation: Troubleshooting Guide

28 Nov 08:15

Choose a tag to compare

🎉 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 prompts

Or 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:


🔗 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-live

If you see old version after install, see TROUBLESHOOTING.md


🙏 Credits

  • Original vot-cli: @ToilOfficial (Ilya) - Вся слава Илье!
  • Fork maintainer: @fantomcheg
  • This release: Documentation improvements

📚 Full Documentation


🔗 Links


Need help? Check TROUBLESHOOTING.md first! 🔧

All features from v1.7.0 and v1.7.1 remain unchanged!

v1.7.1 - Patch: Repository Cleanup

28 Nov 08:15

Choose a tag to compare

🎉 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/*.mp3 and test/*.mp4 to prevent future commits
  • Re-published to npm - Version bump to ensure clean package distribution

🔧 Technical Details

What was cleaned:

  • test/*.mp3 files (audio test files)
  • test/*.mp4 files (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 --aggressive

Result:

  • 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

🔗 Links


All features from v1.7.0 remain unchanged! This is purely a maintenance release.

v1.7.0 - Major Update: Bug Fixes & Beautiful UI

28 Nov 08:14

Choose a tag to compare

🎉 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 detection
  • IMPROVEMENTS.md - Technical documentation (8KB)
  • SUMMARY.md - Quick reference (4KB)
  • UI-IMPROVEMENTS.md - UI documentation (9KB)

Modified Files

  • src/index.js - Beautiful UI + retry logic
  • src/yandexRawRequest.js - Timeout handling
  • src/translateVideo.js - Duration detection
  • src/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

🔗 Links


Install now: npm install -g vot-cli-live 🚀