Developing a Statewide Video Streaming Service for Virginia Higher Education
2008 NMC Summer ConferencePrinceton University
Ralph [email protected]
James Madison University
About VIVA
• The Virtual Library of Virginia (VIVA)• 15 Public Colleges and Universities• 24 Public 2-Year Colleges (VCCS)• 32 Private Non-Profit Colleges• The Library of Virginia• ~ 400,000 students, faculty and staff• Annual budget > $6M USD• More information: www.vivalib.org/
VIVA Provides• Over 150 databases -- indexing scientific and
technical literature, providing access to instructional resources, and supporting nearly every discipline taught at Virginia colleges and universities
• Access to over 20 journal collections including over 7,000 journals and millions of articles available via the Web to VIVA students and faculty
• Expedited interlibrary loan• Software, systems and databases to improve
access to and management of library collections • Training and documentation on use of e-
resources, integration of resources with curricula, and resource sharing
About This Session
I. Why streaming?II. Best Practices -- Now what?III. Let’s federate!IV. Promoting learning & discovery.
Each part will last 10 minutes followed by 5 minutes for questions and discussion. There will be 2 live demos: 1.) a locally hosted streaming service and 2. ) the centrally hosted service. Extra time will be reserved for discussion at the end.
Opportunities
• Educational video on demand• Multiple viewers at one time• Level the playing field across institutions• Deliver video to classrooms & public spaces• Enhance learning via out-of-class experiences• Put videos into broader contexts
Challenges
• New and rapidly changing technology• Competing technical standards• Uneven infrastructure across campuses• General unfamiliarity with policy issues• Working across organizations & cultures
Streaming Video Scenarios
• Multimedia licensing as a strategic objective• VIVA licenses content, vendor hosts• VIVA licenses content and hosts centrally• VIVA members host content on a peer-to-
peer basis• Each VIVA school hosts content locally• VIVA contracts with 3rd party to host content• Combination of the above
Licensing Considerations - PBS
• Breadth of coverage, quality of content• One-time fee vs. ongoing subscription• Term license vs. perpetual license• Access via IP domain vs. authentication • Downloading vs. stream only• Subsidiary rights and stability of content
The PBS Collection• Content supports learning across schools• 498 titles, over 500 hours of video• Delivered as MPEG-4 DVDs ~2 mbps• Broad subject coverage & high production
values, low “volatility”• License in perpetuity, one fee, host your own• Downloading prohibited• User id and password required for
authentication and authorization
Streaming Video Strategic Goals• VIVA Task Force on Multimedia Collections• Develop expertise with rich media within
the consortium• Establish a forum for resource sharing and
information exchange• Recommend technical specs and technical
support structures• Recommend approaches to cataloging,
resource discovery and preservation• Develop models for user support
Planning Issues
• Wide variation in infrastructure and technical expertise among members
• Bandwidth!!!• Server/service management issues• Encoding• Access control• Resource discovery• Integration with learning & teaching• User support
Strategy Elements• Emphasize VIVA principles of sharing, equitable
access and cost effectiveness• University of Virginia provides central hosting
under Shibboleth; other schools can opt to host their own content and/or use central host
• Define and follow best practices• Encode files to a standard and share them• Divide the labor, avoid duplication of effort• Pursue common denominator solutions (e.g.
same encoding and cataloging for local and central hosting)
Moving forward• Survey all VIVA members• Analyze responses from 54 campuses• Adopt parallel strategy of short term support
for local hosting and long term support for central hosting
• Develop quality assurance process• Use Shibboleth as authentication mechanism
for centrally hosted content• Shibboleth decision drives encoding choices
Streaming Video Hosting Experience in VIVA
The 64% question: Does your school host online video collections?
Server & Player Selection Issues
• Shibboleth solution requires Darwin Streaming Server (open source equivalent of QuickTime)
• QuickTime is default player for the project• Server and player decisions at each school can be
made independently from central service• Standalone player offers screen size and random
access advantages• Plug-in keeps everything in the browser and can be
configured to play segments from within longer streams
Encoding Decision Process• Encoding samples developed for each of the major
media players• Samples prepared with different compression tools,
bit rates, resolutions, frame rates etc• Samples served from different institutions and
tested for quality on different bandwidth networks• Decision to go with QuickTime compatible scheme
and MPEG-4 with H.264 codec at 300 and 800 kbps• Encoding of files outsourced to TapHere! • Encoded files distributed on hard drives
Encoding Workflow• Technical specifications developed and refined within
VIVA• Various approaches to encoding processes tested
within VIVA• 1 hour of streaming = 10+ hours of encoding• Decision made to outsource encoding• RFP developed for outsourcing• Key criteria: technical specifications, stream quality,
turnaround time on encoding jobs, adherence to QA process, embedded metadata, intellectual property protection, cost
Contract awarded to: TapHere Technologies!
Bandwidth• 6 research universities have 1-10 gigabit per
second pipes to edge of campus• 50+ campuses have pipes from 45 to 500
megabits per second capacity• A few schools have capacity of 10 megabits
per second or less • Almost all schools have adequate bandwidth
to academic buildings on their campuses
Bandwidth Issues• Bandwidth has been the single most critical issue• Incoming pipe capacity is critical for content hosted off
campus• Packet shaping and other net traffic control measures can
be a problem; caching can help• Network load is critical; time of day matters• On-campus infrastructure is generally adequate for local
hosting• Schools with greatest need for central hosting are least
able to handle incoming streams• 45 mbps = entry level for central hosting participation• Need to take care on distribution of 800 kbps streams
Let’s try it out.Let’s try it out.
James Madison University Library Cataloghttp://leo.jmu.edu/Keyword Search: VIVA streaming video collectionFor current JMU students, faculty and staff
Authentication and AuthorizationAuthentication and Authorization
• Shibboleth for authorization to VIVA hosted service Shibboleth for authorization to VIVA hosted service based on user attributesbased on user attributes
• Local authentication solutions for files hosted on Local authentication solutions for files hosted on individual campuses (LDAP scripts, EZ Proxy, etc)individual campuses (LDAP scripts, EZ Proxy, etc)
• Authentication often happens in front of release of Authentication often happens in front of release of stream and not at local streaming servers (requires stream and not at local streaming servers (requires strategies to hide stream URLs)strategies to hide stream URLs)
• Moving toward authentication at server level for Moving toward authentication at server level for local hostinglocal hosting
Shibboleth DefinitionThe Hebrew word used by Jephthah as a test-
word by which to distinguish the fleeing Ephraimites (who could not pronounce the sh) from his own men the Gileadites (Judges xii. 4-6).
2. transf. a. A word or sound which a person is unable to pronounce correctly; a word used as a test for detecting foreigners, or persons from another district, by their pronunciation.
Source: Oxford English Dictionary, Second Edition, 1989http://dictionary.oed.com/
Shibboleth Internet2 DefinitionShibboleth Internet2 Definition““The Shibboleth System is a standards based, open The Shibboleth System is a standards based, open
source software package for web single sign-on source software package for web single sign-on across or within organizational boundaries. It across or within organizational boundaries. It allows sites to make informed authorization allows sites to make informed authorization decisions for individual access of protected online decisions for individual access of protected online resources in a privacy-preserving manner.”resources in a privacy-preserving manner.”
Source: Shibboleth® Web SiteSource: Shibboleth® Web Sitehttp://shibboleth.internet2.edu/ http://shibboleth.internet2.edu/
Short Definition: Short Definition: Single sign-on access to online Single sign-on access to online services based on assertions about user attributes. services based on assertions about user attributes.
The VIVA PBS project offers a low risk, high benefit The VIVA PBS project offers a low risk, high benefit opportunity to test the technology.opportunity to test the technology.
Pursue a Federation?Pursue a Federation?
N=31 (including VCCS with 24 campuses)N=31 (including VCCS with 24 campuses)
Shibboleth Steps1. Establish a federation within VIVA along
with a “trust fabric” and policies governing which types of users have access to which types of video streams
2. Implement a Shibboleth Service Provider for video streaming at the University of Virginia
3. Join InCommon federation to manage policies and WAYF (Where are you from?) services
4. Install Shibboleth Identity Provider software at participating campuses
Request for Shibboleth Streaming Service
Hmm… looks like I need to click on the link to see the online video
Link to Shibboleth enabledStreaming service
WAYF dialog
I guess they need to know where I am from before they let me see
the video.
Where are you from?
College of William and MaryGeorge Mason UniversityJames Madison UniversityOld Dominion UniversitySweet Briar CollegeUniversity of Mary WashingtonUniversity of RichmondUniversity of VirginiaVirginia Commonwealth UniversityVirginia Tech University
College of William and MaryGeorge Mason UniversityJames Madison UniversityOld Dominion UniversitySweet Briar CollegeUniversity of Mary WashingtonUniversity of RichmondUniversity of VirginiaVirginia Commonwealth UniversityVirginia Tech University
User request is redirected to InCommon
Federation WAYF.
Login at Home Institution
Now they want me to login to JMU.
After login, assertion about user attributes is passed to streaming
service
View Stream After Authentication
Hey …this looks a lot better than what I am used to seeing on YouTube.
Streaming video in QuickTime player
Stream is launched after Shibboleth Service Provider determines that attribute obtained from Identity Provider at home school matches type of person authorized to view the stream.
Let’s try it out.Let’s try it out.
Shibboleth-Enabled Service at University of Virginiahttps://pbsvid.itc.virginia.edu/
For VIVA Members via InCommon
Stream
ing
files
WAYF(InCommon)
3
2
Where Are You From?
4
OK, your request is redirected to the Handle Service of your home org.
HS
5
6
I don’t know you.Please authenticateUsing WEBLOGIN
Attribute 10
Sh
ibb
olize
d D
arw
in S
treamin
g S
erve
r
Attributes
1
ACS
I don’t know you.Not even which home
org you are from.I redirect your request
to the WAYF
Shibboleth Identity Provider
User Database
7
Credentials
OK, I know you now.I redirect your requestto the target, together
with a handle
AA
Pass user attribute to Service Provider.
9Handle
Handle8
Ask Attribute Authority for attributes to see if user is eligible to receive service
Handle
AR
Shibboleth Streaming Service Provider
Shibboleth Authentication
Adapted from Michael Gettes, 2004
Cataloging & Resource Discovery• Integrate with existing systems or develop separate
repository?• Support multiple paths to the streams (OPAC, LMS,
repository, links on the web etc)• Discovery tools and schema in flux• Looked at many schema and tools for enabling
search and resource discovery (MARC, Dublin Core, MODS, MPEG-7, PBCore, Blinx)
• Need to balance metadata quality with a reasonable production timetable
Resource Discovery Strategies
• Produce records for video streams from existing OCLC MARC records
• Modify OCLC MARC records to suit local needs• Prepare records to be imported into local integrated
library systems• Script iTunes atom level embedded metadata at time
of encoding• Ingest metadata from file manifest spreadsheet or
add manually for use in local file systems and repositories
Referencing Video ClipsParameters may be added to the base name URL for each video
title to specify High (H) or Normal (N) bit rate and to specify start and stop times for a clip within a longer video.
Example: Lincoln’s Gettysburg Addresshttps://pbsvid.itc.virginia.edu/cgi-bin/secure/viva-pbs?
pbs_amx002-5&N&00:27:09:00&00:31:50:00
The URL above tells the streaming server to start playback at minute 27 and second 9 and end at minute 31, second 50
Try it out in Google Sites
Current Status
Streaming files encoded at 300 and 800 kbps in QuickTime H.264 format
State contract available for subsequent encoding services Cataloging records developed for streaming files Video files and catalog records available from JMU Catalog records available from VIVA FTP site Locally hosted service available at several schools Centrally hosted Shibboleth streaming operational at UVa Contract template for InCommon Federation developed (10 VIVA
members have joined) Google Site created for the project; Install Fest being planned
Next Steps• For central service, pilot test Shibboleth with
subset of 10 VIVA schools• Sponsor Shibboleth “Install Fest” for VIVA• Conduct quality assurance testing; pursue
strategies to expand access to smaller schools• Develop timecode capture, bookmarking &
playlisting capabilities • License/identify additional streaming content?• Flash service???• Integrate online video with teaching and
learning systems and practices!
What does this mean?• Single sign-on solution for web services• Quality online video collections for VIVA
members without the hassle of managing a streaming service
• Ability to place online video in educational contexts and reference streams in many ways
• Federated identity opens possibilities for more sharing across institutions
• Services based on trust relationships can be differentiated based on user attributes