Posts tagged video
I’m currently working on re-encoding all the videos on WeberTube, Weber School District’s media-sharing site. As mobile devices become more and more common in our schools, it is becoming increasingly necessary to accommodate them. I’ve been wanting to do this for awhile, so it’s exciting to get to work on it now. One problem with Apple devices such as the iPhone and iPad is that they don’t support Flash video (FLV), which is what WeberTube currently uses. So we’re converting them to H.264/AAC MP4s, which will allow them to be played on pretty much any device.
At first I tried to recompile mencoder to do this. Mencoder is the Linux program that WeberTube uses now to convert any video that gets uploaded to FLV format. It needed some reconfiguration to allow H.264/AAC videos, namely the x264 and FAAC libraries. However, no matter how much I tried, I couldn’t get the audio to work. So after wrestling with compile errors, I switched to ffmpeg, compiling it with the H.264/AAC support. Everything so far is working great, except for a few audio/video sync problems, but I’m confident I can get those resolved. Even after we deploy the WeberTube updates, it’ll be a process of tweaking and re-tweaking the settings until we feel good about the balance of video quality to filesize.
Now we just need to back-convert all the 5500+ videos on WeberTube.
We deployed a live streaming server recently. With relative ease, any school with a webcam and a microphone can broadcast live video throughout their school. This is a great new tool, since this doesn’t require any expensive hardware (just a webcam and a microphone), and right now it’s fairly simple to use it. We are looking for more teachers and administrators who want to try this. Here’s a few ideas on how live streams could benefit your school:
- Share a video-based Principal’s message to your teachers and students once a week
- Live stream morning announcements hosted by your students (Roy High has already used the server to do this twice).
- Broadcast school assemblies into other classrooms. Some of our schools have too large a student body for their auditoriums, and the live stream could be shown in designated overflow areas. Since live streams can actually be transmitted across the district, you could even share your assembly with other schools, if appropriate.
The server uses the open source Red5 Flash streaming server. To transmit, we are using the free Adobe Flash Media Live Encoder application. In the future, the live streaming application will be moved to WeberTube, so the Flash Media Live Encoder will no longer be needed, and people can simply broadcast and watch live streams off the web site.
If you’re a Weber School District administrator or teacher, and want to try live streaming and broadcasting video throughout your school, please leave a comment on this post, or email me. Again, all you need is a webcam and a microphone.
Technical Level: Intermediate
For: IT Professionals
I’ve been working on a live streaming server for all our teachers. I’ve had this Icecast server sitting here for about two years now, not really doing anything. I’ve been using it occasionally to give live piano performances to a virtual audience, but I’ve been waiting for the time when we could install webcams or something in every classroom. And now the “something” is finally happening. We’re [gradually] equipping every classroom in our district with document cameras. Document cameras by themselves are a great tool, easily making the old light-based projectors obsolete.
Yet it’s kind of a waste of a digital video device to keep it always pointing down at the paper or textbook or biology specimen you’re showing your class. Why not point that lens upward at the teacher or the whiteboard, and stream it so anyone can watch on the web? Or why not video record the students giving their presentations so their parents can watch from home? (Get them to sign a waiver first.) Not to mention this technology would be invaluable for students sick in bed.
Document cameras can function as webcams. As long as their video connects to the computer, they can be captured and sent to Icecast. Icecast uses Ogg Theora and Ogg Vorbis for the streaming video and audio. I’ve messed around with a few programs that could stream to these formats. I found a program called Visonair Ogg Streamer which probably has the simplest interface, but I couldn’t get it to establish a connection. Plus, the creator hasn’t updated it in about 2 years. I tried EzStream as well, but it’s command-line only, and I only managed to stream an existing OGG file, not a webcam. Finally I settled on VLC, which does the job nicely. The only problem is it crashes a little more frequently than I would like with my webcam and the DirectShow filters, but I’m wondering if that’s a configuration and/or compilation issue I can resolve. It also requires a complicated MRL that has to be entered to properly stream, and it’s going to be a little confusing for the staff. Training will help with that, but it would be nice to have something easier.
Next, to give all the Icecast streams a central hub for users to browse and view, I’ve been integrating Icecast with our media sharing site. We haven’t officially announced the site yet, other than a cursory mentioning in the BrainBlast class lineup, but it uses osTube, an open source script that’s similar to YouTube. The nice thing is that in addition to video, osTube includes support for pictures, audio, and documents. I’ve been able to add LDAP logins to it, so it ties in directly with our LDAP tree. Once I have Icecast fully integrated, I’ll finish an “Import” utility I’ve been working on, which lets users automatically import videos from other sites (like TeacherTube) without having to download the files themselves.
Icecast provides an XML which shows who is currently streaming through the server. This made it easy to create a “Live Streams” page for osTube which automatically displays the currently active streams. After clicking a stream link, osTube goes to the details page where the actual stream plays.
There aren’t many options for web-based Theora players. In fact, the only one I could find is a Java applet called Cortado. I think it will suffice. I haven’t been able to find any Flash Theora players. I ran into some problems with using the Cortado JAR — I kept getting “Access denied” errors — until I realized with a smack of the forehead that the unsigned JAR had to reside on the same server as Icecast. There’s also a PHP wrapper for Cortado called iTheora. The advantage is that it adds “Play,” “Pause,” and “Download” buttons around the player, and supposedly makes it easier to use Cortado. I’m not sure if I’m going to use iTheora or not.
That’s where I am right now. I love that all this technology, which would normally cost THOUSANDS upon THOUSANDS of dollar to implement using commercial solutions, can all be done fairly simply with free open source software. Open source options should always be evaluated first, if possible.