philippe_44 wrote: > Could you give me a few pointers ? Below is a copy of Chromecast related resources which I have noted whenever I come across it . Not sure how useful they will be to you.
Receiver application wre written in javascript but most are then processed by Closure to obscure them. For gapless I have been looking at media_player.js sourc ebecause I understand DASH protocol and it is only concerned with creating an audio stream from many http GETs. The Google Play Music receiver app is quite complicated as it it now only plays audiop it also seems to write html dynamically. Also at end is the Python code used to discover Chromecasts using mDNS --------------------------------------------------------------- SDK Examples https://github.com/googlecast Examples docs https://developers.google.com/cast/docs/downloads Google cast issue list SDK https://code.google.com/p/google-cast-sdk/issues/list Stackoverflow chromecast http://stackoverflow.com/questions/tagged/chromecast Google developer group edu - sample chromecast https://github.com/GDGOakdale Chromecast developer slides http://html5devconf.com/slides/GoogleCast-kevinnilson.pdf PoC for Presentation API https://github.com/webscreens/slidyremote https://github.com/mfoltzgoogle/presentation-cast Media Playing lab - https://developers.google.com/cast/docs/player also contain URL to js for HLS/DASH Receiver app are written in Javascript but then passed through Closure which means code is has been mininmised (sensible long names replaced by short two letter, code optimised etc) Other Receiver code URLs http://www.gstatic.com/cast/sdk/libs/mediaplayer/1.0.0/media_player.js http://www.gstatic.com/cast/sdk/libs/receiver/2.0.0/cast_receiver.js https://www.gstatic.com/cast/sdk/libs/games/1.0.0/cast_games_receiver.js Meshblu chromecast has a list of registered chromecast receiver apps https://github.com/octoblu/meshblu-chromecast/blob/master/chromecast-apps.json Use Chrome developer tools to monitor network comms when using Chrome Google Cast Extension Some old chromecast hacking http://fiquett.com/2013/07/chromecast-traffic-sniffing/ Details on how CC is configured from chrome - http://192.168.1.58:8008/setup/eureka_info?params=version,name,setup.setup_state,net.ethernet_connected,net.ip_address,device_info.ssdp_udn,device_info.capabilities.display_supported,setup.ssid_suffix,setup.tos_accepted http://192.168.1.58:8008/setup/eureka_info?params=device_info http://192.168.1.58:8008/setup/eureka_info?params=setup http://192.168.1.58:8008/setup/eureka_info?params=net http://192.168.1.58:8008/setup/eureka_info http://192.168.1.58:8008/setup/eureka_info?options=detail http://192.168.1.58:8008/setup/eureka_info?options=sign http://192.168.1.58:8008/setup/supported_locales http://192.168.1.58:8008/setup/supported_timezones http://192.168.1.58:8008/setup/eureka_info?params=build_info.cast_build_revision,device_info.mac_address,detail,net.ip_address,settings.country_code,settings.locale,settings.timezone,settings.time_format,opt_in.stats,wifi.ssid,wifi.wpa_id http://192.168.1.58:8008/setup/eureka_info?params=build_info,device_info,detail,net,settings,opt_in,wifi Groups which mention Chromecast https://groups.google.com/a/chromium.org/forum/#!topicsearch/chromecast Chromecast network deployment issues http://www.cisco.com/c/en/us/td/docs/wireless/controller/technotes/7-6/chromecastDG76/ChromecastDG76.html Code: -------------------- #!/usr/bin/env python """Discovers Chromecasts on the network using mDNS/zeroconf.""" from six.moves import input from zeroconf import ServiceBrowser, Zeroconf class MyListener(object): def __init__(self): self.services = {} @property def count(self): """Number of discovered cast services.""" return len(self.services) @property def devices(self): """List of tuples (ip, host) for each discovered device.""" return list(self.services.values()) # pylint: disable=unused-argument def remove_service(self, zconf, typ, name): """ Remove a service from the collection. """ print("Service %s removed" % (name,)) self.services.pop(name, None) def add_service(self, zconf, typ, name): """ Add a service to the collection. """ info = zconf.get_service_info(typ, name) print("Service %s added, service info: %s" % (name, info)) service = None tries = 0 while service is None and tries < 4: service = zconf.get_service_info(typ, name) tries += 1 if service: ips = zconf.cache.entries_with_name(service.server.lower()) host = repr(ips[0]) if ips else service.server print("\n\n\nService %s added, host %s port %d" % (name, host, service.port)) self.services[name] = (host, service.port) zeroconf = Zeroconf() listener = MyListener() browser = ServiceBrowser(zeroconf, "_googlecast._tcp.local.", listener) try: input("Press enter to exit...\n\n") finally: zeroconf.close() -------------------- ------------------------------------------------------------------------ bpa's Profile: http://forums.slimdevices.com/member.php?userid=1806 View this thread: http://forums.slimdevices.com/showthread.php?t=104383 _______________________________________________ discuss mailing list discuss@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/discuss