Résumé du screencasting Android

#Mise en miroir d'un téléphone Android

####Introduction

Quant aux méthodes de mise en œuvre de la projection sur écran de téléphone portable, on peut dire qu'il existe différentes méthodes. Aujourd'hui, Xiao Yuan parlera des méthodes de projection sur écran traditionnelles des téléphones mobiles d'aujourd'hui du point de vue des développeurs. Il existe actuellement trois technologies pour transmettre les signaux des terminaux aux téléviseurs et aux boîtiers TV via WiFi : DLNA, AirPlay, Miracast et Google Cast.

##Plusieurs méthodes pour mettre en miroir un téléphone mobile et une télévision intelligente

###Terminologie DLNA : Le nom complet de DLNA est DIGITAL LIVING NETWORK ALLIANCE (Digital Living Network Alliance). DLNA (Digital Living Network Alliance) a été créée par Sony, Intel, Microsoft, etc., dans le but de résoudre l'interconnexion des réseaux sans fil et des réseaux filaires, notamment les PC personnels, les appareils grand public et les appareils mobiles. DLNA est née en 2003 afin de pouvoir intégrer la télévision alors indépendante et ses équipements associés (amplificateur, chaîne stéréo, lecteur DVD/Blu-ray), le PC et ses équipements associés (appareil photo numérique, lecteur de musique) et le téléphone portable dans le famille de manière organique. Il est intégré de manière à ce que le contenu multimédia puisse être lu facilement sur différents appareils.

Termes populaires : DLNA (Digital Living Network Alliance) signifie que les grands discutent de choses ensemble : "Nous voulons connecter des appareils IoT, comment pouvons-nous le faire ?" Après l'avoir fait, nous avons élaboré une norme industrielle pour cet ensemble d'appareils. Laissez ensuite les autres appareils bénéficier de la norme industrielle DLNA, afin que ces appareils puissent être interconnectés.

####Protocole UPnp

La norme DLNA comprend un certain nombre de protocoles et de normes, dont le plus important est le protocole UPnP.  UPnP est un ensemble de protocoles réseau promus par le « Universal Plug and Play Forum » (UPnP Forum), et son objectif est de réaliser des réseaux. interconnexion entre les appareils.

  • Le protocole UPnP définit un protocole de communication entre appareils, entre appareils et points de contrôle, et entre points de contrôle
  • La pile de protocoles UPnP complète se compose de plusieurs parties telles que l'adressage des appareils, la découverte des appareils, la description des appareils, le contrôle des appareils, la notification d'événements et la description basée sur HTML.

Icône Mou

 En voyant cette image, pensez-vous au  modèle OSI à sept couches ? Permettez-moi de le présenter de bas en haut :

Icône Mou

Le grand frère du protocole réseau ip IP : c'est le protocole réseau ip. Pourquoi est-ce nécessaire ? Étant donné que la transmission des données est utilisée au niveau de la couche réseau, la couche IP est utilisée pour envoyer et recevoir des données. Imaginez que deux appareils soient interconnectés. En fait, ils sont interconnectés dans le réseau, un protocole de couche réseau est donc requis.

Icône Mou

 TCP-UDP

Cela inclut deux protocoles, UDP et TCP. Le graphique devrait ressembler à ceci : 

Icône Mou

 Le protocole UDP est combiné au protocole IP : le protocole UDP/IP et les protocoles HHTPMU et HTPU sont basés sur le protocole UDP/IP. Le protocole TCP est combiné au protocole IP : le protocole TCP/IP HTTP est basé sur le protocole TCP/IP.

Tout le monde devrait comprendre le protocole TCP/IP, mais pourquoi existe-t-il un UDP/IP ? À l'aide d'UDP, vous pouvez envoyer une notification d'accès à un nouvel appareil à tous les appareils compatibles UPnP sur le réseau local via la multidiffusion. Ici, les médias en streaming utiliseront également UDP pour la transmission en raison de sa vitesse élevée.

Que sont HHTPMU et HHTPU ? Il est basé sur le protocole HTTP et ses variantes construits sur le protocole TCP/IP, et tous les messages UPnP sont encapsulés dans le protocole HTTP et ses variantes. Les variantes du protocole HTTP sont HTTPU et HTTPMU. Le format de ces protocoles suit le protocole HTTP, mais la différence avec HTTP est qu'ils sont portés par UDP au lieu de TCP et peuvent être utilisés pour la communication multicast. On voit que la raison pour laquelle il existe est de remplacer TCP par UDP.

