Skip to main content

AI for industry

Project description

GenX AI

Better Version of Surveillance System

Commands

  • genx -h - Show help message
  • genx -v - Print version
  • genx -t TAG - Set tag for multiple instance in single machine

Debug

  • genx debug -i CAM_ID - Debug specific camera

Model Classes

  • genx print-model-classes -m MODEL_PATH - Print available model classes

Environment Management

  • genx env -p - Print environment variables
  • genx env -s KEY=VALUE - Set environment variables
  • genx env -f FILE - Load environment variables from file
  • genx env -e STRING - Encrypt environment string
  • genx env -a - Prompt and set environment variables

Service Management

  • genx listen - Start client for listen camera events
  • genx listen -x - Start client with UI exposure
  • genx ui - UI in command line for better view experience
  • genx install - Create service and run at boot time
  • genx uninstall - Cleanup all files created by install command

Virtual Env

  • sudo python -m venv /opt/venv
  • sudo nano /opt/venv/bin/activate
    • Add env vars
  • source /opt/venv/bin/activate
  • sudo -E /opt/venv/bin/pip install genx_ai-1.x.x-py3-none-any.whl
  • sudo -E /opt/venv/bin/genx install

Media Streaming Server (Nginx) (RTMP) (Optional)

  • sudo apt-get update

  • sudo apt-get install nginx

  • sudo apt-get install libnginx-mod-rtmp

  • sudo mkdir -p /var/www/html/stream/hls

  • sudo mkdir -p /var/www/html/rtmp

  • sudo cp /usr/share/doc/libnginx-mod-rtmp/examples/stat.xsl /var/www/html/rtmp/stat.xsl

  • sudo nano /etc/nginx/nginx.conf

    rtmp { server { listen 1935; chunk_size 4096; allow publish 127.0.0.1; deny publish all;

    application live {
                        live on;
                        record off;
    
                        hls on;
                        hls_path /var/www/html/stream/hls;
                        hls_fragment 3;
                        hls_playlist_length 10;
    
                        dash on;
                        dash_path /var/www/html/stream/dash;
                }
        }
    

    }

  • sudo nano /etc/nginx/sites-available/camsenseai.com

    server { listen 8088 ssl; server_name camsenseai.com;

    ssl_certificate /etc/letsencrypt/live/camsenseai.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/camsenseai.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    
    # To play via browser using video-js
    location / {
        add_header Access-Control-Allow-Origin *;
        root /var/www/html/stream;
    
    
        # Disable cache
        add_header Cache-Control no-cache;
    
    
        # CORS setup
        #add_header 'Access-Control-Allow-Origin' '*' always;
        add_header 'Access-Control-Expose-Headers' 'Content-Length';
    
    
        # allow CORS preflight requests
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain charset=UTF-8';
            add_header 'Content-Length' 0;
            return 204;
        }
    
    
        types {
            application/dash+xml mpd;
            application/vnd.apple.mpegurl m3u8;
            video/mp2t ts;
        }
    }
    
    # rtmp stat
    location /stat {
        rtmp_stat all;
        rtmp_stat_stylesheet stat.xsl;
    }
    
    location /stat.xsl {
        root /var/www/html/rtmp;
    }
    
    # rtmp control
    location /control {
        rtmp_control all;
    }
    

    }

    types { application/dash+xml mpd; }

FFMPEG Commands (optional)

  • MP4 to RTMP

    ffmpeg -stream_loop -1 -i Videos/test.mp4 -preset ultrafast -vcodec libx264 -f flv rtmp://camsenseai.com/live/stream

  • WebM to RTMP

    ffmpeg -stream_loop -1 -i Videos/test.webm -f flv rtmp://camsenseai.com/live/stream

  • Watch Stream

    ffplay rtmp://camsenseai.com/live/stream

Env set env variable

sudo -E /opt/venv/bin/genx env -s GENX_AI_API_ENDPOINT="https://api.camsenseai.com" sudo -E /opt/venv/bin/genx env -s GENX_AI_API_USERNAME="api@example.com" sudo -E /opt/venv/bin/genx env -s GENX_AI_API_PASSWORD="YourPassword" sudo -E /opt/venv/bin/genx env -s GENX_AI_PUSHER_HOST="socket.camsenseai.com" sudo -E /opt/venv/bin/genx env -s GENX_AI_PUSHER_APP_ID="" sudo -E /opt/venv/bin/genx env -s GENX_AI_PUSHER_KEY="" sudo -E /opt/venv/bin/genx env -s GENX_AI_PUSHER_SECRET=""

Env encrypt variable

sudo -E /opt/venv/bin/genx env -e "https://api.camsenseai.com" sudo -E /opt/venv/bin/genx env -e "api@example.com" sudo -E /opt/venv/bin/genx env -e "YourPassword" sudo -E /opt/venv/bin/genx env -e "socket.camsenseai.com" sudo -E /opt/venv/bin/genx env -e "" sudo -E /opt/venv/bin/genx env -e "" sudo -E /opt/venv/bin/genx env -e ""

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

genx_ai-2.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

genx_ai-2.10.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

genx_ai-2.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

genx_ai-2.10.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

File details

Details for the file genx_ai-2.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e91bf3936e05a9a8df3ca3930fea4511001cff366c126cc620bd49cadb001fa
MD5 bbc9ebe307cfb9f8182ecad6711fad3f
BLAKE2b-256 2a8b48945cb086fdd4677da83b0f462d9cf4847e04245edc3c6cd5d968c893c4

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3c4855833300cf7b715831dbef6b288f6c674dc757f8e3e8c333549c576247ea
MD5 c52458c66308944c187558ab9e61970b
BLAKE2b-256 9b8aad66dfc36e92dcddab1b0964a9e6c296d6fde6b9c2e97c531f9cdb8104a4

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b982790808120321673b123cd7fbda65b30a18d7c780dac730034aed0974e05c
MD5 eaf27654dad5fb47ada9843ff4bd5f1e
BLAKE2b-256 87d4e7acdb26b807f003a988c2d2075cecd2e2abb1af7b776c1f7468744c309a

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6cf203c2918db41733cc012d973516f6d8eb75b9ee17d6a33c679c712a5c965b
MD5 d393d271c0d49232b46e135d70298407
BLAKE2b-256 59deb34c5836424286ff50ac08f378bd7203d72ccb9a34e1d8233a849765274b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page