Skip to content

balena-io-experimental/balena-cam-uv4l

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

resin-cam-uv4l

A smart Raspberry Pi streaming camera based on UV4L.

It works on all the Raspberry Pi's with a camera connector—even the Pi Zero!

Getting started

  • Sign up on resin.io and follow our Getting Started Guide
  • Clone this repository to your local workspace
  • Set these variables in the Fleet Configuration application side tab
    • RESIN_HOST_CONFIG_gpu_mem = 196
    • RESIN_HOST_CONFIG_start_x = 1
  • Add the resin remote to your local workspace by running the useful command from the Resin dashboard
    Hint Adding the Resin remote.
  • Push code to your device with a simple git push resin master
    • See the magic happening, your device is getting updated Over-The-Air!
  • If you want your device to be accessible on WAN, enable its public URL
    • Select your device from the Devices side tab
    • Click the Actions side tab
    • Click the ENABLE PUBLIC DEVICE URL button
    • Note down your device's public URL!
  • When your device finishes updating visit your device's IP or public URL to watch your stream!
    • You can find your device's IP on the Resin dashboard.
  • Further explore UV4L's configuration options and edit the config file
  • Make sure to update your devices after every change you make! You can either:
    • Commit your changes and do another git push resin master

    • Learn more about the powerful resin-cli and how you can iterate and deploy to your devices rapidly!

      Running a simple resin sync in your working directory will sync your changes to local devices faster than a git push.

Configure via environment variables

Variable Name Default Description
width 640 video width
height 480 video height
framerate 30 video framerate
rotation 0 video rotation (0/90/180/270 degrees)

If you want to add more environment variables to control UV4L's config file add a line of this format set_option <UV4L_OPTION_NAME> $<ENV_VAR_NAME> <PATH_TO_CONFIG> to the start script. It will be easy once you see the existing lines.

You can also configure UV4l on the fly using http://<raspberrypi>/panel. Where <raspberrypi> is the IP address of your Pi or the Public URL, both of them can be found in your resin.io account's Dashboard.

License

Copyright 2017 Resinio Ltd.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

a Raspberry Pi based network camera

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages