ai-vtuber-livestream

Agent

ai-vtuber-livestream

Creator:

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:

#DependencyFolderGitHubWhat We Use It For
1Open-LLM-VTuberdependencies/open-llm-vtuber/GitHubCore VTuber framework (server, frontend, Live2D, proxy)
2blivedmdependencies/blivedm/GitHubBilibili live chat integration
3edge-ttsdependencies/edge-tts/GitHubFree Microsoft Edge text-to-speech
4chat-downloaderdependencies/chat-downloader/GitHubYouTube live chat scraper
5websocket-clientdependencies/websocket-client/GitHubPython WebSocket client
6Google Chromedependencies/chrome/DownloadLive2D rendering + audio playback
7FFmpegdependencies/ffmpeg/ffmpeg.orgScreen + audio capture โ†’ RTMP stream
8PulseAudiodependencies/pulseaudio/freedesktop.orgVirtual audio sink for routing
9Xvfbdependencies/xvfb/X.OrgVirtual X11 display for headless Chrome
10sherpa-onnxdependencies/sherpa-onnx/GitHubLocal 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

ProviderConfig KeyExample Model
Groqgroq_llmllama-3.3-70b-versatile
DeepSeekdeepseek_llmdeepseek-chat
OpenAIopenai_llmgpt-4o-mini
OpenRouteropenai_compatible_llmanthropic/claude-3.5-sonnet
Geminigemini_llmgemini-2.0-flash-exp
Claudeclaude_llmclaude-3-haiku
Ollamaollama_llmllama3.2

See docs/LLM_PROVIDERS.md


๐Ÿ“„ License

MIT โ€” see LICENSE


Built with โค๏ธ for the VTuber community

Source: https://github.com/Maliot100X/ai-vtuber-livestream

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