setup.sh 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. #!/bin/bash
  2. # ============================================================
  3. # Environment Setup Script
  4. # ============================================================
  5. # This script sets up the development environment on Ubuntu 24.04
  6. # ============================================================
  7. set -e
  8. echo "=== Hikvision ISUP Client - Environment Setup ==="
  9. echo ""
  10. # Update package list
  11. echo "[1/6] Updating package list..."
  12. sudo apt-get update
  13. # Install build dependencies
  14. echo "[2/6] Installing build dependencies..."
  15. sudo apt-get install -y \
  16. build-essential \
  17. gcc \
  18. g++ \
  19. make \
  20. cmake \
  21. git \
  22. pkg-config \
  23. libssl-dev \
  24. libpthread-stubs0-dev \
  25. valgrind \
  26. cppcheck \
  27. clang-format
  28. # Install media processing dependencies (for PS encoding/decoding)
  29. echo "[3/6] Installing media dependencies..."
  30. sudo apt-get install -y \
  31. ffmpeg \
  32. libavcodec-dev \
  33. libavformat-dev \
  34. libavutil-dev \
  35. libswscale-dev \
  36. libpostproc-dev
  37. # Create project directories
  38. echo "[4/6] Creating project directories..."
  39. mkdir -p logs recordings sim_images docs
  40. # Create log directory
  41. sudo mkdir -p /var/log/hikvision-isup
  42. # Install ZLMediaKit (optional, for RTMP pushing)
  43. echo "[5/6] Checking ZLMediaKit..."
  44. if command -v MediaServer &> /dev/null; then
  45. echo "ZLMediaKit is already installed"
  46. else
  47. echo "ZLMediaKit not found. To install:"
  48. echo " git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit"
  49. echo " cd ZLMediaKit && git submodule update --init"
  50. echo " mkdir build && cd build && cmake .. && make -j4"
  51. echo " sudo make install"
  52. fi
  53. # Check HCNetSDK
  54. echo "[6/6] Checking HCNetSDK..."
  55. if [ -d "libs" ]; then
  56. echo "libs directory exists"
  57. ls -la libs/ || true
  58. else
  59. echo "libs directory not found. Please copy HCNetSDK files to libs/ directory:"
  60. echo " From Hikvision SDK package:"
  61. echo " - CH-HCNetSDKV6.x.x.x buildxxxxxx linux64/"
  62. echo " Copy .so files and .h files to ./libs/"
  63. fi
  64. echo ""
  65. echo "=== Setup complete ==="
  66. echo ""
  67. echo "Next steps:"
  68. echo " 1. Copy HCNetSDK library files to ./libs/"
  69. echo " 2. Edit config.ini with your server settings"
  70. echo " 3. Run 'make simulate' to build without SDK (for development)"
  71. echo " 4. Run 'make' to build with SDK"
  72. echo " 5. Run './hikvision-isup-client -c config.ini' to start"