Vient ensuite le protocole de découverte de périphérique|contrôle de périphérique|événement de périphérique : 1. Le protocole SSDP de découverte de périphérique (Simple Service Discovery Protocol : SSDP) inclut spécifiquement la manière dont le point de contrôle découvre quels services se trouvent sur le réseau et les informations de ces services. point annonce lui-même les services qu'il propose.

2. Dispositif de contrôle Protocole SOAP Simple Object Access Protocol (Simple Object Access Protocol : SOAP) Il définit comment utiliser XML et HTTP pour exécuter des appels de procédure à distance. Y compris la manière dont le point de contrôle envoie un message de commande à l'appareil et la manière dont l'appareil envoie un message de réponse au point de contrôle après avoir reçu le message de commande.

3. Protocole GENA d'événement de périphérique L'architecture générique de notification d'événement (GENA) définit la manière dont le point de contrôle envoie les informations d'abonnement et comment recevoir les informations lorsque le point de contrôle souhaite surveiller l'état d'une variable d'état de service du périphérique.

Définition du système 

Icône Mou

 Cette couche n’est qu’un modèle de périphérique abstrait et commun. Il s'agit d'une définition de spécification et tous les appareils UPnP doivent utiliser cette couche. 

Icône Mou

 Forum UPnP La couche de définition des appareils de chaque comité professionnel du Forum UPnP. Dans ce forum, différents équipements électriques sont définis par différents comités professionnels. Par exemple, le comité TV est uniquement responsable de la définition de la partie équipement TV réseau, et le climatiseur Le comité est uniquement chargé de définir la partie équipement de climatisation du réseau. ,Et ainsi de suite. 

Icône Mou

 La définition du fabricant du périphérique UPnP est la couche application, une partie définie par le fabricant du périphérique UPnP.

###Miracast

Miracast est une norme d'affichage sans fil formulée par la Wi-Fi Alliance en 2012 et basée sur Wi-Fi Direct. Les appareils prenant en charge cette norme peuvent partager des images vidéo sans fil. Par exemple, les téléphones mobiles peuvent lire des vidéos ou des photos directement sur des téléviseurs ou d'autres appareils via Miracast sans être affectés par la longueur du câble de connexion. Différent du DLNA, Miracast dispose également d'une fonction de mise en miroir similaire à AirPlay, qui peut directement diffuser le contenu de l'écran du téléphone mobile sur l'écran du téléviseur haute définition, afin que vous puissiez également jouer à des jeux via l'écran du téléviseur. Les systèmes Android 4.2 et versions ultérieures sont livrés en standard avec cette fonction (vous pouvez la trouver dans les paramètres ou dans le menu d'affichage, les noms d'applications tels que : affichage Wlan, affichage Wifi, Miracast, Allshare cast, écran miroir, affichage sans fil, etc., mais le les noms des différents fabricants de téléphones mobiles sont différents). L'écran du téléphone mobile peut être transmis sans fil à d'autres écrans plus grands via le récepteur d'affichage sans fil, tels que le téléviseur dans le salon et le projecteur dans la salle de réunion. Le délai de transmission de l'écran est inférieur à 150 ms, presque en même temps. Cliquez sur cette fonction, mais rien ne se passe car cette fonction nécessite la prise en charge d'accessoires.

###AirPlay

AirPlay est une technologie sans fil développée par Apple, qui peut transmettre sans fil des images, du son et des vidéos sur des appareils iOS tels que l'iPhone, l'iPad et l'iPod touch vers des appareils prenant en charge AirPlay via WiFi. L'Apple TV à 99 $ dispose d'une telle fonction, et désormais certains cinémas maison traditionnels et chaînes hi-fi, tels que les nouveaux amplificateurs de puissance et lecteurs réseau de Marantz et Denon, prennent déjà en charge AirPlay.

AirPlay possède une fonction de mise en miroir que le DLNA ne possède pas. Cette fonction est appelée mise en miroir AirPlay, qui permet de transmettre sans fil l'écran de l'iPhone ou de l'iPad au téléviseur. C'est-à-dire que ce qui est affiché sur votre appareil est ce qui est affiché sur l'écran. L'écran du téléviseur ne se limite pas aux images et aux vidéos. Vous pouvez tenir l'iPad comme volant, puis regarder le grand écran pour jouer à des jeux.

De plus, la meilleure chose à propos de la mise en miroir AirPlay est qu'elle peut réaliser des jeux sur double écran, permettant à vos jeux d'avoir plus d'interaction. Par exemple, ce qui est affiché sur le téléviseur est l'écran de jeu, mais la carte du parcours du jeu est affichée sur l'iPad.

###Google Cast

