Home > Guide (pagina 21)

Guide

Tutorial: Inviare e condividere i video in streaming in tempo reale con Qik

Qik è un'applicazione di video sharing disponibile per numerosi smartphone. In questo tutorial ne descriveremo il funzionamento per acquisire e condividere in tempo reale i nostri video con le  più importanti reti di social network.

Il funzionamento di Qik è basato su un software da installare nello smartphone che funge da client (in questo tutorial abbiamo utilizzato la versione per iPhone), e sul server di Qik, presso il quale è necessario creare un'account e che si occupa di ricevere i flussi video inviati dallo smartphone, archiviarli e ritrasmetterli alla princiapali reti di social network. Procediamo con ordine.

1) Il primo passo è l'installazione del client di Qik e la creazione dell'account (operazione che può essere gestita direttamente dallo smartphone). La versione iPhone la troviamo in App Store,  scaricabile a questo indirizzo. (per le altre rimandiamo alla fine dell'articolo)-


La prima cosa che ci viene chiesta dal programma è di loggarci all'account di Qik; se non ne abbiamo uno possiamo crearlo direttamente dallo smartphone. Dopo esserci loggati si apre la finestra principale del programma.

La schermata principale è di facile consultazione. Nella parte in basso si trova il pulsante rosso per avviare la registrazione, quello a sinistra per scegliere le impostazioni della cattura ed infine il pulsante a destra per entrare nella galleria dei video acquisiti.

2) La seconda fase riguarda le impostazioni del programma. Qik offre due modalità di acquisizione dei video: in streaming in tempo reale e in modalità offline. La prima opzione è quella più interessante perchè permette di inviare quasi in diretta le immagini all'account di Qik. La seconda modalità è utile ad esempio quando la coperatura 3G o Wi-Fi viene a mancare e noi continuiamo a riprendere i video che verranno inviati in un secondo momento.

Altra importante impostazione da dare al programma è la scelta se rendere pubblici i video o uploadarli nel proprio account di Qik selezionando le persone che potranno visionarli.


La prima importante scelta da effettuare nel menu opzioni è quella tra la modalità "live" (che invia in tempo reale i video) e quella "offline" (che registra i video e successivamente consente l'invio).
Tappando invece sulla barra di stato possiamo accedere ad altre impostazioni, tra cui una molto importante relativa alla scelta se rendere o meno pubblico il video.

3) Dopo la fase delle impostazioni possiamo passare alla registrazione vera e propria. Tappiamo l'area della fotocamera, qualora la stessa fosse in standy e premiamo il pulsante rosso, collocato nella parte bassa dello schermo.


La nostra registrazione è iniziata. Per arrestarla è sufficiente premere nuovamente il pulsante collocato al centro in basso dello schermo.

4) Passiamo quindi ad organizzare e a gestire i video acquisiti, esplorando la galleria, ma anche visitando il nostro account di Qik via Web. Per visualizzare la galleria sullo smartphone è sufficiente premere il pulsante in basso a destra.


Nello screenshot a sinistra vengono visualizzati tutti i clip acquisiti. Tappando su uno di essi possiamo modificare i principali parametri del video: aggiungere un titolo, cancellarlo, renderlo pubblico o privato ed infine, particolare che ci interessa molto, condividerlo con le reti di social network.

5) A questo punto ci spostiamo sul sito web di Qik e ci logghiamo con i nostri dati oer impostare preliminarmente con quali reti di social network vogliamo condividere i video acquisiti


Log-in presso il sito www.qik.com


"Edit Networks" è l'opzione da scegliere per impostare in quali reti di social network verranno riversati i video.

 
Tutti le più diffuse reti di social network sono comprese. È sufficiente sceglierne una e autorizzare l'accesso da parte di Qik al proprio profilo di YouTube, in questo caso,  per inviare automaticamete i video registrati con lo smartphone in contemporanea anche su YouTube. L'operazione deve essere fatta solo una volta e non ogni volta che si registra un video La condivisione è quindi, dopo questa fase, interamente gestibile dallo smartphone.

In ogni momento è possibile modificare le impostazioni di ciascun social network, scegliendo ad esempio se inviare tutti i video acquisiti su qik o solo alcuni oppure scegliendo una frase introduttiva per ciascun video.


Pochi click e il gioco è fatto. Abbiamo trasferito in maniera del tutto automatica il video acquisito con lo smartphone sul nostro account di Facebook.

6) È sempre possibile gestire i video direttamente dall'account di Qik. Non trascuriamo infatti che Qik è di per se stessa una rete di social network molto attiva formata da numerosi utenti.

