{"id":15197051,"url":"https://github.com/myhauntedforest/raspberrypiroamercamera","last_synced_at":"2026-03-05T07:03:05.308Z","repository":{"id":196760021,"uuid":"394402190","full_name":"MyHauntedForest/RaspberryPiRoamerCamera","owner":"MyHauntedForest","description":"Our attempt at making a roamer camera with a Raspberry PI","archived":false,"fork":false,"pushed_at":"2021-08-09T23:45:19.000Z","size":85,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-02T21:13:16.381Z","etag":null,"topics":["raspberry-pi","raspberry-pi-4","raspberry-pi-camera","streaming-video"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/MyHauntedForest.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-09T18:41:15.000Z","updated_at":"2021-08-10T00:21:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"37b7cda3-e8b3-4d90-926d-7ee66454243c","html_url":"https://github.com/MyHauntedForest/RaspberryPiRoamerCamera","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"5d83403d7924485da2017c399da74e3b0abe302d"},"previous_names":["myhauntedforest/raspberrypiroamercamera"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyHauntedForest%2FRaspberryPiRoamerCamera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyHauntedForest%2FRaspberryPiRoamerCamera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyHauntedForest%2FRaspberryPiRoamerCamera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MyHauntedForest%2FRaspberryPiRoamerCamera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MyHauntedForest","download_url":"https://codeload.github.com/MyHauntedForest/RaspberryPiRoamerCamera/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241570921,"owners_count":19984002,"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":["raspberry-pi","raspberry-pi-4","raspberry-pi-camera","streaming-video"],"created_at":"2024-09-28T00:40:30.588Z","updated_at":"2026-03-05T07:03:05.255Z","avatar_url":"https://github.com/MyHauntedForest.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raspberry Pi Roamer Camera\nThis project was an attempt to create a camera that we could strap to actors, and broadcast it over the internal network.\n\n- [Raspberry Pi Roamer Camera](#raspberry-pi-roamer-camera)\n  - [Streaming Video](#streaming-video)\n  - [Streaming Audio](#streaming-audio)\n  - [Monitoring the Pi](#monitoring-the-pi)\n  - [Startup Script](#startup-script)\n\n## Streaming Video\nFor streaming video, I went with a generic install of [UV4L](https://www.linux-projects.org/uv4l/), with [this config file](.repo/configs/uv4l-raspicam.conf)\n\nHere were the exact camera settings we used for our application:\n![Config Image](./.repo/images/video%20settings.png)\n\nWe could then access our stream using this URL:\n```http\nhttp://IP OF PI:8080/stream/video.mjpeg\n```\n\n## Streaming Audio\nNow for the audio streaming: I could not find a better way to do this, and the video and audio were not sync'd. We did not continue this project enough to inject time code.\n\nI ended up using VLC media player:\n\n```bash\ncvlc -vvv alsa://plughw:2 --sout '#transcode{acodec=mp3,ab=64,channels=1}:standard{access=http,dst=0.0.0.0:8888/out.mp3}' --sout-mux-caching 100 --network-caching 100\n```\n\nThen, we can access our MP3 stream via OBS or VLC:\n```http\nhttp://IP OF PI:8888/out.mp3\n```\n\n## Monitoring the Pi\n\n[This is a NodeJS application](./CameraServer/) I wrote to be able to monitor the PI. You can access the JSON for this page at: \n```http\nhttp://IP OF PI:1337/status\n```\n\n```json\n{\n  \"procUptime\": 177551,\n  \"osUptime\": 212410,\n  \"tempature\": {\n    \"c\": 33.6,\n    \"f\": 92.48\n  },\n  \"throttledError\": [/*A list of error messages will be here*/],\n  \"ram\": {\n    \"total\": 3649,\n    \"free\": 3358,\n    \"cached\": 20,\n    \"used\": 291,\n    \"percentUsed\": 8\n  },\n  \"cpu\": {\n    \"total\": 84704,\n    \"active\": 8111,\n    \"idle\": 76593,\n    \"percentUsed\": 34\n  },\n  \"wifi\": {\n    \"error\": \"/*An error message will be here if wifi fails to init*/\",\n    \"signalLevel\": {\n        \"percent\": 100,\n        \"dBm\": -35\n    }\n  }\n}\n```\n\nError messages:\n*   Under-voltage!\n*   ARM frequency capped!\n*   Currently throttled!\n*   Soft temperature limit active.\n*   Under-voltage has occurred since last reboot.\n*   Throttling has occurred since last reboot.\n*   ARM frequency capped has occurred since last reboot.\n*   Soft temperature limit has occurred.\n\nI wrote a simpleish HTML page to display these stats. You can find it [here](./monitor/index.html)\n\n![Simplish HTML Page](./.repo/images/Monitoring.png)\n\n## Startup Script\nI created a small startup script that is executed when the PI boots up. You can find it [here](./.repo/scripts/startup-script.sh)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyhauntedforest%2Fraspberrypiroamercamera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmyhauntedforest%2Fraspberrypiroamercamera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmyhauntedforest%2Fraspberrypiroamercamera/lists"}