Playback and Encoding Basics
A quick intro to playback and encoding
Those are two different things and this page is aimed to cover both of them at a very intro level. There’s a lot more than goes on that isn’t covered in this guide. There’s more information in our 101 guides and we’ll keep adding over time. If there’s a subject you’re interested in knowing more about and we haven’t covered it, just let us know and we’ll make it happen.
Encoding
When someone uploads a video to Wistia, we don’t actually deliver/play that video for people. I know, surprising right? We will save that video as the original copy (unmodified) and then the Bakery encodes a set of derivatives. That derivative set is basically a series of copies of the original video in different formats and qualities. It also includes the thumbnail and the storyboard asset.
Want a good way to check out the derivatives created for any video? Click on your Wadmin Tools in the Video Actions Menu and it’ll show you all the derivatives. There’s some metadata in that menu to give you an overhead view on them and provide a quick check if anything seems wrong. You can also click on those derivatives to check them out in the bakery for more information.
Currently, we produce mp4 and HLS derivatives, but we used to create flv derivatives when the flash player was a larger component of the Wistia App. We use the h.264 Codec and have some recommended settings: https://wistia.com/doc/export-settings. Want to learn more about codecs? We have some more about it here.
Playback
Wistia uses HLS video streaming. What does that mean? Why don’t you read our great section about it in the help center: https://wistia.com/doc/export-settings#adaptive_streaming? Think of HLS as a series of video chunks that are 3 seconds long. Every 3 seconds, the player is able to switch to a different resolution if it needs to based on environmental factors (i.e. did the internet suddenly start sucking). Hence the set of HLS derivatives that the bakery encodes. This all allows us to adapt during playback, hence, adaptive streaming.
HLS is complicated, though, and doesn’t work on some older browsers or when customers are doing certain things. We also have a regular HTML5 video player that uses the mp4 derivatives we create. This is a little more resilient than HLS playback, but it’s not adaptive.
A CDN is a content delivery network, we use them (yes that is plural). Think of it as a bunch of points all around the world that store cached versions of Wistia videos. This means that someone doesn’t need to retrieve the video from it’s origin (where it’s stored normally), which is likely a much longer internet distance away (think of hops between a bunch of computers). This means that when person presses play, they’re getting a video delivered from the closest CDN server location.
Vocabulary
encoding
transcoding
derivatives
buffering
CDN
HLS
bitrate
codec
Practice Problems
I’m trying to upload my video. For some reason your system isn’t showing it. Could you please help me make this video work? Here’s a link to it https://jayholman.wistia.com/medias/1lm0a2obe6.
Why won’t my embed code that I’ve been using for years without trouble work? It just shows a stupid looking puzzle piece when I try to play it. Here’s my embed and a copy of the code I’m using:
<script src="https://fast.wistia.com/embed/medias/i3w7fsiq2d.jsonp" async></script><script src="https://fast.wistia.com/assets/external/E-v1.js" async></script><div class="wistia_embed wistia_async_i3w7fsiq2d seo=false playerPreference=flash" style="height:360px;width:640px"> </div>