An Online Video Platform (OVP) is a service for storage, management,and delivery of audio and video. OVPs are trendy, and the EDUCAUSE Learning Initiative tells us why in their December 2016 article, 7 things you should know about OVPs.
Big names in the OVP marketplace include Ensemble, ShareStream, Kaltura, Panopto, Techsmith’s Relay, Instructure’s Arc, Sonic Foundry’s Mediasite, and Echo360’s Active Learning Platform. OVP features vary, but the core functions that allow the upload, conversion, storage, sharing, and playing of video are essentially the same for all platforms. OVP pricing varies, too, with some systems clocking in at $50,000 to $100,ooo per year. That’s one reason why we built our own. Read on …
A bit about streaming video
Streaming video is not all that new. Here at UVM, we had a RealMedia Server and a Quicktime/Darwin Server both dating back to 1999. However, these products were obscure and difficult to use. Both servers were retired around May 2015.
Not all media on the web is delivered by streaming. A large chuck of content — in particular audio or video podcasts — is delivered by simple file download from a standard web server. This content is saved to the users device, and can be played either later at the user’s pleasure or even while the media is downloading. This latter viewing option is known as progressive download.
Streaming video is played as it is received, not stored or cached. It is always used for live events. Pre-recorded Video On Demand (VOD) features fast-start, instant seek ahead or behind. Ideally, the server can adjust sound or video quality on the fly to match available bandwidth. Media is difficult if not impossible to save or copy, and streaming requires a dedicated Streaming server, which historically has been clumsy and arcane to prepare, configure, and integrate into web sites.
Exhibit A: Progressive Download vs. streaming. Same video, different delivery. Which is which?
streaming.uvm.edu is born
The UVM streaming server was born serendipitously in response to the STEM construction project. The Physics Department bought an IP (Internet Protocol) Network camera, hung it out a window in Cook, and pointed it at the construction site. IP cameras stream video use the Real Time Streaming Protocol, rtsp, rather than http, yielding ugly URLs like rtsp://physicscam.uvm.edu/stream that most browsers can’t understand. Soon after, other offices wanted construction cams, too. It became quickly apparent that we needed some way to convert these rtsp addresses to http addresses in order to view the cameras on the web. In particular, we needed a new streaming server.
What we got was a product with a cool name: the Wowza Streaming Engine. Basic, simple, and surprisingly inexpensive. It did just what we needed: feed it IP camera rtsp streams, it spits back, well, something else. So we needed a player widget, too, which understood the something else and provided the play/stop/skip etc. controls necessary to render that something else as a video. We chose the JWplayer widget. Like Wowza, basic, simple, and inexpensive.
This was all well and good for the handful of IP cameras on campus. But what about the hundreds of pre-recorded video files scattered across www.uvm.edu and Blackboard or blog.uvm.edu? Turns out, Wowza can stream those, too, if those files were consistently constructed and uploaded to the Wowza servers content folder. We were lucky enough to stumble across an Open Source project named Cumulusclips which again did just what we needed. It provides the business logic of file management, tagging, searching, and transcoding needed to feed Wowza content. And it was free.
Transcoding and Dynamic Adaptive Streaming
Transcoding is the process of converting a media file from one format to another, possible twiddling attributes along the way. For example, take in a .AVI or .MOV file recorded at 1024 x 768 pixels, 60 frames per second, bitrate 5100 kilobits per second; spit out .MP4 file 768 x 434 pixels, 30 frames per second, bitrate 3100 kilobits per second.
Dynamic Adaptive Streaming detects the bandwidth and CPU of a user’s device and calibrates the video stream accordingly in real time to deliver the best playback quality regardless of connection speed or device. To achieve this, any file uploaded by a user must be transcoded into two or more alternatives with varying quality metrics. The server can switch from one alternative to another on the fly.
The UVM Streaming Server transcodes every uploaded video into 3 variants:
- High: 3000 kbps, 1280 x 720 pixels
- Medium: 1000 kbps, 640 x 360 pixels
- Mobile: 600 kbps, 480 x 300 pixels
This is a resource intensive process, and may take more often several minutes to less often several hours to complete. Please plan accordingly. Also note it is better to transcode a high resolution video into a lower resolution than it is to go from low to high. So when creating your videos, aim high for best results.
Back to streaming.uvm.edu
So now that all the pieces – Wowza Streaming Engine, JWPlayer viewer, and CumulusClips – are assembled, what exactly do we have? An OVP which mimics the YouTube experience with the following list of features:
- UVM WebAuth authentication
- Upload videos: Accepts mp3, mp4, flv, wmv, rm (RealMedia), mov, avi
- Tag and categorize uploads, create play lists
- Upload and attach SRT/WebVTT caption files
- automatically transcodes to multiple format mp4 files for consistent viewing experience (600kbps mobile; 1000kbps desktop; 3000kbps HD theatre)
- Dynamic Adaptive bitrate streaming via MPEG DASH and Apple HLS
- Automatically creates thumbnail poster images, or upload you own
- Streamlined integration with BlackBoard and WordPress
- optionally require UVM login to view
- optionally hide videos from search engines
- watch videos, search for videos, share and embed
- Growth has been steady, with well over 2000 videos uploaded
7 things you should know about UVM Streaming Server
Back to the EDUCAUSE “7 things you should know about…” article: What are the 7 things you should know about the UVM Streaming Server?
- What is it? A UVM specific solution for the storage, management, and delivery of digital video.
- How does it work? Our server provides the core functions that allow the upload, conversion, storage, sharing, and playing of video or audio files. After NetID authentication, user can upload files up to 10Gb each. Files are automatically transcoded into 3 variants to support dynamic adaptive streaming. The server acts as a central repository for the content and provides content owners with the ability to control access to the work.
- Who’s doing it? The Center for Teaching and Learning in partnership with Enterprise Technology Services.
- Why is it significant? A centralized enterprise level campus-wide OVP – along with the LMS (Blackboard, Canvas), the synchronous learning platform (Adobe Connect, Cisco WebEx), a lecture capture suite (Mediasite, Tegrity), and learning analytics program (KlassData, SSPS) – is becoming a necessity for higher education. We feel it is a real game changer, as do Panopto and Kaltura.
- What are the downsides? The downside of any in house open source software is the need to support and maintain the beast in house. Thankfully, two out of three components are commercial products, and thus far their technical support has been outstanding.
- Where is it going? In the words of EDUCAUSE, “OVPs are a relatively new type of system in higher education, and the contours of the market are emerging. Platform providers are working to create an experience that closely matches that of YouTube.” Are we there yet?
- What are the implications for teaching and learning? Distance learning, hybrid classes, flipped classrooms, universal design, international students, to name a few. Tell us what you think!