7) Qualche consiglio finale. Qik necessita di una connessione dati veloce per l'invio dei video, quindi è consigliabile utilizzare una rete Wi-Fi anche se l'ideale è avere una buona connessione 3G a disposizione per girare i video in mobilità. Ovviamente è necessaria una tariffa flat per l'invio dei video se non si vuole correre il rischio di vedersi prosciugato il credito telefonico.  È importante curare, altrettanto ovviamente gli aspetti della privacy scegliendo in maniera consapevole se rende pubblici o privati i video e con quali reti condividere le registrazioni.

Qik è un servizio completamente gratuito (eccettuati i costi di connessione) ed è disponibile per tutte le principali piattaforme (Android, BlackBerry, iPhone, Symbian e Windows Mobile). QUI un elenco con tutti i dispositivi compatibili.

Fonte: AgeMobile

Sistema Operativo: 
Contenuto: 
Sezioni: 

Leggi Articolo »

La strategia “Clone Cloud Execution” per ovviare alla carenza di risorse negli smartphone

Visualizzare video con risoluzione costantemente in crescita, utilizzare giochi sempre più complessi, sfruttare sistemi operativi ogni giorno più onerosi...

La fame di potenza computazionale e memoria dei software che girano quotidianamente sui nostri smartphone non sembra fermarsi mai, con tutte le difficoltà del caso.

Byung-Gon Chun e Petros Maniatis, ricercatori alla Intel, ci mostrano quale potrebbe essere un possibile futuro in cui le scarse risorse hardware dei telefoni non dovrebbero rappresentare più un problema.

Intel Logo

Come accennato nel cappello introduttivo, si moltiplica giornalmente il software che mette alle corde le risorse hardware degli odierni smartphone, limitati in termini di potenza computazionale, memoria, e riserve di energia rispetto ai più corazzati sistemi desktop.

Diverse sono le strade che possono portare alla soluzione di tale problema, prima fra tutte l'evoluzione tecnologica (si pensi a chip come lo SnapDragon che sembra raggiunga prestazioni paragonabili ai processori della famiglia Atom). Ma qualcuno preferisce seguire percorsi meno ovvi come, ad esempio, i due ricercatori della Intel citati in precedenza che, in un paper intitolato "Augmented Smartphone Applications Through Clone Cloud Execution", presentano la propria strategia per ovviare alla scarsità di risorse nei dispositivi portatili.

Due sono le premesse fondamentali dello studio:

  • Con gli odierni laptop, desktop e server si ha a disposizione un'enorme quantità di risorse hardware che, grazie al proliferare di mezzi per la comunicazione (reti 3G e superiori, WiFi, WiMax...), risultano essere facilmente accessibili.
  • Le tecnologie di virtualizzazione ed esecuzione remota hanno fatto passi da gigante e, grazie all'affidabilità ottenuta, sono correntemente usate in sistemi di produzione.

Da qui nasce l'idea alla base dell'architettura proposta: l'applicazione affamata di risorse verrà sempre fatta girare all'interno dello smartphone, ma in esso risiederà anche un motore di esecuzione (execution engine) capace di "aumentare" le risorse a disposizione del dispositivo delegando a smartphone virtuali remoti (cloni perfetti del device fisico dal punto di vista software, ma che girano in sistemi con risorse hardware superiori) le attività più critiche dal punto di vista computazionale. I risultati dell'elaborazione effettuata dallo smartphone o dagli smartphone virtuali verranno poi restituiti al device fisico per la presentazione all'utente, il tutto in maniera completamente trasparente.

L'idea di sfruttare risorse remote per sopperire alle carenze locali non è nuova nella storia dell'informatica: la novità principale consiste nell'utilizzare un insieme di device virtuali (la Clone Cloud che da il titolo al documento) per mostrare a utente e sviluppatore un illusorio dispositivo che travalica i propri limiti fisici. Sottolineo il termine "sviluppatore" perchè l'idea sarebbe quella di far gestire tutto in automatico dall'execution engine, senza che chi scrive l'applicazione debba cambiare il modo di programmare.

I ricercatori hanno individuato cinque diversi scenari in cui la strategia di augmented execution, che potremmo maccheronicamente tradurre con "esecuzione potenziata", potrebbe essere applicata:

  1. Primary functionality outsourcing: è lo scenario più semplice. L'applicazione avida di risorse viene divisa in una parte computazionalmente poco onerosa (come, ad esempio, la gestione dell'interfaccia utente) che viene mantenuta nello smartphone e in un'altra più pesante che viene remotizzata verso la nuvola di cloni secondo richieste sincrone, in maniera simile a quanto accade in un'architettura thin client-server. Un esempio di applicazione potrebbe essere un software di riconoscimento vocale. 
  2. Background augmentation: questo scenario considera tutte quelle applicazioni che non necessitano di un'interazione continua con l'utente, ma possono essere eseguite in background come, ad esempio, virus scanning o indexing di documenti. In questo caso l'intero processo può essere delegato alla controparte virtuale, che potrebbe svolgere il suo compito anche quando lo smartphone fisico risulta spento: segue poi una sincronizzazione finale dei risultati tra dispositivo virtuale e fisico.
  3. Mainline augmentation: un caso a metà strada tra i due visti in precedenza. L'augmented execution può essere effettuata o meno a seconda di quel che accade all'interno dell'applicazione. Ad esempio, il software potrebbe decidere di bloccarsi localmente in seguito a un input potenzialmente insicuro e far eseguire il codice pericoloso allo smartphone virtuale che funzionerebbe da "cavia".
  4. Hardware augmentation: uno scenario in cui l'applicazione locale verrebbe eseguita da un clone remoto dello smartphone con risorse hardware superiori al dispositivo fisico, magari basato anche su un'architettura diversa (in maniera tale da evitare l'overhead computazionale dell'emulazione).
  5. Augmentation through multiplicity: probabilmente lo scenario più complicato definito ambiziosamente dagli autori del documento come un modo per prevedere il futuro. L'applicazione lanciata localmente viene fatta girare su più cloni virtuali ognuno dei quali potrebbe prendere un percorso d'esecuzione diverso: tale strategia potrebbe essere utile per l'elaborazione parallela, ma anche, come accennato prima, per valutare le possibili conseguenze di una scelta. Si pensi, banalmente, a un'applicazione di scacchi: per valutare le implicazioni di una mossa l'intelligenza artificiale potrebbe utilizzare un certo numero di cloni remoti, ognuno dei quali elaborerebbe una serie di mosse differente. Portando l'esempio in un territorio più interessante si può pensare a un algoritmo di scheduling di processi che può trarre vantaggio dalla conoscenza dello stato futuro per ottimizzare il consumo della batteria.

Ma quale è il processo che porta dall'esecuzione di un software in una macchina locale all'esecuzione dello stesso software in un ambiente distribuito formato da cloni dello smartphone possibilmente vitaminizzati? Vediamone i passi, aiutandoci con la seguente immagine:

Augmented strategy

 

  1. Un perfetto clone dello smartphone viene creato all'interno della nuvola.
  2. Lo stato del telefono locale è periodicamente sincronizzato con quello del clone (anche su richiesta).
  3. L'applicazione, o pezzi di essa, viene eseguita all'interno del clone.
  4. I risultati del clone sono nuovamente sincronizzati nello smartphone fisico.

Una possibile architettura che implementa tale processo potrebbe essere la seguente:

Augmented strategy

Nello smartphone fisico si individuano due componenti (il Controller e il Replicator) che agiscono a livello di sistema operativo: il Replicator si occupa di sincronizzare i cambiamenti di stato del dispositivo locale verso il clone, mentre il Controller si occupa di invocare un'esecuzione remota di codice nel clone e di gestire i risultati che si otterranno. Per quanto riguarda i componenti che risiedono all'interno del clone troviamo un altro Replicator, che agisce in maniera speculare a quello nel device fisico, e l'Augmenter, incaricato di eseguire il codice proveniente dallo smartphone reale e di restituire i risultati al Controller.

Tutto quanto sopra esposto non è semplice teoria: per la sperimentazione i ricercatori Intel hanno già implementato parte dell'architettura su dispositivi con piattaforma Android. Ovviamente esistono ancora numerose questioni irrisolte che necessitano di ulteriore studio; tra questi troviamo:

  • L'individuazione in maniera efficace ed efficiente dei vari pezzi di software che hanno necessità di maggiore potenza computazionale e quindi destinati all'esecuzione nella nuvola. Si sta pensando alla creazione di un insieme di politiche, in maniera da scegliere in ciascun scenario la più adatta alla situazione.
  • La creazione di un meccanismo performante, sia in termini di occupazione di banda che di consumo della batteria, per effettuare la sincronizzazione.
  • La creazione di un meccanismo che possa governare correttamente e senza spreco di risorse l'esecuzione del software in un sistema distribuito.
  • L'elaborazione di un modo tramite il quale le applicazioni possano facilmente sfruttare delle risorse hardware virtuali.

Nonostante le difficoltà che indubbiamente si presentano, gli autori dello studio considerano enormi le opportunità che si aprono per i dispositivi mobili seguendo un approccio di questo tipo.

Per chi desiderasse approfondire l'argomento qui trovate il documento originale da cui è stato tratto questo articolo.

Sistema Operativo: 
Contenuto: 
Sezioni: 

Leggi Articolo »