2009-11-05 9 views
6

Pour un projet de semestre, j'ai eu l'idée d'implémenter Windows 7 sur Play to infrastructure pour utiliser un téléphone comme point de terminaison (le lecteur) ou pour diffuser le téléphone à une machine Windows 7. Quelqu'un a-t-il déjà travaillé avec cette API? Est-ce que cela peut durer quelques semaines (prototype, juste preuve de concept, pas prêt pour l'utilisateur final) ou est-ce trop pour un projet de cette envergure? Note: Je ne cherche pas d'échantillons de code, mais seulement une évaluation de la faisabilité de ce projet. Si vous avez des documents de MS ou autre, ce serait génial, mais pas le cœur de la question.Implémentation de DLNA/UPnP (Win7 Play To) sur un périphérique mobile

Modifier: J'ai découvert que la fonctionnalité Play-to de Windows 7 est basée sur DLNA et que tout périphérique supportant DLNA (je pense) peut être utilisé comme destination pour le menu contextuel Play-To. Cependant, j'ai vraiment du mal à trouver de la documentation sur DLNA. Je me demande si vous devez être membre de la DNLA pour avoir accès à la spécification? Alternativement, je sais que DLNA est construit sur UPnP, il ne ferait pas exactement ce que je veux, mais ce serait un pas dans la bonne direction, ainsi, pour réviser ma question quelqu'un sait-il de n'importe quel C/C++ open-source ou Java (préférable) les bibliothèques qui m'aideraient à implémenter UPnP ou DLNA?

Merci! Chris

Répondre

29

Le PlayTo est entièrement basé sur UPnP. DLNA est juste une couche de standardisation en plus de l'UPnP. Ainsi, tout appareil UPnP est capable de dialoguer avec un appareil DLNA, donc avec une machine Win7. DLNA spécifie 4 types de périphériques: DMP, DMR, DMC et DMS. Un DMP (aka Digital Media Player) est un périphérique capable de trouver et de parcourir des serveurs distants (DMS = Digital Media Servers) et de consommer du contenu (ou de tirer du contenu). PS3 est l'exemple parfait de DMP. Un DMP n'est pas détectable sur le réseau, il ne fait que découvrir et consommer du contenu. Parce qu'il n'est pas détectable, vous ne pouvez pas le contrôler avec PlayTo. Un DMR (aka Digital Media Renders) est un périphérique qui peut accepter les commandes reçues du réseau. Il est détectable, expose un document de description UPnP et des services UPnP comme AVTransport et ConnectionManager ou RenderingControl. Un appareil PlayTo est capable de trouver cet appareil sur un réseau, et il peut y pousser du contenu. Il peut contrôler la lecture via le service AVTransport et le service RenderingControl. De nombreux appareils sont aujourd'hui 100% DMP (ne peuvent pas être contrôlés via PlayTo) ou DMP-DMR. Cela signifie qu'ils exposent tous les deux les services AVTransport et RenderingControl mais disposent également d'une interface graphique que l'utilisateur peut utiliser pour extraire les médias d'un serveur. Un DMS (aka Digital Media Server) est un périphérique de serveur multimédia. Vous pouvez y stocker du contenu multimédia et vous pouvez le consommer à partir d'autres périphériques réseau. Il s'agit généralement de périphériques NAS, mais il peut également s'agir de téléphones mobiles, de machines Win7/Vista, etc. Un DMS est détectable sur le réseau et expose les services UPnP en tant que service ContentDirectory. Cela expose des méthodes telles que Parcourir et Rechercher, que vous pouvez utiliser pour localiser le contenu. Un périphérique DMC (Digital Media Controller) est un périphérique qui ne dispose pas de fonctions de lecture. Il n'a que des capacités de contrôle, et il a besoin d'un DMS distant (pour exposer le contenu) et d'un DMR distant (pour lire le contenu) pour compléter l'expérience multimédia. PlayTo est un exemple. Il existe également des applications similaires sur les téléphones Nokia N95/Nokia N78 ou sur iPhone. Twonky a également un DMC basé sur le Web.

Tous ces dispositifs ont une chose en commun: ils comprennent et parlent UPnP. Ils peuvent être implémentés en C +, C#, Java, ils peuvent fonctionner sur Windows, Linux ou Apple mais ils sont tous basés sur UPnP. Tout ce que vous devez faire est de vous familiariser avec la norme UPnP. Je vous recommande de télécharger les documents de upnp.org et de l'Intel Device Spy (et d'autres outils Intel UPnP connexes) et commencer à jouer avec ceux-ci. Si vous voulez écrire un DMC (ou PlayTo) - ce qui est la chose la plus simple à faire - tout ce que vous devez comprendre est juste quelques concepts UPnP de base (SOAP, XML, découverte de réseau, etc.). Si vous voulez écrire votre application sur la plate-forme Win7, vous pouvez utiliser l'API Win UPnP pour découvrir les périphériques et leur envoyer des commandes.Ou vous pouvez écrire votre propre API pour le faire (ce n'est pas si difficile). Je ne sais pas sur le téléphone quelle API vous pouvez utiliser. Cependant, vous pouvez toujours aller à la base: envoyer des messages SOAP sur le réseau à l'aide d'API réseau de base. Pour un DMP/DMR, vous aurez besoin de capacités de lecture, et cela peut dépendre de la plate-forme et des codecs que vous y avez. Faites-moi savoir si cela vous aide un peu à démarrer. Thx CCazang

+0

C'est parfait, merci pour la réponse détaillée. –

+0

Un aperçu très informatif, merci encore. –

+0

merci l'homme vraiment génial article. –