Video Funhouse is a video converter that runs entirely in your browser. You can use videos from your hard drive or webcam, and convert them to a bunch of different formats, as well as apply filters to them.
Have you ever wanted to convert a .mov file into a .gif, or save a video from your webcam as an .mp4? Our entry allows you to load videos into the page or create videos with your webcam, and convert them to a bunch of different formats as well as apply filters to them. After the videos have been converted or modified they can be downloaded.
If you encode your video into an animated gif, you will be prompted with a UI where you can upload and share your video, where it will be displayed in a viewing gallery.
Project Updates: Thanks for all the feedback we've gotten from judges and contestants. We have had some additional discussion around the project here: https://news.ycombinator.com/item?id=6739582.
If you'd like to read more about our project and our Node Knockout experience, here is an article about it: http://www.briangrinstead.com/blog/video-funhouse. We have also open sourced the ffmpeg video conversion code :) https://github.com/bgrins/videoconverter.js.
1) Record a webcam video 2) Upload or drag and drop a file onto the page 3) Select a sample video.
Once a video has been selected, the form on the left will become activated, and you can select options to encode your video. You can play around with the different filters and scaling options that we are providing by clicking the buttons on the left. NOTE: Due to the nature of this demo, encoding samples more than 10-15 seconds in length could be fairly time consuming, so it's recommended short videos are used.
Once the processing completes (It should take about one minute for a 5 second video, unless if you have a really fast computer) you can download the converted video to your hard drive. If the video was encoded into an animated gif, you can save the video to our server for sharing, which will add it to the gallery. The gallery consists of popular user uploaded videos.
Browsers: Tested in Internet Explorer 10+, Chrome, Safari, and Firefox.
FFmpeg, emscripton, expressjs, facetogif.
Voting is now closed.
Thanks so much for checking it out Addy! We've gotten the file size down from 50MB in this demo to 25MB by turning on some Emscripten optimizations. Further, applying asm.js we have gotten it down to 18.5MB, and I'm setting up some performance comparisons as we speak. Once these are set up I will be able to play around with some more ./configure options to see what else we can do to shrink the size.
One of my dream goals of this project is to have a Firefox/Chrome extension that can be installed that acts like a desktop app and will let me drag and drop screencasts onto it and turn them into gifs, while giving me options over the quality and size of the output :). In this case, and probably any other app, the extra logging will definitely be unnecessary (and probably slow things down) so I will remove it.
Really glad to see the filesize has been brought down! nice work :)
Ouch, tough scoring. We are working on shrinking the size in this open source project: https://github.com/bgrins/videoconverter.js - we've already cut the size of the file in half.
It should definitely be possible to do audio processing.
Depending on the codecs (like mp3) that you want to support, they will have to be compiled in as well. You can follow - or even help out on :) - this issue to see progress: https://github.com/bgrins/videoconverter.js/issues/1.
Thank you! Sorry about the gallery confusion. The gallery loads most popular by default, and I'm not sure that too many people have been actually up or down voting the videos. So your video should show up under recent http://devcomo.2013.nodeknockout.com/gallery/recent. Just a warning it's a little slow to load recent videos, it looks like someone added about 30 seconds of Rick Astley.
I've been Rick-Rolled again! ;-) Thanks for following up Nicole.
Thanks! Actually, in the project we have open sourced since the competition, we have the file size down to 18.5MB (down from the 50MB originally compiled for this project): https://github.com/bgrins/videoconverter.js.
Thanks! I haven't actually tested streaming yet, as I haven't done much with FFmpeg beyond converting videos. We can enable and disable a bunch of flags in the configure script, so, maybe?
Unfortunately it isn't. For the Webcam demo, we build a .gif and than pass that as the input source.
It would be really tricky to pass in a stream to the input source, because the way the binary we built works, we essentially pass in a byte array as the input file.
Sullivan Higdon & Sink
Any feedback for the low rankings?
mostly 2 reasons:
Thanks for checking it out! We actually had a preview of the video frames running at one point, but ran into some stability issues with tabs crashing so had to pull it. Now that we have optimized the JS over at https://github.com/bgrins/videoconverter.js it is about half the size and faster. I may take another shot at more of a live preview concept over there.
Focus the Web
Thanks! We are working on this at: https://github.com/bgrins/videoconverter.js if you want to follow along.
Thanks! And about previewing, I totally agree :). We actually had an extra worker that was processing certain frames in the background to preview screenshots of the video when filters were applied - but we ran into some stability issues with crashes so we took it out.