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 March 12 - March 15, 2018
Google London
1-13 St Giles High St
London WC2H 8LG
United Kingdom
9:00am - 5:00pm February 25, 2018
Widevine DRM Training April 23 - April 26, 2018
Google Singapore
70 Pasir Panjang Road, #03-71
Mapletree Business City
Singapore 117371
9:00am - 5:00pm April 15, 2018
Widevine DRM Training June 04 - June 07, 2018
Google Kirkland
747 6th Street South
Kirkland, WA 98033
9:00am - 5:00pm May 27, 2018
Widevine DRM Training October 02 - October 05, 2018
Google Belgium
Chaussee d'Etterbeek 180
1040 Brussels
9:00am - 5:00pm Sept 23, 2018

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
      • Android
        • CDM and Java Classes
        • Certificate Provisioning
        • Key Rotation
        • Android Integrations
        • Device Security Levels
        • ExoPlayer
    • Lecture
      • Content Encryption
        • Common Encryption
        • e-DASH Packager
        • Encryption Options
        • Packaging workflow
        • Supported input and output formats
    • Lab
      • How to encrypt content
      • Available tools, demo and code samples
      • Content validation including sample playback

  • Day 3:
    • Lecture
      • Shaka Player
        • Overview
        • Setup
        • Code Labs
    • Lecture
      • Content Playback
        • License Proxy
        • Player Options
        • Policies/Business Rules
        • Multi-DRM interoperability
    • Lab
      • Proxy Setup
      • License request/response workflow
      • Application of polilcies/business rules

  • Day 4:
    • Finish remaining Lab exercises
    • Lab review