Bbuzzinga hackathon
Storm topology to get and process frames from a video stream
This storm example is just a funny way to learn something more about `storm`,
so don’t expect to find here hard or smart analyzing :)
This topology takes a video stream, extracts some frames from it, then converts them to grayscal and puts to S3 bucket.
At the same time it also prints frame size into log file.
Dependencies
- aws client 1.4.5
- storm 0.8.2
- xuggle 5.4
Configuration
- update storm.conf with actual stream information, as well as your S3 keys.
Installation
- install and configure storm 0.8.2
We use leiningen 1.7.0, not the recent one. - since zuggle has no candidate from maven2 we need to include it manually. Download xuggle 5.4
cd /tmp wget http://xuggle.googlecode.com/svn/trunk/repo/share/java/xuggle/xuggle-xuggler/5.4/xuggle-xuggler-5.4.jar
- add it the the local maven repository:
mvn install:install-file -DgroupId=xuggle -DartifactId=xuggle-xuggler -Dversion=5.4 -Dpackaging=jar -Dfile=/tmp/xuggle-xuggler-5.4.jar
Deployment
Assume, you have configured storm cluster with nimbus running on server with name “nimbus.example.com”.
cd /your/path/bbuzz-storm/ lein deps lein compile lein uberjar storm jar bbuzz-storm-1.0.0-SNAPSHOT-standalone.jar storm.bbuzz.BbuzzTopology bbuzz storm.cfg -c nimbus.host=numbus.example.com