Video Streaming dal player standard Android verso device non convenzionali GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci.

Slides:



Advertisements
Presentazioni simili
La versione mobile del sito
Advertisements

Midrange Modernization Conference 1 Scenari evolutivi per le soluzioni basate su AS/400 Walter Poloni Direttore Developer & Platform Evangelism Microsoft.
1 Teaching Cloud Computing and Windows Azure in Academia Domenico Talia UNIVERSITA DELLA CALABRIA & ICAR-CNR Italy Faculty Days 2010.
Linked Data in Digital Library Nicola Ghirardi - Cineca StarHotels Excelsior Bologna, 23 Maggio 2013.
GRUPPO TELECOM ITALIA Research Partner Program 10 Maggio 2006 Reti Fisse: quali prospettive ? Tavola Rotonda.
Il filmato digitale Lidia Falomo. Video Filmato: successione di frame.
Italiano Da quando siamo passati al corso di metallurgia (3^o ) abbiamo cominciato a lavorare utilizzando i maniera didattica tecnologie di tipo hardware.
Web 2.0 and Libraries mj crowley 6/3/09 Un modello di auto-apprendimento collaborativo, ma anche divertente e gratificante !
Pierluigi Plebani - Politecnico di Milano MAIS Registry URBE (Uddi Registry By Example) WP2 Roma - 25 Novembre 2005.
Model – View - Controller
Corso di Laurea in Ingegneria Elettronica - U niversità di N apoli F EDERICO II Autori XXXXX XXXXXXX YYYYY YYYYYYY ZZZZZ ZZZZZZZ Titolo tesina Parte X:
UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II FACOLTA’ DI SCIENZE MM.FF.NN CORSO DI LAUREA MAGISTRALE DI INFORMATICA JAVA MEDIA FRAMEWORK Introduzione.
1. Conoscere luso delle collezioni in Java Comprendere le principali caratteristiche nelle varie classi di Collection disponibili Saper individuare quali.
Infrastruttura & Competenze ICT ENEA
Fanno ormai parte della nostra vita di tutti i giorni….
CONTACT CENTER 2.0: A DIFFERENT USER EXPERIENCE 25 MAGGIO 2011 MULTI CHANNEL AND COLLABORATION FOR CC.
FONDAMENTI DI INFORMATICA III WfMC-1. FONDAMENTI DI INFORMATICA III WfMC-2 WFMC Cose WfMC Workflow Management Coalition (WfMC), Brussels, è unorganizzazione.
Introduzione ad Android
Introduzione ad Android
Intent e Intent Filters. Intents Un Intent può contenere dati che possono essere utilizzati dalla componente che riceve. Ad esempio, un'Activity chiama.
1 © 2013 Cobra Italia SpA All rights reserved Cobra group website Gennaio 2013.
Articoli e codice: Blog: Profilo MVP:
ANDROID PROGRAMMING Questo approfondimento tematico è pensato per chi vuol imparare a programmare e creare software per gli smartphone con sistema operativo.
Dicembre 2010 I nuovi modelli di business dellindustria dei contenuti.
Custom Apps Development
I mille volti della formazione dalle-learning allemployergame Novembre 2012 I mille volti della formazione: dalle-learning allemployergame 4° Release Novembre.
Aiutare a spendere risparmiando BEST SHOP Best Shop.
Presentazione del sito gruppofrattura.it Riepilogo dei principali servizi offerti: Registrazione gratuita; Archivio pubblicazioni.
Mobile e Social per portare traffico nei negozi H&m Isabella Federico.
Presenta Progetto Hyper-Club. Hyper-code Via Domenico Mercante 6, Verona (VR) – Tel Cell mail. Chi.
COMPUTER BUSINESS Gentile cliente, Computer Business è un'azienda nata per offrirLe un servizio completo nel settore dell'informatica, in particolar modo.
Cosa vuol dire «Embedded»? Valter
IDENTITY Unicity è una Multimedia Factory che fornisce servizi integrati e soluzioni ingegnerizzate in un'ottica di innovazione e sviluppo.
TCS Il video digitale Lidia Falomo Dipartimento di Fisica Università di Pavia.
Sviluppo di una Xlet per la TV digitale terrestre Vademecum della regione marche 2006 Ventura Luca.
Architettura delle GPU e
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> eyelander tracking semplice con il tuo cellulare.
Format Fusion SD and HD Kahuna. Kahuna Completamente un nuovo design Focalizzato per il mercato del live production Nuovo Pannello di controllo e mainframe.
Innovazioni versione 4 Bari, 17 ottobre Innovazioni versione 4 Il menù dinamico secondo logica operativa Il ruolo dei Ruoli Facilitare la scelta.
Psion Teklogix Information in Motion. Profilo Aziendale Psion Teklogix Siamo produttori a livello mondiale di soluzioni per il mobile computing, tese.
INTERNET Internet è una rete a livello mondiale che permette alle persone di comunicare ed ad accedere a banca dati da qualunque parte del mondo e su qualunque.
INTERNET Antonio Papa Classe 2^ beat I.S.I.S. G. Meroni a.s. 2007/2008.
On-line multi modal information
SoLo mobile client in depth: Mercato mobile, licenze, deploy, uso, features.
Web mobile e Applicazioni
WPF per il client Desktop
22 MARZO ORE 15,00 Non sei ancora convinto di quanto possa migliorare l'uso delle risorse IT e far risparmiare la tua azienda? Perchè virtualizzare.
NICE Systems Interactions Analytics Business Applications
Last quarter work and future activities
ISTITUTO DI SCIENZE E TECNOLOGIE DELLA COGNIZIONE Piero Cosi SEZIONE DI PADOVA - FONETICA E DIALETTOLOGIA Via Martiri della libertà, 2 – adova (Italy)
Funzioni stringhe. chr Restituisce il carattere di un valore ascii dato. Per vedere lelenco dei codici ascii clicca QQQQ uuuu iiiiEsempio
IIS7 Media Services Piergiorgio Malusardi IT Pro Evangelist
Visual Studio Tools for Office: Developer Solutions Platform Fulvio Giaccari MCSD.NET / MCT Responsabile Usergroup ShareOffice Blog:
Analysis and Development of Functions in REST Logic: Application to the «DataView» Web App UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA DIPARTIMENTO.
Negli ultimi anni, la richiesta di poter controllare in remoto la strumentazione e cresciuta rapidamente I miglioramenti nell’hardware e nel software insieme.
FormaINforma newsletter report newsletter mensile – gennaio 2014 newsletter mensile – gennaio
UITA Genève ottobre Comitè du Groupe Professionnel UITA Genève octobre 2003 Trade Union and Tour.
Azure: Mobile Services e Notification Hub ANDREA GIUNTA.
L’infrastruttura per il Mobile Learning Dario Zucchini Associazione Dschola 15 marzo 2014.
1 Giornata AIRI per l’Innovazione Industriale 2014 AIRI: 40 anni a sostegno della ricerca industriale italiana 26 maggio 2014 Horti Sallustiani, Roma.
Sommario Cartelle Gestione delle risorse Manifest dell’applicazione
Green LAB Erasmo Mercurio,Mattia Davi, Dario Zucchini, Ivan Bertotto, Claudio Borgogno
Corso di programmazione di sistemi mobile 1 ANDROID Mobile Web Design.
Il Software Il Software Zhang Rui Classe 1°B a. s
Linux: una panoramica ● Linux guadagna spazi sempre maggiori. Vediamo come e per cosa viene impiegato.
A little taste of Android programming
Aggiornamento del Presentation Layer di un Web Application Framework Introduzione del Responsive Web Design nel Framework Quix Davide Setti Dipartimento.
HUAWEI P10 LITE Il Huawei P10 Lite è alimentato da un processore HiSilicon Kirin 658 octa-core da 2,15 GHz e viene fornito con 4 GB di RAM. Il telefono.
WPC034 - Visual Studio Code: sviluppare su Linux, Mac OS e Windows
Tecnologie chiuse in Standard Aperti
Transcript della presentazione:

Video Streaming dal player standard Android verso device non convenzionali GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Chi siamo? +AlessandroMartellu cci +MatteoBonifazi u om

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Reply spa è una delle società leader nel settore IT Opera in Italia, Germania, UK, Benelux, USA and Brasile. Open Reply è una società del Gruppo Reply spa specializzata su tecnologie open source, soluzioni web multicanale and applicazioni mobile. Based in Rome, Open Reply’s Android Lab is a young team of over 20 engineers 100% focused on Android development. Specializzati in applicazioni broadcasting, bancarie e customizzazioni del sistema operativo Android. Open Reply & Android Lab

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Ex1 – Streaming di un contenuto su smartphone e tablet Ex2 – Streaming con app per Ex3 – Divertirsi utilizzando il Codelab Millestones

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Android multimedia framework Android supporta diversi tipi di formati per lo streaming di contenuti I file possono essere salvati all’interno dell’applicazione (raw resources, standalone files) oppure utilizzando servizi di OTT streaming. La documentazione dell’Android multimedia framework copre soltanto i casi base.

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Tipi supportati HttpLiveStreaming Protocol 3 è supportato da Android 4.0. La migliore implementazione si trova su dispositivi KitKat. source: formats.html formats.html

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci //1. Recuperare la view VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview); //2. Setup video url myVideoView.setVideoURI(Uri.parse(SrcPath)); //3. Impostare il video controller myVideoView.setMediaController(new MediaController(this)); //4. Inizio dello streaming. myVideoView.requestFocus(); myVideoView.start(); android.widget.VideoView MediaPlayer code example

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Android TV L’intrattenimento per la nostra sala Source:

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Nexus Player Source: 1.8GHz Quad Core, Intel® Atom™ Imagination PowerVR Series 6 Graphics 2D/3D Engine 1GB RAM 8GB storage Asus device – 235 g

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Android TV app caratteristiche tecniche Android TV device hanno Android Lollipop 5.0. Android TV possiede la stessa versione del Multimedia Framework dei normali dispisitvi Android. Android TV app sono compatibili dalle API 17. Basate sulla libreria Leanback Android Support.

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci 10 feet experience Smartphone 5” 320 dp TV Full HD 30” 320 dpi 3 metri 50 centimetri

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Manifest features Supportare landscape Portrait activity sono escluse

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Manifest features No touch screen

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Manifest features Limit sensor

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Keep calm and lean back!! Fornisce componeti built-in customizzati per lo schermo della TV

Leanback support library <uses-feature android:name="android.software.leanback" android:required="true" /> <application android:allowBackup="false” > <activity android:name="MainActivity” android:screenOrientation="landscape" > GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Leanback support library Model View Presenter Presenter Model View GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Leanback UI component BroswerFragment Permette agli sviluppatore di avere un layout della propria applicazione già precostruito e pronto all’uso.

Leanback UI component DetailFragment Mostra informazioni riguardo i contenuti selezionati dall’utente. GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Chromecast un cast-ready device per la multi-screen experience source: GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Chromecast caratteristiche hardware source: GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Chromecast componenti Google Cast Esperienza Multi-Screen Google Cast SDK Applicazione client Android app iOS app Chrome app Applicazione receiver Default Media Receiver Styled Media Receiver Custom Media Receiver GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Applicazione client Android librerie e dipendenze Versione minima supportata è la 9 (Gingerbread) MediaRouter API nel android-support-v7 Google Play Services AppCompat API nel android-support-v7 GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci

Applicazione client Android tipico flusso di esecuzione Client usa MediaRouter per fare il discovery: MediaRouter.addCallback MediaRouter informa il client della route selezionata: MediaRouter.Callback.onRouteSelected Il client recupera l’istanza di CastDevice: CastDevice.getFromBundle Il client usa GoogleApiClient per collegarsi allo strato di sistema: GoogleApiClient.Builder Il client avvia l’applicazione receiver: Cast.CastApi.launchApplication Il client instaura il canale di comunicazione: Cast.CastApi.setMessageReceivedCallbacks Il client invia messaggi di protocollo sul canale di trasmissione: Cast.CastApi.sendMessage source: developers.google.com

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Ricerca Cast-Ready Device caratteristiche Remote Playback Live AudioLive Video MediaRouteSelector.Builder mediaRouteSelectorBuilder = new MediaRouteSelector.Builder(); mediaRouteSelectorBuilder.addControlCategory(MediaControlIntent.CATEGORY_REM OTE_PLAYBACK); mediaRouteSelectorBuilder.addControlCategory(MediaControlIntent.CATEGORY_LIVE _AUDIO); mediaRouteSelectorBuilder.addControlCategory(MediaControlIntent.CATEGORY_LIVE _VIDEO); MediaRouterSelector mediaRouterSelector = mediaRouterSelectorBuilder.build();

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Media Cast Button facile approccio alla ricerca source: developers.google.com public boolean onCreateOptionsMenu(Menu menu) { MenuItem mediaRouteMenuItem = menu.findItem(R.id.media_route_menu_item); MediaRouteActionProvider mediaRouteActionProvider = (MediaRouteActionProvider) MenuItemCompat.getActionProvider(mediaRouteMenuItem); mediaRouteActionProvider.setRouteSelector(mMediaRouteSelector); …. }

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Applicazione Receiver quale mistero? Che cosa è? Applicazione HTML5 - Javascript Che cosa fa? Visualizza il contenuto a video Gestisce i messaggi Quali tipo esistono? Default Media Receiver Styled Media ReceiverCustom Media Receiver

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Default Media Receiver il più semplice Off-the-shelf Nessuna personalizzazione Nessuna registrazione Source: developers.google.com

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Styled Media Receiver semplice e personalizzabile Simile al Default Media Player CSS per la personalizzazione Registrazione Source: developers.google.com

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Custom Media Receiver (1/3) qualsiasi cosa Web Applicaiton Debug(able) at 9222 Registrazione Source: developers.google.com

