{"id":17180758,"url":"https://github.com/dhowden/raspicam","last_synced_at":"2025-07-29T10:42:35.339Z","repository":{"id":57493229,"uuid":"12425945","full_name":"dhowden/raspicam","owner":"dhowden","description":"Go package for controlling Raspberry Pi Camera Module","archived":false,"fork":false,"pushed_at":"2019-03-23T05:20:02.000Z","size":21,"stargazers_count":67,"open_issues_count":1,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-13T16:45:39.803Z","etag":null,"topics":["go","raspberry-pi","raspicam"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhowden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-08-28T06:04:26.000Z","updated_at":"2024-02-11T15:41:58.000Z","dependencies_parsed_at":"2022-08-28T13:41:08.874Z","dependency_job_id":null,"html_url":"https://github.com/dhowden/raspicam","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dhowden/raspicam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhowden%2Fraspicam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhowden%2Fraspicam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhowden%2Fraspicam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhowden%2Fraspicam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhowden","download_url":"https://codeload.github.com/dhowden/raspicam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhowden%2Fraspicam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267673271,"owners_count":24125706,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["go","raspberry-pi","raspicam"],"created_at":"2024-10-15T00:31:28.667Z","updated_at":"2025-07-29T10:42:35.286Z","avatar_url":"https://github.com/dhowden.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# raspicam Go API\n[![Build Status](https://travis-ci.org/dhowden/raspicam.svg?branch=master)](https://travis-ci.org/dhowden/raspicam)\n[![GoDoc](https://godoc.org/github.com/dhowden/raspicam?status.svg)](https://godoc.org/github.com/dhowden/raspicam)\n\nProvides a simple Go interface to the [Raspberry Pi Camera board](http://www.raspberrypi.org/archives/tag/camera-board).\n\nFor the moment we call the existing command line tools, though eventually hope to hook directly into the C API.\n\nWe aim to create an idiomatic Go API whilst mirroring the functionality of the existing command line tools to allow for the best interoperability.\n\n## Status\n\nImplemented:\n\n- Interface to raspistill\n- Interface to raspiyuv\n- Interface to raspivid\n\nTodo:\n\n- More tests!\n\n## Installation\n\n\tgo get github.com/dhowden/raspicam\n\n## Getting Started\n\n### Write to a file\n\n\tpackage main\n\t\n\timport (\n\t\t\"fmt\"\n\t\t\"log\"\n\t\t\"os\"\n\t\n\t\t\"github.com/dhowden/raspicam\"\n\t)\n\t\n\tfunc main() {\n\t\tf, err := os.Create(os.Args[1])\n\t\tif err != nil {\n\t\t\tfmt.Fprintf(os.Stderr, \"create file: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tdefer f.Close()\n\t\n\t\ts := raspicam.NewStill()\n\t\terrCh := make(chan error)\n\t\tgo func() {\n\t\t\tfor x := range errCh {\n\t\t\t\tfmt.Fprintf(os.Stderr, \"%v\\n\", x)\n\t\t\t}\n\t\t}()\n\t\tlog.Println(\"Capturing image...\")\n\t\traspicam.Capture(s, f, errCh)\n\t}\n\n\n### Simple Raspicam TCP Server\n\n\tpackage main\n\n\timport (\n\t\t\"log\"\n\t\t\"fmt\"\n\t\t\"net\"\n\t\t\"os\"\n\t\n\t\t\"github.com/dhowden/raspicam\"\n\t)\n\t\n\tfunc main() {\n\t\tlistener, err := net.Listen(\"tcp\", \"0.0.0.0:6666\")\n\t\tif err != nil {\n\t\t\tfmt.Fprintf(os.Stderr, \"listen: %v\", err)\n\t\t\treturn\n\t\t}\n\t\tlog.Println(\"Listening on 0.0.0.0:6666\")\n\n\t\tfor {\n\t\t\tconn, err := listener.Accept()\n\t\t\tif err != nil {\n\t\t\t\tfmt.Fprintf(os.Stderr, \"accept: %v\", err)\n\t\t\t\treturn\n\t\t\t}\n\t\t\tlog.Printf(\"Accepted connection from: %v\\n\", conn.RemoteAddr())\n\t\t\tgo func() {\n\t\t\t\ts := raspicam.NewStill()\n\t\t\t\terrCh := make(chan error)\n\t\t\t\tgo func() {\n\t\t\t\t\tfor x := range errCh {\n\t\t\t\t\t\tfmt.Fprintf(os.Stderr, \"%v\\n\", x)\n\t\t\t\t}\n\t\t\t\t}()\n\t\t\t\tlog.Println(\"Capturing image...\")\n\t\t\t\traspicam.Capture(s, conn, errCh)\n\t\t\t\tlog.Println(\"Done\")\n\t\t\t\tconn.Close()\n\t\t\t}()\n\t\t}\n\t}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhowden%2Fraspicam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhowden%2Fraspicam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhowden%2Fraspicam/lists"}