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
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](https://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:https://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 :-)
Get the code by cloning it:
git clone [email protected]: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 https://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 https://192.168.0.10:8000
on your device.
A developer walkthrough is also available.
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? :-)
This app wouldn't be possible without these wonderful libraries. Many thanks to their authors!
- Animated_GIF
- asyncStorage.js
- glMatrix
- Hammer.js
- require.js
- x-tag and a bunch of tags from Mozilla Brick
- Jen Fong - for the myriad code reviews on Monday!
- Fred Wenzel - so many good ideas and discussions!
- tofumatt, potch, Francisco Jordano and Myk Melez - for all the work and help on the Firefox OS simulator, Gaia and answering all my questions!