| | #!/bin/bash |
| |
|
| | |
| | RED='\033[0;31m' |
| | GREEN='\033[0;32m' |
| | YELLOW='\033[1;33m' |
| | BLUE='\033[0;34m' |
| | NC='\033[0m' |
| |
|
| | |
| | print_success() { |
| | echo -e "${GREEN}[โ]${NC} $1" |
| | } |
| |
|
| | print_error() { |
| | echo -e "${RED}[โ]${NC} $1" |
| | } |
| |
|
| | print_warning() { |
| | echo -e "${YELLOW}[!]${NC} $1" |
| | } |
| |
|
| | print_info() { |
| | echo -e "${BLUE}[i]${NC} $1" |
| | } |
| |
|
| | |
| | echo "" |
| | echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ" |
| | echo "โ Storyline ้กน็ฎไพ่ตๅฎ่ฃ
่ๆฌ | Dependency Installation โ" |
| | echo "โ ไฝฟ็จ conda activate storyline ๆฟๆดป็ฏๅขๅ่ฟ่ก โ" |
| | echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ" |
| | echo "" |
| |
|
| | |
| | |
| | |
| | |
| | print_info "ๆฃๆตๆไฝ็ณป็ป... | Detecting OS..." |
| |
|
| | if [[ "$OSTYPE" == "darwin"* ]]; then |
| | IS_MACOS=true |
| | IS_LINUX=false |
| | print_success "ๆฃๆตๅฐ MacOS ็ณป็ป | MacOS detected" |
| | elif [[ "$OSTYPE" == "linux-gnu"* ]]; then |
| | IS_MACOS=false |
| | IS_LINUX=true |
| | print_success "ๆฃๆตๅฐ Linux ็ณป็ป | Linux detected" |
| | else |
| | print_error "ไธๆฏๆ็ๆไฝ็ณป็ป | Unsupported operating system: $OSTYPE" |
| | exit 1 |
| | fi |
| | echo "" |
| |
|
| | |
| | |
| | |
| | |
| | echo "[1/4] ๆฃๆฅ conda ็ฏๅข... | Checking conda environment..." |
| |
|
| | if [ -z "$CONDA_DEFAULT_ENV" ]; then |
| | print_error "ๆชๆฃๆตๅฐ conda ็ฏๅข | No conda environment detected" |
| | echo "" |
| | echo "่ฏทๅ
่ฟ่ก: conda activate storyline" |
| | echo "Please run: conda activate storyline" |
| | exit 1 |
| | fi |
| |
|
| | if [ "$CONDA_DEFAULT_ENV" != "storyline" ]; then |
| | print_warning "ๅฝๅ็ฏๅข: $CONDA_DEFAULT_ENV" |
| | echo "" |
| | read -p "ๅปบ่ฎฎไฝฟ็จ storyline ็ฏๅข๏ผๆฏๅฆ็ปง็ปญ? | Continue anyway? (y/n) " -n 1 -r |
| | echo "" |
| | if [[ ! $REPLY =~ ^[Yy]$ ]]; then |
| | echo "่ฏท่ฟ่ก: conda activate storyline" |
| | exit 1 |
| | fi |
| | else |
| | print_success "ๅฝๅ็ฏๅข: storyline" |
| | fi |
| |
|
| | |
| | print_info "Python ไฟกๆฏ | Python Info:" |
| | echo " ็ๆฌ | Version: $(python --version 2>&1)" |
| | echo " ่ทฏๅพ | Path: $(which python)" |
| | echo "" |
| |
|
| | |
| | |
| | |
| | |
| | echo "[2/4] ๆฃๆฅ FFmpeg... | Checking FFmpeg..." |
| |
|
| | if ! command -v ffmpeg &> /dev/null; then |
| | print_warning "ๆชๆฃๆตๅฐ FFmpeg | FFmpeg not detected" |
| | echo "" |
| | |
| | read -p "ๆฏๅฆๅฎ่ฃ
FFmpeg? | Install FFmpeg? (y/n) " -n 1 -r |
| | echo "" |
| | |
| | if [[ $REPLY =~ ^[Yy]$ ]]; then |
| | print_info "ๆญฃๅจๅฎ่ฃ
FFmpeg... | Installing FFmpeg..." |
| | |
| | if [ "$IS_MACOS" = true ]; then |
| | if ! command -v brew &> /dev/null; then |
| | print_error "้่ฆ Homebrew ๆฅๅฎ่ฃ
FFmpeg | Homebrew required to install FFmpeg" |
| | echo "่ฏท่ฎฟ้ฎ: https://brew.sh" |
| | exit 1 |
| | fi |
| | brew install ffmpeg |
| | elif [ "$IS_LINUX" = true ]; then |
| | if command -v apt-get &> /dev/null; then |
| | sudo apt-get update |
| | sudo apt-get install -y ffmpeg |
| | elif command -v yum &> /dev/null; then |
| | sudo yum install -y epel-release |
| | sudo yum install -y ffmpeg ffmpeg-devel |
| | else |
| | print_error "ๆ ๆณ่ฏๅซ็ๅ
็ฎก็ๅจ | Unrecognized package manager" |
| | exit 1 |
| | fi |
| | fi |
| | |
| | if [ $? -eq 0 ]; then |
| | print_success "FFmpeg ๅฎ่ฃ
ๆๅ | FFmpeg installed successfully" |
| | else |
| | print_error "FFmpeg ๅฎ่ฃ
ๅคฑ่ดฅ | FFmpeg installation failed" |
| | exit 1 |
| | fi |
| | else |
| | print_warning "่ทณ่ฟ FFmpeg ๅฎ่ฃ
๏ผๅฏ่ฝๅฝฑๅ้ณ่ง้ขๅค็ๅ่ฝ๏ผ" |
| | print_warning "Skipping FFmpeg (may affect audio/video features)" |
| | fi |
| | else |
| | print_success "FFmpeg ๅทฒๅฎ่ฃ
| FFmpeg installed" |
| | echo " ็ๆฌ | Version: $(ffmpeg -version 2>&1 | head -n 1)" |
| | fi |
| | echo "" |
| |
|
| | |
| | |
| | |
| | |
| | echo "[3/4] ไธ่ฝฝ้กน็ฎ่ตๆบ... | Downloading project resources..." |
| |
|
| | if [ -f "download.sh" ]; then |
| | print_info "ๆง่ก่ตๆบไธ่ฝฝ่ๆฌ... | Running download script..." |
| | chmod +x download.sh |
| | ./download.sh |
| | |
| | if [ $? -eq 0 ]; then |
| | print_success "่ตๆบไธ่ฝฝๅฎๆ | Resources downloaded successfully" |
| | else |
| | print_error "่ตๆบไธ่ฝฝๅคฑ่ดฅ | Resource download failed" |
| | exit 1 |
| | fi |
| | else |
| | print_warning "ๆชๆพๅฐ download.sh | download.sh not found" |
| | echo "ๅฆ้ไธ่ฝฝๆจกๅ็ญ่ตๆบ๏ผ่ฏทๆๅจๆง่ก download.sh" |
| | echo "To download models, please run download.sh manually" |
| | fi |
| | echo "" |
| |
|
| | |
| | |
| | |
| | |
| | echo "[4/4] ๅฎ่ฃ
Python ไพ่ต... | Installing Python dependencies..." |
| |
|
| | if [ ! -f "requirements.txt" ]; then |
| | print_error "ๆชๆพๅฐ requirements.txt | requirements.txt not found" |
| | exit 1 |
| | fi |
| |
|
| | print_info "ๆญฃๅจๅฎ่ฃ
ไพ่ตๅ
๏ผ่ฏท็จๅ... | Installing packages, please wait..." |
| | echo "" |
| |
|
| | |
| | print_info "ๅฎ่ฃ
ไพ่ตๅ
... | Installing dependencies..." |
| |
|
| | |
| | pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple |
| |
|
| | if [ $? -ne 0 ]; then |
| | print_warning "ๆธ
ๅ้ๅๅฎ่ฃ
ๅคฑ่ดฅ๏ผๅฐ่ฏไฝฟ็จ้ป่ฎคๆบ... | Tsinghua mirror failed, trying default..." |
| | pip install -r requirements.txt |
| | |
| | if [ $? -ne 0 ]; then |
| | print_error "ไพ่ตๅฎ่ฃ
ๅคฑ่ดฅ | Dependency installation failed" |
| | echo "" |
| | echo "่ฏทๅฐ่ฏๆๅจๅฎ่ฃ
: pip install -r requirements.txt" |
| | exit 1 |
| | fi |
| | fi |
| |
|
| | print_success "ไพ่ตๅฎ่ฃ
ๅฎๆ | Dependencies installed successfully" |
| | echo "" |
| |
|
| | |
| | |
| | |
| | echo "" |
| | echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ" |
| | echo "โ ๅฎ่ฃ
ๆๅ๏ผ| Installation Successful! โ" |
| | echo "โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ" |
| | echo "" |
| |
|
| | print_info "็ฏๅขไฟกๆฏ | Environment Info:" |
| | echo " Conda ็ฏๅข | Conda Env: $CONDA_DEFAULT_ENV" |
| | echo " Python: $(python --version 2>&1)" |
| | command -v ffmpeg &> /dev/null && echo " FFmpeg: $(ffmpeg -version 2>&1 | head -n 1 | cut -d' ' -f3)" |
| | echo "" |
| |
|
| | print_success "็ฐๅจๅฏไปฅ่ฟ่ก้กน็ฎไบ๏ผ| You can now run the project!" |
| |
|