I think that it's possible for every 2 frames, only 1 frame is played and the second frame is ignored, therefore cost half the data, is that correct?
Very basically, it's not true what you're saying.
If you want to keep the video smooth and good looking you'll have to shorten the time you display each frame, which can lead to some frames neglected - but not every second one.
If you don't want to give up any frame, you can enlarge the FPS and by that have more frames in a each second.
Note: What you say can be achieved on server side, and would probably lead to less data transported. But it's not how YouTube works (cause they don't remove every one of two frames).
No, the entire video is still downloaded.
This is because videos aren't encoded full frame by full frame. If they were, then yes, it probably would be possible to only download half the frames when viewing it at 2x speed. However, in reality, videos aren't encoded like that. Instead they use a mix of full frames (called I-frames, which is basically a JPG image) and the so-called P-frames, which only tell you what changed relative to the previous frame (or, in case of B-frames, what changed relative to the previous and next frame). As such, the data usage for a video looks like this:
This breaks your assumption "half the frames = half the data" in two ways:
- Most of the data sits in the I-frames, getting rid of every other P- or B-frame won't halve your data usage.
- Getting rid of every other frame would also completely break the video, somewhat similar to this: