développer des applications pour la tv

23
Développer des applications pour la TV Mickaël GREGORI - software engineer @meekahell

Upload: mickael-gregori

Post on 13-Apr-2017

386 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Développer des applications pour la TV

Développer des applications pour la TVMickaël GREGORI - software engineer @meekahell

Page 2: Développer des applications pour la TV

• Ingénieur développement Java, PHP, et plus, depuis 2005, pour des applications back-end essentiellement

• Mes expériences dans la TV numérique :

Architecte logiciel pour la plateforme de service IPTV xDSL/FTTH chez SFR

En 2005, développeur Java pour une expérimentation de la technologie DVB-H (TNT pour mobile), chez ByTel.

Qui suis je ?

Page 3: Développer des applications pour la TV

Développer une application pour toutes les TV

connectées, et boitiers TV (SetTopBox),

implique qu’il faut utiliser une multitude de

SDKs propriétaires.

Et oui, il n’y a pas de standards :(

Page 4: Développer des applications pour la TV

Développer une application pour toutes les TV

connectées, et boitiers TV (SetTopBox),

implique qu’il faut utiliser une multitude de

SDKs propriétaires.

Et oui, il n’y a pas de standards :(

Page 5: Développer des applications pour la TV

Pour choisir…Une étude* récente montre, qu’au 3ème trimestre 2015 le marché des box et/ou TV connectées se concentrent autour des produits mentionnés ci-dessous :

* http://www.prnewswire.com/news-releases/chromecast-leads-global-digital-media-streamer-market-for-fifth-straight-quarter-says-strategy-analytics-300184359.html

Page 6: Développer des applications pour la TV

Roku

Page 7: Développer des applications pour la TV

Roku

Une application est une channel, que les utilisateurs peuvent acquérir depuis le

store.

Page 8: Développer des applications pour la TV

Roku - Le langage BrightScript

' ********************************************************* ' ** Roku Hello World Example ' ********************************************************* Sub Main() ' roMessagePort = objet pour l’envoi des événements port = CreateObject("roMessagePort") ' roParagraphScreen = composant pour la création d’un écran screen = CreateObject("roParagraphScreen") screen.SetMessagePort(port) screen.SetTitle("Example") screen.AddParagraph("Hello World!") screen.Show() wait(0, screen.GetMessagePort()) End Sub

Les applications Roku sont développés à l’aide du langage BrightScript. Sa syntaxe ressemble au Basic. Il est optimisé pour les systèmes embarqués.

http://sdkdocs.roku.com/display/sdkdoc/Roku+SDK+Documentation

Page 9: Développer des applications pour la TV

Google Cast (ex ChromeCast)

Page 10: Développer des applications pour la TV

Google Cast - 1/2

Les applications possibles du Cast sont :

Diffusion de vidéos ou musique. Le contrôle est assuré depuis l’application sender.

Rendu des jeux (HTML5) à distance. Disponible depuis la 2nde génération

Extension de l’affichage d’une app sur la TVDisponible depuis la 2nde génération

Page 11: Développer des applications pour la TV

Google Cast - 2/2

1. http://www.dial-multiscreen.org/2. http://multicastdns.org/3. Chercher « RAMP Protocol »

LAN

« Sender »

C’est une application qui fonctionne sur iOS ou Android, ou dans un navigateur Chrome. Le SDK est fourni par Google.

Découverte avec les protocoles DIAL (1) pour la 1ère génération

mDNS (2) depuis la 2nde génération « Receiver »

C’est une application HTML/JS qui fonctionne sur une Android TV, ou un Cast, ou une SetTopBox compatible Cast.

Dialogue avec des protocoles propriétaires de Google.

RAMP (3) était utilisé par la 1ère génération.

Page 12: Développer des applications pour la TV

Android TV (Ex-Google TV)

Page 13: Développer des applications pour la TV

Android TV - 1/3

Page 14: Développer des applications pour la TV

Android TV - 2/4

Android TV est désormais présents sur les téléviseurs des fabricants suivants

En France, les opérateurs ci-dessous ont choisi Android TV, comme l’OS de leur nouvelle SetTopBox.

Page 15: Développer des applications pour la TV

Android TV - 3/4

Comme pour les autres appareils de cet OS, les Android TV vous permettent de créer des applications et des jeux à partir des mêmes API.

Mais, vous est aussi possible de créer de nouvelles chaines de TV…

Page 16: Développer des applications pour la TV

<TvInputs display_name="Rich TV Input" name="Your Company" description="This is a sample TV input for demonstrating advanced features of TV Input Framework." logo_thumb_url="http://commondatastorage.googleapis.com/android-tv/YourCompany.jpg" logo_background_url="http://commondatastorage.googleapis.com/android-tv/YourCompany.jpg"> <Channels> <Channel display_number="2-1" display_name="Google" video_width="1280" video_height="720" logo_url="http://storage.googleapis.com/android-tv/images/google.png"> <Program title="Introducing Gmail Blue" duration_sec="107" video_url="http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool's%202013/Introducing%20Gmail%20Blue.mp4" video_type="HTTP_PROGRESSIVE" poster_art_url="http://storage.googleapis.com/android-tv/images/gmail.png" description="Introducing Gmail Blue Introducing Gmail Blue Introducing Gmail Blue Introducing Gmail Blue." content_rating="com.android.tv/US_TV/US_TV_14/US_TV_D/US_TV_L" genres="EDUCATION,TECH_SCIENCE"/> <Program title="GoogleIO 2014 Casting To The Future" duration_sec="2595" video_url="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/GoogleIO-2014-CastingToTheFuture.mp4" video_type="HTTP_PROGRESSIVE" poster_art_url="http://storage.googleapis.com/gtv-videos-bucket/sample/images_480x270/ToTheFuture2-480x270.jpg" description="GoogleIO 2014 Casting To The Future" content_rating="com.android.tv/US_TV/US_TV_PG/US_TV_D" genres="EDUCATION,TECH_SCIENCE"/> <Program title="GoogleIO 2014 Making Google Cast Ready Apps Discoverable" duration_sec="840" video_url="http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/GoogleIO-2014-MakingGoogleCastReadyAppsDiscoverable.mp4" video_type="HTTP_PROGRESSIVE" poster_art_url="http://storage.googleapis.com/gtv-videos-bucket/sample/images_480x270/MakingGoogleCastReadyAppsDiscoverable-480-270.jpg" description="GoogleIO 2014 Making Google Cast Ready Apps Discoverable." content_rating="com.android.tv/US_TV/US_TV_14/US_TV_D/US_TV_L" genres="EDUCATION,TECH_SCIENCE"/> <Program title="Introducing Google Fiber to the Pole" duration_sec="131" video_url="http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool's%202013/Introducing%20Google%20Fiber%20to%20the%20Pole.mp4" video_type="HTTP_PROGRESSIVE" poster_art_url="http://storage.googleapis.com/android-tv/images/fiber.png" description="Introducing Google Fiber to the Pole." content_rating="com.android.tv/US_TV/US_TV_PG/US_TV_D" genres="EDUCATION,TECH_SCIENCE"/> <Program title="Introducing Google Nose" duration_sec="122" video_url="http://commondatastorage.googleapis.com/android-tv/Sample%20videos/April%20Fool's%202013/Introducing%20Google%20Nose.mp4" video_type="HTTP_PROGRESSIVE" poster_art_url="http://storage.googleapis.com/android-tv/images/nose.png" description="Introducing Google Nose Introducing Google Nose Introducing Google Nose Introducing Google Nose Introducing Google Nose" content_rating="com.android.tv/US_TV/US_TV_14/US_TV_D/US_TV_L" genres="EDUCATION,TECH_SCIENCE"/> </Channel> …. </Channels> </TvInputs>

Android TV - 4/4Les données associées à votre chaine sont récupérées à partir d’un fichier XML,similaire à cet exemple :

http://commondatastorage.googleapis.com/android-tv/rich_tv_inputs_tif.xml

Page 17: Développer des applications pour la TV

Apple TV (tvOs)

Page 18: Développer des applications pour la TV

Apple TV - 1/3

tvOS hérite de bon nombre d’API de iOS. Les nouveautés sont :• Apple TV Markup Langage et TVMLJS• TVMLKit, pour l’utilisation de TVML et TVJS avec les applications natives.• TVServices, qui permet de remplacer le contenu de la zone top shelf (en vert)

Page 19: Développer des applications pour la TV

Apple TV - 2/3

L’Apple TV permet de développer des :• applications traditionnelles, qui partagent le même code

que sa version iOS• applications « client-server », qui utilisent le TVML et TVJS.

Le stockage persistant est limité à 200M, et à 500K par application. Pour cette raison, Apple invite à utiliser iCloud pour la gestion des données utilisateur.

Page 20: Développer des applications pour la TV

Apple TV - 3/3

<document> <mainTemplate> <background> <img src="path to images on your server/Car_Movie_1920x1080" /> </background> <menuBar> <section> <menuItem> <title>PLAY</title> </menuItem> <menuItem> <title>SCENES</title> </menuItem> <menuItem> <title>EXTRAS</title> </menuItem> </section> </menuBar> </mainTemplate> </document>

https://developer.apple.com/tvos/documentation/

Page 21: Développer des applications pour la TV

Et les standards alors ? …

Page 22: Développer des applications pour la TV

Les produits basés sur des standards arrivent…

Le W3C travaille sur la tvapi. https://github.com/w3c/tvapi

TIZEN, l’OS de la Linux foundation, opensource, et basé sur les standards, arrive dans les TV Samsung. https://www.tizen.org/fr

Page 23: Développer des applications pour la TV

MERCI !

@meekah3ll

https://linkedin.com/in/mgregori