Video Streaming

Videos that are uploaded to the system can be streamed to the user with minimal buffering and interruptions. When a video file is uploaded to the system that meets bit rate requirements, it is sent via FTP for transcoding into standard audio and video formats, and it is scaled for quality where appropriate. Video content that was previously uploaded to the system and meets the audio and video bit rates requirements will also be migrated and made available for streaming.

If a user attempts to view the video prior to the successful completion of the transcoding process, the video is played using the original video file and will not be streamed.

Video streaming ensures all users have an optimal experience when viewing videos within the system. By standardizing the video and audio encoding formats, video content can be made accessible regardless of the user's device with minimal playback latency. Additionally, video streaming delivers videos to users at the best possible quality level based on their Internet connection speed , adjusted as needed during playback.

Video Bit Rate and Output

Based on the source bit rate of the video, the system transcodes the video with the best possible output quality and provides outputs that provide a uniform playback experience for users who have slower Internet connection speeds.

This is done by generating a standardized set of output files during the video transcoding process. During playback, the system chooses one of the standardized video outputs for playback based on the user’s Internet connection speed and device resolution support.

Standard Video Output

When a standard video is uploaded, it generates standard outputs per the table below based on the source bit rate of the video. The output could be one or multiple files depending on the bit rate of the incoming video.

Source Bit Rate Output Bit Rate Output Resolution (Width x Heighth) Audio Bit Rate
< 134 kbps This bit rate is not recommended, as these videos do not undergo transcoding and the video playback experience will typically be poor on devices with high resolution capabilities.
> 134 kbps 200 kbps 320 x 180 64
> 267 kbps 400 kbps 320 x 180 64
> 400 kbps 600 kbps

480 x 270

128
> 534 kbps 800 kbps 640 x 360 128
> 667 kbps 1000 kbps 640 x 360 128
> 1000 kbps 1500 kbps 768 x 432 128
> 1667 kbps 2500 kbps 1024 x 576 128

Screen Capture Output

For screen capture video, a much different playback profile is needed, and these videos are transcoded at their source video resolution at varying bit rates noted below.

Source Bit Rate Output Resolution Output Bit Rate
< 134 kbps Source Resolution 400 kbps
< 500 kbps Source Resolution 3x Source Bit Rate
500 kbps - 534 kbps Source Resolution 400 kbps, Source Bit Rate
534 kbps - 667 kbps Source Resolution 400 kbps, 600 kbps, Source Bit Rate
667 kbps - 1000 kbps Source Resolution 400 kbps, 600 kbps, 800 kbps, Source Bit Rate
1000 kbps - 1667 kbps Source Resolution 400 kbps, 600 kbps, 800 kbps, 1000 kbps, Source Bit Rate
1667 kbps - 2500 kbps Source Resolution 400 kbps, 600 kbps, 800 kbps, 1000 kbps, 1500 kbps, Source Bit Rate
> 2500 kbps Source Resolution Not supported. See the Frequently Asked Questions section below for additional information.

Please note, Cornerstone recommends a maximum source resolution of either 1024 x 768 or 1080 x 720. Resolutions higher than this, especially at lower bit rates, are not guaranteed to transcode without artifacts or perceived blurriness. Additionally, Cornerstone recommends source video bit rates above 134 kbps for optimal video playback experience.

Default Video Player Format

The following Internet browser considerations determine the default format:

Browser Operating System Default Format
Firefox (version 42 and above) Any HTML5 (HLS version)
Chrome (versions from 2013 and newer) Any HTML5 (HLS version)
Internet Explorer (IE) 11 Windows 8 and above HTML5 (HLS version)
IE 11 Windows 7 Flash; if Flash is disabled, then HTML5 (mp4).
Edge Windows 10 HTML5 (HLS version)
Safari Mac HTML5 (HLS version)

Supported Video Codecs

The following video codecs are currently supported for use when transcoding content, and this list is subject to change:

  • DIVX
  • DV
  • DV25
  • DV50
  • DVCPro 50
  • H.263
  • H.264
  • IMX 30
  • ProRes
  • Motion-JPEG
  • MPEG HDV 1080i
  • MPEG V1, Layer 2
  • MPEG2 V2(m2v1)
  • MPEG4 Part 2 (MPEG-4 Visual)
  • MPEG XDCAM HD422
  • VP6
  • Windows Media Video 9 (WMV3)

Workflow

Considerations

  • Video streaming does not include SCORM wrapped courses or embedded content (i.e., YouTube videos as video LOs).
  • Adaptive video streaming playback is not available for users in China. When a user in China accesses a transcoded video, the content will play within the player but will not be streamed using bit rate throttling. Instead, the content will be delivered in segments and the quality level is not adjusted actively during playback.
  • When playing a video LO, the video quality depends on available system resources. When the video begins to play, the stream starts at a lower quality render while it identifies how much bandwidth is available. The player automatically progresses to a higher quality render after the system has determined enough resources are available.

Migration of Video Content

There is no notification that an existing video has been transcoded other than a difference in the video player once it has been transcoded.

The following table outlines if and when video content will be transcoded for streaming for each portal environment:

  Newly Uploaded Videos Existing Uploaded Videos SCORM Wrapped Videos and Embedded YouTube Videos
Stage Transcoding begins immediately Never transcoded and is viewable in Flowplayer Never transcoded
Pilot Transcoding begins immediately Never transcoded and is viewable in Flowplayer Never transcoded
Production Transcoding begins immediately Transcoded Never transcoded

Frequently Asked Questions

Video Video Video Video Video Video Video Video Video Video Video Video Video Video Video MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert MediaConvert