A fun camera app to process images in real time, using Web technologies.
JavaScript CSS F#
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
docs
img/icons
js
shaders
.gitignore
CNAME
LICENSE
README.md
favicon.ico
index.html
manifest.appcache
manifest.webapp

README.md

rtcamera

A fun camera app to process images in real time, using Web technologies. Check it out!

Warning: the online version might be slightly outdated as I only push "stable" code there. Check out the latest code if you want to play with the latest features

Requirements

You need a browser with support for WebRTC's getUserMedia and WebGL, and a connected camera for maximum fun.

Firefox for desktop has getUserMedia enabled by default starting on Firefox 22. If you want to run this on your Android device, you'll need to get a (Nightly](http://nightly.mozilla.org/) or Aurora version.

On Firefox OS, WebRTC support is not ready yet, so the live image processing feature is not available, but you can still pick existing images, modify them and save the ones you like.

Chrome should work out of the box on desktop, but WebRTC is not supported on the stable Chrome Mobile yet. You have to use Chrome Mobile Beta, and also go to chrome://flags and enable WebGL.

Safari doesn't seem to have support for WebRTC, we have to emulate IndexedDB using a shim (because it's not supported either) and WebGL needs to be manually enabled after enabling the Developer menu. But then it fails in weird places. If you can fix it, feel free to send a pull request and I'll merge the changes in :-)

How to run it

Get the code by cloning it:

git clone git@github.com:sole/rtcamera.git rtcamera

Then, because we load files using AJAX, you'll need to either upload a copy to your server, or use a local server.

If you're running Linux or Mac OS you will probably be able to start a local server by running this:

cd rtcamera
python -m SimpleHTTPServer

The app will be accessible at http://localhost:8000/

You will need to find out your computer's IP address if you want to try it on your mobile device. Once you know the address, replace localhost with it and try that on your device. For example, assuming the address is 192.168.0.10, you'd browse to http://192.168.0.10:8000 on your device.

A developer walkthrough is also available.

Bugs

We're using the mighty Bugzilla for filing bugs on this project. Please add them under Developer Ecosystem :: App Center, and for maximum helpfulness, you can also add [refapps][rtcamera] to the summary line.

You can also see the current list of bugs, and maybe contribute to the project by taking over one of them? :-)

Contributors

Used libraries

This app wouldn't be possible without these wonderful libraries. Many thanks to their authors!

Thanks