Agent
ai-vtuber-livestream
Creator:%22%2F%3E%3Cg%20fill%3D%22hsl(316%2090%25%2062%25)%22%3E%3Crect%20x%3D%221%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%220%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%220%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%2210%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%225%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%221%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%229%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%222%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%227%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%224%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3Crect%20x%3D%226%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)
alixx_eearle
About this agent
AI VTuber Live Streaming Setup - Open-LLM-VTuber + YouTube Live + Edge TTS on AWS
๐ญ AI VTuber Live Stream
Fully automated AI VTuber that livestreams on YouTube, reads chat in real-time, and responds with voice โ powered by Open-LLM-VTuber.
๐ด Live Demo
Watch it live: https://youtube.com/watch?v=7V90Jx7Eygo
๐๏ธ Architecture
CODE
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AWS EC2 (Ubuntu 26.04) โ
โ t3.large (2 vCPU, 8GB) โ
โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ YouTube โโโโโโถโ Open-LLM-VTuber โโโโโโถโ LLM API โ โ
โ โ Chat โ โ (Python Server) โ โ (OpenAI โ โ
โ โ Bridge โ โ :12393 / :12394 โ โ Compatible) โ โ
โ โโโโโโโโโโโโโโ โโโโโโโโโโโโฌโโโโโโโโโโโ โโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโผโโโโโโโโโโโโโ โ
โ โผ โ โผ โ
โ โโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโ โ
โ โ Edge TTS โ โ โ Live2D Model โ โ
โ โ (Voice) โ โ โ (Animation) โ โ
โ โโโโโโโฌโโโโโโโ โ โโโโโโโโฌโโโโโโโโ โ
โ โ โ โ โ
โ โผ โ โผ โ
โ โโโโโโโโโโโโโโ โ โโโโโโโโโโโโโโโโ โ
โ โ PulseAudio โ โ โ Chrome โ โ
โ โ (Virtual โ โ โ (Display โ โ
โ โ Sink) โ โ โ :99) โ โ
โ โโโโโโโฌโโโโโโโ โ โโโโโโโโฌโโโโโโโโ โ
โ โ โ โ โ
โ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโ โ
โ โ FFmpeg โ โ
โ โ (x11grab + โ โ
โ โ pulse) โ โ
โ โโโโโโโโฌโโโโโโโโ โ
โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ RTMP
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ YouTube Live โ
โ (RTMP Ingest) โ
โโโโโโโโโโโโโโโโโโโโโโโ
๐ฆ All Dependencies (with full setup for each)
Each dependency has its own folder with README, install script, and config files:
| # | Dependency | Folder | GitHub | What We Use It For |
|---|---|---|---|---|
| 1 | Open-LLM-VTuber | dependencies/open-llm-vtuber/ | GitHub | Core VTuber framework (server, frontend, Live2D, proxy) |
| 2 | blivedm | dependencies/blivedm/ | GitHub | Bilibili live chat integration |
| 3 | edge-tts | dependencies/edge-tts/ | GitHub | Free Microsoft Edge text-to-speech |
| 4 | chat-downloader | dependencies/chat-downloader/ | GitHub | YouTube live chat scraper |
| 5 | websocket-client | dependencies/websocket-client/ | GitHub | Python WebSocket client |
| 6 | Google Chrome | dependencies/chrome/ | Download | Live2D rendering + audio playback |
| 7 | FFmpeg | dependencies/ffmpeg/ | ffmpeg.org | Screen + audio capture โ RTMP stream |
| 8 | PulseAudio | dependencies/pulseaudio/ | freedesktop.org | Virtual audio sink for routing |
| 9 | Xvfb | dependencies/xvfb/ | X.Org | Virtual X11 display for headless Chrome |
| 10 | sherpa-onnx | dependencies/sherpa-onnx/ | GitHub | Local speech recognition (ASR) |
Python Packages
CODE
chat-downloader # YouTube chat scraping
websocket-client # WebSocket connections
edge-tts # Free TTS
loguru # Logging
requests # HTTP requests
sherpa-onnx # Local ASR
openai # LLM API client
anthropic # Claude API client
๐ One-Command Setup
BASH
curl -sSL https://raw.githubusercontent.com/Maliot100X/ai-vtuber-livestream/main/setup.sh | bash
Or install each dependency manually from its folder above.
๐ Prerequisites
- AWS EC2 โ Ubuntu 24.04+, t3.large (2 vCPU, 8GB RAM)
- Security Group โ Open ports
12393,12394,22 - YouTube Channel โ Live streaming enabled
- LLM API Key โ Any OpenAI-compatible provider
๐ง Manual Setup (Step by Step)
Step 1: System Dependencies
BASH
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv python3-dev \
git curl wget unzip build-essential \
xvfb pulseaudio ffmpeg \
libnss3 libatk-bridge2.0-0 libdrm2 libxkbcommon0 \
libgbm1 libasound2 libxshmfence1 libgtk-3-0
Step 2: Install Chrome
BASH
# See: dependencies/chrome/
wget -q -O /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i /tmp/chrome.deb || sudo apt-get install -f -y
Step 3: Install Open-LLM-VTuber
BASH
# See: dependencies/open-llm-vtuber/
cd ~
git clone https://github.com/Open-LLM-VTuber/Open-LLM-VTuber.git
cd Open-LLM-VTuber
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
pip install chat-downloader websocket-client edge-tts loguru requests sherpa-onnx
Step 4: Configure
BASH
cp ~/ai-vtuber-livestream/config/conf.yaml.full ~/Open-LLM-VTuber/conf.yaml
cp ~/ai-vtuber-livestream/.env.example ~/Open-LLM-VTuber/.env
nano ~/Open-LLM-VTuber/.env # Add your API keys
Step 5: Patch Frontend
BASH
# See: patches/frontend-proxy-ws-fix.md
cd ~/Open-LLM-VTuber
FRONTEND_JS=$(ls frontend/assets/main-*.js)
sed -i 's|/client-ws|/proxy-ws|g' "$FRONTEND_JS"
Step 6: Start Everything
BASH
~/ai-vtuber-livestream/scripts/start_vtuber.sh
๐ Project Structure
CODE
ai-vtuber-livestream/
โโโ README.md
โโโ LICENSE
โโโ .env.example
โโโ .gitignore
โโโ setup.sh
โ
โโโ config/
โ โโโ conf.yaml.example # Minimal config template
โ โโโ conf.yaml.full # Complete 504-line config
โ
โโโ scripts/
โ โโโ start_vtuber.sh # Start all services
โ โโโ stop_vtuber.sh # Stop all services
โ โโโ health_check.sh # Status check
โ โโโ vtuber-chrome.sh # Chrome launch
โ โโโ youtube-stream.sh # FFmpeg RTMP stream
โ โโโ yt-chat-reader.py # Chat bridge (Method 1)
โ โโโ yt-chat-reader2.py # Chat bridge (Method 2)
โ โโโ youtube_chat_bridge.py # Threaded bridge
โ โโโ youtube_chat_bridge_v2.py # Bridge v2
โ โโโ youtube_live_bridge.py # Full bridge
โ โโโ run_bilibili_live.py # Bilibili integration
โ
โโโ dependencies/ # โ FULL SETUP FOR EACH DEPENDENCY
โ โโโ open-llm-vtuber/ # Core framework
โ โ โโโ README.md
โ โ โโโ install.sh
โ โ โโโ conf.yaml.working # Our actual working config
โ โโโ blivedm/ # Bilibili live chat
โ โ โโโ README.md
โ โโโ edge-tts/ # Free TTS
โ โ โโโ README.md
โ โ โโโ install.sh
โ โโโ chat-downloader/ # YouTube chat scraper
โ โ โโโ README.md
โ โ โโโ install.sh
โ โ โโโ yt-chat-reader.py # Our working script
โ โ โโโ yt-chat-reader2.py # Alternative method
โ โโโ websocket-client/ # WebSocket client
โ โ โโโ README.md
โ โ โโโ install.sh
โ โโโ chrome/ # Browser rendering
โ โ โโโ README.md
โ โ โโโ install.sh
โ โ โโโ launch.sh # Our Chrome launch script
โ โโโ ffmpeg/ # RTMP streaming
โ โ โโโ README.md
โ โ โโโ install.sh
โ โ โโโ stream.sh # Our FFmpeg stream script
โ โโโ pulseaudio/ # Virtual audio
โ โ โโโ README.md
โ โ โโโ install.sh
โ โโโ xvfb/ # Virtual display
โ โ โโโ README.md
โ โ โโโ install.sh
โ โโโ sherpa-onnx/ # Local ASR
โ โโโ README.md
โ โโโ install.sh
โ
โโโ patches/
โ โโโ frontend-proxy-ws-fix.md # Frontend patch instructions
โ
โโโ docs/
โโโ ARCHITECTURE.md # Deep dive
โโโ TROUBLESHOOTING.md # Common fixes
โโโ LLM_PROVIDERS.md # 8+ providers
๐ฎ Management Commands
BASH
# Start everything
~/ai-vtuber-livestream/scripts/start_vtuber.sh
# Stop everything
~/ai-vtuber-livestream/scripts/stop_vtuber.sh
# Check status
~/ai-vtuber-livestream/scripts/health_check.sh
# View logs
tail -f /tmp/vtuber-server.log
tail -f /tmp/yt-bridge.log
tail -f /tmp/ffmpeg-stream.log
๐ค Supported LLM Providers
| Provider | Config Key | Example Model |
|---|---|---|
| Groq | groq_llm | llama-3.3-70b-versatile |
| DeepSeek | deepseek_llm | deepseek-chat |
| OpenAI | openai_llm | gpt-4o-mini |
| OpenRouter | openai_compatible_llm | anthropic/claude-3.5-sonnet |
| Gemini | gemini_llm | gemini-2.0-flash-exp |
| Claude | claude_llm | claude-3-haiku |
| Ollama | ollama_llm | llama3.2 |
๐ License
MIT โ see LICENSE
Built with โค๏ธ for the VTuber community
Comments & Discussion
Scroll to load comments...
Tags
livestreaming
youtube
vtuber
voice-synthesis
chatbot
real-time-chat
automation
aws
llm
live2d
text-to-speech
entertainment
social-media
python
streaming-agent
Share
Related Links
Loading recommendations...