Documentation officielle de Google

Démo officielle de Google

Parce que les téléphones portables domestiques sont essentiellement des versions castrées. Comme il n'est pas nécessaire d'utiliser Google Play, de nombreux téléphones mobiles en Chine doivent télécharger l'ensemble de trois pièces de Google avant de pouvoir être utilisés. Il y a ensuite le Chromecast matériel officiel de Google, qui est fondamentalement difficile à utiliser en Chine car il doit accéder Le serveur de Google, il a donc besoin d'un réseau externe pour l'utiliser. OK, les pièges que j'ai rencontrés en intégrant Chromecast

#####ID d'application

* Enregistrez-vous avec le type Styled Media Receiver, obtenez l'identifiant, puis remplacez l'identifiant de la démo officielle sans l'exemple de filigrane. J'ai commencé à m'inscrire avec le type Custom Receiver et le filigrane est toujours là.

#####Code Android ajouté

   	compilez 'com.google.android.gms:play-services-cast-framework:10.0.1'//La version inférieure est utilisée ici, ce qui me dérange depuis deux jours
    compiler 'com.googlecode.android-query:android-query:0.25.9'
    compiler 'com.android.support:mediarouter-v7:25+'  

#####Diffuser le code clé

    privé MediaInfo buildMediaInfo() {
        MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);
        movieMetadata.putString(MediaMetadata.KEY_SUBTITLE, mTitle);
        movieMetadata.putString(MediaMetadata.KEY_TITLE, "第" + mPart + "集");
        movieMetadata.addImage(new WebImage(Uri.parse(mPictureUrl)));
        movieMetadata.addImage(new WebImage(Uri.parse(mPictureUrl)));
        // Log.e(TAG, "buildMediaInfo" + mSelectedMedia.getUrl() + " " + mSelectedMedia.getDuration() * 1000);
        //Le premier est Google, le deuxième est crypté pour moi, le troisième n'est pas crypté, le réseau n'est pas crypté
        // renvoie le nouveau MediaInfo.Builder("https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/hls/WhatCarCanYouGetForAGrand.m3u8")
        // renvoie le nouveau MediaInfo.Builder("https://cdn61.ytbbs.tv/cn/tv/55550/55550-1/play.m3u8?md5=QXaEWg8r8NkZJo9ln0cZwg&expires=1521010007&token=55550")
        // renvoie le nouveau MediaInfo.Builder("https://cdn61.ytbbs.tv/cn/tv/54063/54063-1/play.m3u8?md5=DRhHA6ToB4z43_32sex0kw&expires=1521012980&token=54063")
        // renvoie le nouveau MediaInfo.Builder("http://cdn14.ytbbs.tv/666/ds3/play.m3u8")
        // renvoie le nouveau MediaInfo.Builder (mSelectedMedia.getUrl())
        // url = "https://commondatastorage.googleapis.com/gtv-videos-bucket/CastVideos/mp4/DesigningForGoogleCast.mp4";
        //url = "https://cdn61.ytbbs.tv/666/ds3/ds3s.mp4";
        LogUtils2.logi(TAG, "buildMediaInfo" + url);
        renvoyer le nouveau MediaInfo.Builder (url)
                .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
                .setContentType("application/vnd.apple.mpegurl")
                // .setContentType("application/x-mpegurl")
                // .setContentType("vidéos/m3u8")
                // .setContentType("vidéos/mp4")
                .setMetadata (movieMetadata)
                .setStreamDuration(0)
                .construire();
    }

Le type de valeur MIME dans setContentType est très important. De nombreux petits partenaires ne parviennent pas à diffuser des écrans car ils n'utilisent pas le bon type __MIME__

###Différence entre DLNA et Miracast

DLNA est basé sur des fichiers et les fichiers multimédias peuvent avoir différents formats d'encodage, et le lecteur doit être capable de gérer ces formats d'encodage. Habituellement, pour une meilleure expérience de lecture, DLNA sera d'abord mis en cache pendant une courte période. Miracast est en temps réel, il peut transmettre la sortie de la source (Source) en temps réel. Les opérations sur n’importe quel écran du côté source seront transmises au côté récepteur (Sink). Si l'extrémité source lit des fichiers multimédias, elle est chargée de décoder d'abord les fichiers multimédias, puis de les encoder au format H.264. L'extrémité réceptrice n'a qu'à effectuer le décodage H.264. Par rapport au DLNA, Miracast a des exigences plus élevées en matière d'accès WiFi.

Supongo que te gusta

Origin blog.csdn.net/Goals1989/article/details/132521275
Recomendado
Clasificación