GDG Fest Roma – 2014 – Matteo Bonifazi & Alessandro Martellucci Custom Media Receiver (2/3) esempio Example minimum receiver window.mediaElement = document.getElementById('media'); window.mediaManager = new cast.receiver.MediaManager(window.mediaElement); window.castReceiverManager = cast.receiver.CastReceiverManager.getInstance(); window.castReceiverManager.start();

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Custom Media Receiver (3/3) caratteristiche avanzate Video Codification/Decodification H.264 High Profile Level 4.1, 4.2 and 5 VP8 Adaptive Bitrate Streaming HTTP Live Streaming (HLS) Dynamic Adaptive Streaming over HTTP (MPEG-DASH) Smooth Streaming Digital Rights Management Play Ready DRM Widevine DRM Media Player Library

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Channel, Namespace e Protocol (1/2) comunicazione Protocol: insieme di messaggi Namespace: nome protocollo Channel: lo strato di comunicazione class CustomChannel implements Cast.MessageReceivedCallback { public String getNamespace() { return “urn:x-cast:com.channel.custom”; public void onMessageReceiver(CastDevice castDevice, String namespace, String message) { … } } … Cast.CastApi.setMessageReceivedCallbacks(mApiClient, mCustomChannel.getNamespace(), mCustomChannel); …

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Channel, Namespace e Protocol (2/2) comunicazione Media Namespace: urn:x-cast:com.google.media.cast RemoteMediaPlayer MediaManager RECEIVER MEDIA CHANNEL … window.mediaManager = new cast.receiver.MediaManager(window.mediaElement); … CLIENT MEDIA CHANNEL … Cast.CastApi.setMessageReceivedCallbacks(mApiClient, mRemoteMediaPlayer.getNamespace(), mCustomChannel); …

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Google Api Client e Media Route Provider manufacturer Source: developers.google.com CastDevice selectedCastDevice = CastDevice.getFromBundle(selectedRouteInfo.getExtras); Cast.CastOptions.Builder apiOptionsBuilder = new Cast.CastOptions.Builder(selectedCastDevice, …); googleApiClient = new GoogleApiClient.Builder().addApi(Cast.API, apiOptionsBuilder.build()).build(); googleApiClient.connect(); Cast.CastApi.launchApplication(googleApiClient, applicationId, launchOptions); Cast.CastApi.joinApplication(googleApiClient); Cast.CastApi.stopApplication(googleApiClient); Cast.CastApi.leaveApplication(googleApiClient);

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci RemoteMediaPlayer …finalmente MediaInfo mediaInfo = new MediaInfo.Builder(" … mRemoteMediaPlayer = new RemoteMediaPlayer(); mRemoteMediaPlayer.load(mApiClient, mediaInfo, true); …

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Buona visione Source: Grazie a tutti

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Risorse Google Cast -> Chromecast App -> Google Cast Downloads -> Github -> Android TV -> Nvidia Guideline -> Github -> Android Mediaplayer-> ExoPlayer ->

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Libro Sviluppare applicazioni Android in sette giorni

GDG Fest Roma– 2014 – Matteo Bonifazi & Alessandro Martellucci Contatti +AlessandroMartellu cci +MatteoBonifazi u om