2013-07-24 17 views
10

Chromecastデバイスは、「レシーバーデバイスで、レシーバーアプリケーションを使用して縮小されたChromeブラウザーを実行する」デバイスです。このレシーバーアプリをダウンロードしてWindowsのノートブックなどのChromeブラウザにインストールできますか?独自のChromecastデバイスを構築する

+4

これはプログラミングに関する質問ではないので、Stack Overflowはこのための場所ではありません。しかし、あなたの質問に対する答えは「いいえ」です。 –

+0

これはプログラミングに関する質問ではありませんが、このアプリケーションをダウンロードすることができれば、私のソフトウェアでこれをどのように統合するのか見てみたいと思います。それはプログラミングの質問になります。 –

+2

Chromecast APIを使用してコンテンツをChromecastに送信するアプリケーションを作成する場合は、コンテンツ制限を理解するためにAPI(およびデバイス)が出てくるのを待つ必要があります。 ChromecastはGoogleが販売するデバイスで、Chromecast APIを介して通信することができるため、「自分のデバイスを作成できますか?」という質問には「いいえ」と答えています。 –

答えて

10

クロマキャストデバイスは、DIALプロトコルを使用して動作します。いくつかの単純なコードを使用してこのプロトコルをエミュレートして、マルチキャストグループ上で検出をリッスンしてから、アプリケーションを起動するHTTP要求を処理することは完全に可能です。その後、キャスティングデバイスと通信するアプリケーションが起動しました。私はRAMPプロトコルを使用すると信じています。

幸いなことに、私たちのために、クロマキャストデバイスが使用するアプリケーションは主にWebアプリケーションです。デバイスエミュレータは、Webブラウザを起動してアプリケーションリクエストを受信すると、特定のURLを指定する必要があります。

たとえば、デバイスの検出後、アプリケーションがどこに配置されているかを確認する(DIALの一部)。ペアリングキーを含むHTTP POST要求を/<apps url>/YouTubeに送信します。すべてのエミュレートデバイスは今ブラウザウィンドウで開いてhttps://www.youtube.com/tv?<pairing key>です。ここから、私は、YouTubeアプリケーションを制御するための通信は、キャスティングデバイスを介してではなく、キャスティングデバイスとエミュレータの開いているタブを介して送信されると信じています。

これは私の理解しているのは、クロムキャストデバイスがどのように動作していて、具体的にはyoutubeアプリがhttps://github.com/dz0ny/leapcastを見ていて、それはyoutubeとgoogleの音楽を持っているpythonエミュレータです。

+5

V2 Chromecastは現在[mDNS現在](https://github.com/jloutsenhizer/CR-Cast/wiki/Chromecast-Implementation-Documentation-WIP)を使用していますが、 protobuf](https://github.com/google/protobuf)残りの部分は流れの多かれ少なかれ同じです。残念ながら、リンクされたLeapcast(まだYouTubeのためにうまくいく)でV2を動作させるための開発が遅れているようです。 – Wrikken

+0

それは正しいです、最近、私はいくつかのパケットをキャプチャした後、少なくともこれらのプロトコルが交渉の一部をしていることを発見しました: - 239.255.255.250へのUDP/IGMPメンバーシップ。 - TCP/XML応答を含む239.255.255.250へのUDP/SSDP m-検索。 - ChromeCastからPCへのUDP/uPnP応答ユニキャスト。 - ChromeCastからのマルチキャスト応答を含む224.0.0.251へのUDP/MDNS質問。 – JCM

0

Googleはクロームキャストの一部をオープンソーシングしています。

https://code.google.com/p/chromium/codesearch#chromium/src/chromecast/

https://code.google.com/p/chromium/issues/list?q=label:Chromecast

だから、理論的には、あなたが同様のデバイスを構築することができます。

私がGoogle PlayストアとAmazonのストアで利用できるYouMap CHROMECASTレシーバーと呼ばれる完全なChromecastのv2の受信機、、、ここでXDA-開発者のスレッドを実装している
+0

残念ながら、ChromecastエコシステムはGoogleが所有し、管理している暗号化によって保護されているため、最初の部分(オープンソーシング)は2番目を意味しません(理論的には同様のデバイスを構築できます)。 – mjaggard

8

http://forum.xda-developers.com/android-tv/chromecast/app-youmap-chromecast-receiver-android-t3161851

現在のChromecastプロトコルは、オリジナルとは全く異なるものですDIALベースのプロトコル。現在のところ、YouTubeだけが以前のプロトコルを使用しています。これは、chromecastが下位互換性を維持しています。

発見はmDNSで、Apple TVのBonjourプロトコルとまったく同じです。

最も困難な部分はデバイス認証であり、送信者と受信者はキーと証明書をやりとりするのが非常に難しい方法でハンドシェイクを実行します。 AppleTVはFairPlay暗号化を使用して同じことを行います。

次の難しい部分は、非常に複雑で、パケット分割、パケット再送信に対処する必要があるミラーリングプロトコルです。全体として、クロマキャストミラーリングプロトコルは、ミラキャストよりもうまく設計されており、AirPlayミラーリングより優れています(私は両方とも実装しているので、私が何を話しているのか分かります)。

私はチャンスを得るとき、ここでもっと書きます。

+0

ハードウェアDRMが使用されているようです?)を使用してキャスト受信者を認証します。これは、受信者をエミュレートしたい場合は、少なくとも正当な犠牲デバイスを必要としています。 – deed02392

関連する問題