Widevine Technologies
Certified Widevine Implementation Partner Program

CWIP Prerequisites and Course Overview


Required skills and background knowledge for training and certification:

  1. You must be able to communicate in English (verbally and written)
    The classes are taught in English exclusively. If you have a difficult time understanding English you will find the classes almost impossible to navigate.

  2. You must bring a laptop with Chrome browser installed to participate in and complete the lab sessions
    Lab sessions invvolve packaging, encryption, and the playback of encrypted video in a HTML5 player application (Shaka Player) that supports EME and MSE.

  3. Systems and Network Administration
    The individual should have a good understanding of networks, including CDN setup and maintenance, setup and maintenance of web servers, video content flow to the Internet, firewalls, routing, subnets, TCP and UDP communications.

  4. Experience with Video encoding and Video Encoding Standards (Understand DASH, GOP, iframe, H.264, VP9, MP2TS, etc…)
    Video encoding is one of the most time consuming and complicated portions of an integration and CWIP students should have a very good understanding of video encoding standards, such as IDR frame structure, encoding profiles like baseline, main, high, and which platforms support which profile, video muxing, HLS, etc.

  5. Scripting (XML)
    Our installation manual contains a sample start script, plus we have students edit CGI files, we also field scripting related questions.

  6. Programming (C, Java)
    Our code is C and C++ and web UI is Java, therefore it is recommended that students understand these.

  7. Experience with VOD and VOD administration

  8. Experience with streaming video over the web

  9. Experience with Linux (Ubuntu Linux)
    Widevine's supported OS is Ubuntu, therefore, all students are expected to have an intermediate knowledge of the Ubuntu environment and working from the command line to complete the lab.
  1. Python Programming
    Students should have an intermediate knowledge of working with Python, including the command line interpreter and reading python code.

Upcoming Course Schedule

* Class schedules are subject to change

Course Title Course Date(s) Location Time Registration Deadline
Widevine DRM Training July 24 - July 27, 2017
Google Amsterdam
Claude Debussylaan 34
1082 MD, Amsterdam
9:00am - 5:00pm July 21, 2017
Widevine DRM Training Sept 25 - Sept 28, 2017
Google Kirkland
747 6th Street South
Kirkland, WA 98033
9:00am - 5:00pm Sept 22, 2017

Overview of Courses

* Please note course description and content are subject to change

Widevine DRM Training

  • Day 1:
    • Lecture
      • Modular DRM Framework
      • Description of DASH
      • What are Encrypted Media Extensions
      • What are Media Source Extensions
      • The Widevine CDM: Implementation and Ecosystem
      • Content Encryption and Playback
      • Supported Platforms
        • Client availability
        • Client security and integration

  • Day 2:
    • Lecture
      • Content Encryption
        • Common Encryption
        • e-DASH Packager
        • Encryption Options
        • Packaging workflow
        • Supported input and output formats
      • Content Playback
        • License Proxy
        • Shaka Player
        • Player Options
        • Policies/Business Rules
        • Multi-DRM interoperability
    • Lab
      • How to encrypt content
      • Available tools, demo and code samples
      • Content validation including sample playback

  • Day 3:
    • Lab
      • Advanced Lab Exercises
        • Conversion of Widevine Classic files to DASH
        • Creation of Widevine PSSH
        • Working with third party content keys

  • Day 4:
    • Developer Q&A Sessions
      • Shaka HTML5 Player
      • iOS
      • Android