{"id":57,"date":"2010-05-10T20:29:16","date_gmt":"2010-05-10T18:29:16","guid":{"rendered":"http:\/\/www.alkannoide.com\/?p=57"},"modified":"2011-09-14T09:56:21","modified_gmt":"2011-09-14T07:56:21","slug":"la-video-sur-iphone","status":"publish","type":"post","link":"https:\/\/www.alkannoide.com\/2010\/05\/10\/la-video-sur-iphone\/","title":{"rendered":"La vid\u00e9o sur iPhone"},"content":{"rendered":"

On entends beaucoup parler actuellement du conflit entre Adobe et Apple (lanc\u00e9 pour rappel par Steve Jobs<\/a> fin avril). Je voudrais m’attarder non pas sur ce conflit mais la technologie vid\u00e9o utilis\u00e9 par l’iPhone et l’iPad et d’en d\u00e9crire un peu plus les aspects.<\/p>\n

La solution recommand\u00e9e par Apple est le HTTP Live Streaming<\/a>. Elle offre la possibilit\u00e9 d’utiliser des serveurs HTTP (par exemple Apache) afin de diffuser la vid\u00e9o. Le player appelle dans un premier temps un fichier m3u8<\/a>. Ce fichier est un fichier de metadata, une playlist comme celle-ci :<\/p>\n

#EXTM3U<\/em><\/div>\n
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000<\/em><\/div>\n
http:\/\/media.example.com\/64kb.m3u8<\/em><\/div>\n
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=276000<\/em><\/div>\n
http:\/\/media.example.com\/276kb.m3u8<\/em><\/div>\n
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=420000<\/em><\/div>\n
http:\/\/media.example.com\/420kb.ts<\/em><\/div>\n
#EXT-X-ENDLIST<\/em><\/div>\n

On remarquera tout particuli\u00e8rement l’\u00e9l\u00e9ment BANDWITH, il permet de d\u00e9finir le nombre de bits par seconde. Cela permet au player de g\u00e9rer suivant le r\u00e9seau quel playlist il va utiliser : en Edge par exemple, le player choisira le fichier 64kb.m3u8.\u00a0Ce second fichier sera du m\u00eame format mais contiendra des morceaux de vid\u00e9os : des fichiers .ts \u00e0 lire \u00e0 la suite les uns des autres. Le player pourra au besoin changer de playlist suivant le d\u00e9bit.\u00a0C\u00f4t\u00e9 encodage, on utilise l’encodage H.264<\/a> pour la vid\u00e9o et\u00a0HE-AAC<\/a> pour l’audio.<\/p>\n

Tout ceci est cependant la recommandation d’Apple (cf Guidelines), il est tout \u00e0 fait possible de lire du MP4 encod\u00e9 en H.264, il faut juste limit\u00e9 le temps des vid\u00e9os \u00e0 10min maximum. Dans tous les cas, en utilisant de bons outils d’encodages, la qualit\u00e9 sera au rendez vous et donc la satisfaction des utilisateurs aussi. On pourra par exemple utilis\u00e9 soit des outils comme ffmpeg<\/a>, ceux d’Apple<\/a>; dans le cas d’entreprise, il est \u00e9galement possible d’utiliser de gros serveurs d\u00e9di\u00e9 \u00e0 l’encodage comme ceux d’Inlet Technologies<\/a>.<\/p>\n

Je terminerais par ce lien permettant d’avoir la note technique d’Apple quand \u00e0 la cr\u00e9ation et au d\u00e9ploiement du HTTP Live Streaming sur iPhone et iPad<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

On entends beaucoup parler actuellement du conflit entre Adobe et Apple (lanc\u00e9 pour rappel par Steve Jobs fin avril). Je voudrais m’attarder non pas sur ce conflit mais la technologie vid\u00e9o utilis\u00e9 par l’iPhone et l’iPad et d’en d\u00e9crire un peu plus les aspects. La solution recommand\u00e9e par Apple est le HTTP Live Streaming. Elle […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[35,33,46],"tags":[],"_links":{"self":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/57"}],"collection":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":6,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":426,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/posts\/57\/revisions\/426"}],"wp:attachment":[{"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.alkannoide.com\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}