Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Which technology do iPhones and iPads use to play YouTube without supporting Flash?

share|improve this question
add comment

5 Answers 5

up vote 31 down vote accepted

They use a format called H.264. YouTube and other video sites deliver content in this format also (so that their videos are viewable on iPad/iPod touch).

One advantage of H.264 is that hardware based encoding/decoding can be used.

See also Steve Jobs's Thoughts on Flash

H.264 is one of the formats for video support in the latest version of HTML, HTML 5. Apple supports this in Safari and Google in Chrome*.

*Google recently announced that it will no longer support H.264 in the future versions of Chrome.

Because of this H.264 is kind of hot of late. See these articles.

share|improve this answer
    
For a bit of history, Apple and Google partnered up when the first generation AppleTV was introduced; that device also plays YouTube over H.264. –  xorbyte Feb 16 '11 at 18:17
    
That is correct! question can you browse youtube with html5 enabled? youtube.com/html5 ? –  Trufa Feb 17 '11 at 2:57
    
Flash can be hardware accelerated as well, it's not just h.264 –  Fake Name Feb 17 '11 at 6:34
    
@Fake Name, was not aware that flash can be h/w accelarated. Will read on this... –  Nivas Feb 17 '11 at 8:32
    
Flash is GPU accelerated in the last few months (for Mac). Flash has been GPU accelerated in Windows for maybe a year? Flash can be hardware accelerated, except no one has put it on a chip in a mobile device. Where practically everyone has a h.264 and mpeg audio (MP3+AAC) hardware decoder on chip already. –  Jason Salaz Feb 17 '11 at 23:35
show 2 more comments

Nivas said all there's to know about H.264, the format used by YouTube to stream video. But that's how the video is encoded and decoded and it's used by flash, iOS (iPhone operating system) and HTML5.

The real difference is how the request for the video is done. In a nutshell, iPhone requests it the same way HTML5 and Flash do but grab the answer from youtube and plays it elsewhere instead of the browser or flash.

On a desktop, when you get to youtube.com it identifies you're on a desktop browser, because the browser informs YouTube about it. Then YouTube points you to the Flash version and all its code is already programmed to play the video in its own way. That also envolves HTML and H.264. So picture the path a byte of the video do from YouTube files to your screen. It'd be something like this:

YouTube streaming server -> your browser -> Flash -> screen.

When you point your browser to the HTML5 version of YouTube, the code in there just expects your browser will be able to play it using no Flash. So the video byte path would be:

YouTube streaming server -> your browser -> screen

It's funny how simple it is to think about it now, but HTML4 never had any code to communicate "play video" on its own, and no browser were expected to be able to do so. So HTML5-enabled browsers actually are video players on their own as well.

Both that new browser and Flash have basically the same source code to be able to decode H.264 and both need the codec to be available from the operating system. But each one have their own implementation of it.

On iOS, whenever it identifies "YouTube" while you're browsing, it looks for either code, HTML5 or Flash embedded, grabs the video reference from that code and just ask YouTube for the video directly. Much the very same way HTML5 does. But instead to play it within the browser, it calls an iOS API to play it from the video player. So the video byte path is:

YouTube streaming server -> iOS video player -> screen

Of course, there's a whole lot more beyond that, but those are the basic concepts. So the technology iPhone uses is all the same and practically transparent to YouTube servers.

share|improve this answer
add comment

YouTube also has HTML5 players - they recently changed their embed code to an iframed method which allows HTML5 and Flash to be shown depending on your browser setup, which the iPhone supports.

Essentially, the Flash player is a way of playing a video file, so the file is available in a readable format (as Nivas was saying) that the iPhone/iPad can open in its media player.

Soundcloud also works on the iPhone, which I think is down to HTML5.

share|improve this answer
2  
This doesn't answer the question, nor is it at all related. "HTML5" is not the answer, because the built in YouTube application isn't "HTML5", for example. –  Jason Salaz Feb 16 '11 at 23:01
add comment

When you upload a video on Youtube, it is converted into multiples formats, sizes and codec (not only FLV/VP6 flash video!).

Doing this, Youtube can serve you the best compatible option when you request a video depending the application / web browser (mobile or not) / bandwidth you have.

share|improve this answer
add comment

What does H.264 encoding technology to do with Adobe Flash and applications for embedding content?

H.264 is a protocol codec. This means you use this protocol for "creating" a movie. Once you have the movie, you need an application for playing the movie. This is what Adobe Flash does (and many other applications). See the Wikipedia page for more information.

What mr andyface says make much more sense. So I suppose Safari supports HTML5.

share|improve this answer
1  
Protocols and codecs are two very different things. A protocol is a communication method, codec stands for Compressor/Decompressor. HTTP is a protocol, H.264 is a codec. –  Jason Salaz Feb 16 '11 at 23:01
    
yes and no, you are talking about network communication protocols, but : "A protocol is a set of guidelines or rules" So, a CODEC is a subset of a protocol –  Alex Angelico Feb 18 '11 at 15:43
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.