{"id":22234612,"url":"https://github.com/teknoir/camera-http","last_synced_at":"2025-03-25T09:22:49.211Z","repository":{"id":204654744,"uuid":"291031917","full_name":"teknoir/camera-http","owner":"teknoir","description":"The camera app collect images from cameras over http/api.","archived":false,"fork":false,"pushed_at":"2023-10-31T09:08:07.000Z","size":30,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-30T08:43:01.125Z","etag":null,"topics":["app","camera","edge"],"latest_commit_sha":null,"homepage":"https://teknoir.cloud","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teknoir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2020-08-28T11:40:40.000Z","updated_at":"2023-10-31T09:08:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"85aecf5f-096c-406b-8f6e-90bd6c017a3c","html_url":"https://github.com/teknoir/camera-http","commit_stats":null,"previous_names":["teknoir/camera-http"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fcamera-http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fcamera-http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fcamera-http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teknoir%2Fcamera-http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teknoir","download_url":"https://codeload.github.com/teknoir/camera-http/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245432204,"owners_count":20614273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","camera","edge"],"created_at":"2024-12-03T02:08:56.700Z","updated_at":"2025-03-25T09:22:49.182Z","avatar_url":"https://github.com/teknoir.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Teknoir HTTP camera App\nThe camera app collect images from cameras over http/api.\n\n## Build\n```bash\ngcloud builds submit . --config=cloudbuild.yaml --timeout=3600 --substitutions=BRANCH_NAME=\"test\",=SHORT_SHA=\"shams\"\n```\n\n## Build locally\n```bash\ngo build -o camera -a .\n```\n\n## Run locally\n```bash\ndocker run -it -p 1883:1883 -p 9001:9001 eclipse-mosquitto\n./camera -mqtt_broker_host=localhost\n```\n\nOr if you have exposed the mqtt broker on a device:\n```bash\n./camera -mqtt_broker_host=jetsonnano-b00.local -mqtt_broker_port=31883 -base_url='http://192.168.1.137/axis-cgi/jpg/image.cgi?resolution=800x600' -auth_type=digest -user=root -password=Teknoir1\n```\nor\n```bash\n./camera -mqtt_broker_host=jetsonnano-b00.local -mqtt_broker_port=31883 -base_url='http://192.168.1.164/snap.jpg?JpegSize=M' -auth_type=digest -user=service -password='Teknoir1!'\n```\n\n## Legacy build and publish docker images\n```bash\ndocker build -t tekn0ir/camera-http:arm64v8 -f arm64v8.Dockerfile .\ndocker push tekn0ir/camera-http:arm64v8\n```\n\n## Run on device\n```bash\nsudo kubectl run camera -ti --rm --image tekn0ir/camera-http:arm64v8 --generator=run-pod/v1 --overrides='{\"spec\":{\"containers\":[{\"image\":\"tekn0ir/camera-http:arm64v8\",\"name\":\"camera\",\"command\":[\"/bin/bash\"],\"tty\":true,\"stdin\":true,\"imagePullPolicy\":\"Always\",\"env\":[{\"name\":\"BASE_URL\",\"value\":\"http://192.168.3.101/axis-cgi/jpg/image.cgi?resolution=800x600\"},{\"name\":\"USERNAME\",\"value\":\"root\"},{\"name\":\"PASSWORD\",\"value\":\"teknoir\"}]}]}}'\n```\n\n### Axis\n\n#### Find camera\n```\nsudo apt-get install avahi-utils\navahi-browse -ltr _rtsp._tcp # Lists all RTSP cameras on the network\n```\nThe RTSP URL wont work with this app.\nThis app only takes a still image URL.\n\n#### Create URL\nTo create a URL for an Axis camera, use the IP and set a RESOLUTION(ex. 800x600) small enough GCP IoT Core max size is 250Kb.\n```\nhttp://\u003cIP\u003e/axis-cgi/jpg/image.cgi?resolution=800x600\n```\n\n### Bosch\n\n#### Create URL\nTo create a URL for a Bosch camera, use the IP and choose the most appropriate size L (small enough GCP IoT Core max size is 250Kb).\n\n[Documentation says](http://resource.boschsecurity.com/documents/Configuration_Note_enUS_1552286731.pdf): \n\n| T-shirt Size     | Size in documentation       | 5000 HD actual size |\n| :---             | :----:                      |                ---: |\n| S (small)        | 176 × 144/120 pixels (QCIF) | 256 × 144 pixels    |\n| M (medium)       | 352 × 288/240 pixels (CIF)  | 512 × 288 pixels    |\n| L (large)        | 704 × 288/240 pixels (2CIF) | 1280 × 720 pixels   |\n| XL (extra large) | 704 × 576/480 pixels (4CIF) | 1920 × 1080 pixels  |\n___I have added the atual sizes I got from my Bosch Dinion 5000 HD (NBN-50022-C)___\n\nThe URL looks like this with T-Shirt Size large:\n```\nhttp://\u003cIP\u003e/snap.jpg?JpegSize=L\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteknoir%2Fcamera-http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteknoir%2Fcamera-http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteknoir%2Fcamera-http/lists"}