#!/bin/bash # ============================================================ # Environment Setup Script # ============================================================ # This script sets up the development environment on Ubuntu 24.04 # ============================================================ set -e echo "=== Hikvision ISUP Client - Environment Setup ===" echo "" # Update package list echo "[1/6] Updating package list..." sudo apt-get update # Install build dependencies echo "[2/6] Installing build dependencies..." sudo apt-get install -y \ build-essential \ gcc \ g++ \ make \ cmake \ git \ pkg-config \ libssl-dev \ libpthread-stubs0-dev \ valgrind \ cppcheck \ clang-format # Install media processing dependencies (for PS encoding/decoding) echo "[3/6] Installing media dependencies..." sudo apt-get install -y \ ffmpeg \ libavcodec-dev \ libavformat-dev \ libavutil-dev \ libswscale-dev \ libpostproc-dev # Create project directories echo "[4/6] Creating project directories..." mkdir -p logs recordings sim_images docs # Create log directory sudo mkdir -p /var/log/hikvision-isup # Install ZLMediaKit (optional, for RTMP pushing) echo "[5/6] Checking ZLMediaKit..." if command -v MediaServer &> /dev/null; then echo "ZLMediaKit is already installed" else echo "ZLMediaKit not found. To install:" echo " git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit" echo " cd ZLMediaKit && git submodule update --init" echo " mkdir build && cd build && cmake .. && make -j4" echo " sudo make install" fi # Check HCNetSDK echo "[6/6] Checking HCNetSDK..." if [ -d "libs" ]; then echo "libs directory exists" ls -la libs/ || true else echo "libs directory not found. Please copy HCNetSDK files to libs/ directory:" echo " From Hikvision SDK package:" echo " - CH-HCNetSDKV6.x.x.x buildxxxxxx linux64/" echo " Copy .so files and .h files to ./libs/" fi echo "" echo "=== Setup complete ===" echo "" echo "Next steps:" echo " 1. Copy HCNetSDK library files to ./libs/" echo " 2. Edit config.ini with your server settings" echo " 3. Run 'make simulate' to build without SDK (for development)" echo " 4. Run 'make' to build with SDK" echo " 5. Run './hikvision-isup-client -c config.ini' to start"