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.0-cp313-cp313-musllinux_1_2_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

genx_ai-2.10.0-cp313-cp313-musllinux_1_2_i686.whl (7.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ i686

genx_ai-2.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

genx_ai-2.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (7.0 MB view details)

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

genx_ai-2.10.0-cp312-cp312-musllinux_1_2_x86_64.whl (7.9 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

genx_ai-2.10.0-cp312-cp312-musllinux_1_2_i686.whl (7.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ i686

genx_ai-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

genx_ai-2.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (7.1 MB view details)

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

genx_ai-2.10.0-cp311-cp311-musllinux_1_2_x86_64.whl (8.0 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

genx_ai-2.10.0-cp311-cp311-musllinux_1_2_i686.whl (7.9 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ i686

genx_ai-2.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

genx_ai-2.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (7.3 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.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9984b9e69929115125242703bf9a338a3a91876c3d65e7e11a3df31e24845a69
MD5 fb8816b0150d3a4a37d121ea216fbef2
BLAKE2b-256 05414c33bfc72bbc38421689d3112213141d67a677c58f784dc04e5f6a87f107

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp313-cp313-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp313-cp313-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 324d5c4ec0d821df4330d7d6e8954cb55032f9b82de9d40ef41ddd903f1fa969
MD5 3959979bf8fcdc5c4e1a143ebf918d00
BLAKE2b-256 a93e779b4616f8125beddd37fcb201470121e1b1364eacee9681b3363ce499a6

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 228b5eedf8b8da49bd8331561c8caa48fd299bce5708af2cbc0ef2f5b3325acd
MD5 f0799c7ceba870e2f8edfd29ab9de295
BLAKE2b-256 b65b13328190e19e34698e0a4d5c3dc419cc2437136ce990fb7f03a8a5412db9

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 286e64971a01e2e178cc3f52ee3aa322b488030303721cf8fef2a03544083ff0
MD5 a9b117bc3d97864260eef63706fc65f1
BLAKE2b-256 a2baf2d128e1bb93d2abac16f1dd91200437c7cbd58c3c5bee6d8a163a053ca4

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c39f2a2641433d9c71dfe378a58e11ea58b8b4823d2c62acebe6d2a5753351db
MD5 a5ba826d3cfe956b8a048c16b533f257
BLAKE2b-256 f898722408ed7bff25d26e9ba3b191c7529370dc99f5fcba3f4f7fe199d36c58

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp312-cp312-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp312-cp312-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b576430f2750549c1b7d9bf85bd74155edaaae6919ef42ddea98d29961354d39
MD5 b46a699b3520aa0700d4207982357031
BLAKE2b-256 04a2ae00a01cdd2b935cff927196f45586cbd05facd149510ae0faf0c874f402

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 280b377794702a804413212fa4a619123e0ca8110a98f746004ad05768321670
MD5 154cdb6d4595144283a0b983e5363f83
BLAKE2b-256 1d0d9807d6db3e8b572b4c5485c8063c5a3856031afa96ededa2afbeb62b197c

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-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.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 47ea10df1f27ea642c3ee014c7706f84f4fd1977361d2227b2f21526045c631b
MD5 eff4027e335f905be26ae39a463105e4
BLAKE2b-256 b50d73fdb2f27e30b08345d8111df2df3b88a80182d05c7a2fd93b2f7b65fe54

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f4f6d21186777036e4330b8e58b45f9789c19352b3b5237ed5cef6604cce4216
MD5 c9ef632b1dd1701b3b414800c08a7c23
BLAKE2b-256 98e4dd9bb69c40f0e8348f6f627049a5925ea04b7f65794fe631e0586a7b6a3a

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-cp311-cp311-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp311-cp311-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 0ad0475743d1a1cd8c26b974628e77ad87773d3c92c53b64d04cecdade42d429
MD5 f97a2e651043c6a7699aeea7f646a2b5
BLAKE2b-256 896c75e21e1d0ed5b7874df41a50900f0b6933ab6cd9c21a81e6b3f50ff1d512

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for genx_ai-2.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0f96660d71a54bcbeef1f967a9bbddf3f1d1123cf44b031c0adc58e39d421a36
MD5 b0d99160a32ecb53917821cdac6ecf5f
BLAKE2b-256 417905f6b06af2c00d458623f7c22efdee07cf6b886df03704f3eaf589b0fcff

See more details on using hashes here.

File details

Details for the file genx_ai-2.10.0-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.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 9241a90dfea339730318dacfcbf26840a9465c50922a7bd166c6368dfc0444e2
MD5 aad4e099ba0ea9351131edf231e1e77c
BLAKE2b-256 72a08ad6ed4876abce839b348f547f580b3e2640f249d6a0cf2a14a95e077ee3

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