Google Cast — это проприетарный протокол, разработанный компанией Google для воспроизведения потокового аудиовизуального контента, транслируемого через Интернет, на совместимом пользовательском устройстве. Протокол используется для запуска и управления воспроизведением контента на цифровых медиаплеерах, телевизорах высокой четкости и домашних аудиосистемах с помощью мобильных устройств, персональных компьютеров или умных колонок. Впервые протокол был запущен 24 июля2013 года для поддержки плеера Google Chromecast первого поколения.[1]3 февраля2014 года был выпущен Google Cast SDK, позволяющий сторонним разработчикам модифицировать свое программное обеспечение для поддержки протокола.[2] По данным Google, на май 2015 года было доступно более 20 000 приложений, поддерживающих Google Cast. С тех пор поддержка Google Cast была интегрирована в последующие устройства, такие как Nexus Player и другие устройства Android TV (например, телевизоры), а также саундбары, колонки и более поздние модели Chromecast. Пользовательские устройства, поддерживающие этот протокол, продаются как Chromecast built-in. По состоянию на октябрь 2017 года было продано более 55 миллионов Chromecast и Chromecast built-in устройств.[3]
Приемники Google Cast могут транслировать контент двумя способами: первый использует мобильные и веб-приложения, поддерживающие технологию Google Cast; второй позволяет зеркально отображать контент из веб-браузера Google Chrome, работающего на персональном компьютере, а также контент, отображаемый на некоторых устройствах Android.[4] В обоих случаях воспроизведение запускается с помощью кнопки «cast» на устройстве-отправителе.[5]
Основной способ воспроизведения мультимедиа на устройстве — через мобильные и веб-приложения с поддержкой Google Cast, которые управляют выбором программ, воспроизведением и громкостью. Устройства-приемники Google Cast транслируют медиафайлы из Интернета через локальную версию браузера Chrome[6], освобождая устройство-отправитель для выполнения других задач, например ответа на звонок или использования другого приложения, без прерывания воспроизведения. Мобильные приложения с поддержкой Google Cast доступны для Android4.1+ и iOS7.0+; веб-приложения с поддержкой Google Cast доступны на компьютерах под управлением Google Chrome версии 72 или более поздней (Windows7+, macOS10.7+ и ChromeOS) путем установки расширения Cast в браузер.[7][8] Потоковый контент может находиться в Интернете, передаваться конкретными приложениями или располагаться в локальном хранилище устройства-отправителя.[9][10]
Контент также можно транслировать с вкладки браузера Chrome (с помощью расширения Cast) на ПК или с экрана некоторых устройств на базе Android 4.4+. В случае «кастинга вкладок» качество изображения зависит от вычислительных мощностей устройства, а для потокового видео применяются минимальные системные требования. Контент, использующий плагины, такие как Silverlight и QuickTime, будет передаваться не в полном объеме, так как в потоке может отсутствовать звук или изображение.[11][12] Таким же образом обычно ухудшается изображение на экране устройств Android, что связано с тем, что видео, отображаемое на небольших экранах планшетов и смартфонов, обычно уменьшается в масштабе.[4]
Чтобы передать контент, устройства-отправители раньше должны были быть подключены к той же сети Wi-Fi, что и устройство-приемник Google Cast[13][14], пока 10 декабря2014 года не была добавлена функция «гостевого режима».[15] При включении этой функции устройства-отправители могут обнаружить находящийся поблизости плеер, распознав ультразвуковойсигнал, издаваемый телевизором или акустической системой, к которой подключен плеер[16][17]; как вариант, устройство-отправитель может быть сопряжено с устройством-приемником с помощью четырехзначного PIN-кода.[17][18] Гостевой режим доступен только для Chromecast; Nexus Player и устройства Android TV эту функцию не поддерживают.[19]
SDK и совместимые приложения
Выпуск и распространение
Когда было выпущено первое поколение Chromecast, было доступно четыре приложения, совместимых с Google Cast: YouTube и Netflix поддерживались как веб-приложения на Android, iOS и Chrome; Google Play Music и Google Play Фильмы и ТВ также поддерживались, но первоначально только как приложения для Android.[21][22] Дополнительные приложения, поддерживающие кастинг, должны были получить доступ к пакету разработки программного обеспечения Google Cast (SDK). SDK был впервые выпущен 24 июля2013 года в виде предварительной версии. Google рекомендовала заинтересованным разработчикам использовать SDK для создания и тестирования приложений, но не распространять их.[23] Пока это предупреждение оставалось в силе, в октябре 2013 года были выпущены приложения с поддержкой Google Cast для Hulu Plus и Pandora Radio, а в ноябре — для HBO GO.[24][25]
7 декабря Google пригласила разработчиков на двухдневный хакатон в Googleplex, в свою штаб-квартиру в Маунтин-Вью, предоставив им возможность протестировать «предстоящий релиз» SDK.[26] В мероприятии приняли участие 40 разработчиков из 30 компаний, после чего было выпущено 10 дополнительных приложений, включая Plex, Avia и Realplayer Cloud.[27]
3 февраля2014 года Google открыл SDK для всех разработчиков.[28] В своей ознакомительной документации и видеопрезентации Google заявила, что SDK работает как с устройствами Chromecast, так и с другими неназванными «устройствами- каст-приёмниками». Менеджер по продуктам Chromecast Риш Чандра сказал, что Google использовал прошедшее время, чтобы повысить надежность SDK и удовлетворить запросы тех разработчиков, которые искали быстрый и простой способ отправить фотографию на телевизор без необходимости сложного кодирования. Google также сделала SDK частью фреймворка Google Play Сервисы, тем самым предоставив пользователям доступ к новым приложениям без необходимости обновлять систему Android.[29][30] Со временем многие приложения были обновлены и получили поддержку Google Cast. На Google I/O 2014 компания объявила, что 6 000 зарегистрированных разработчиков работают над 10 000 приложений, поддерживающих Google Cast;[31] к конференции следующего года количество совместимых приложений удвоилось.[32] Официальный список совместимых приложений и платформ Google доступен на сайте Chromecast. Google опубликовал тематические исследования, в которых рассказывается об интеграции Google Cast в приложения Comedy Central, Just Dance Now, Haystack News и Fitnet.[33]
Фреймворк
Фреймворк разработки состоит из двух компонентов: приложения-отправителя и приложения-получателя, которые используют API, предоставляемые SDK.
Приложение-отправитель строится на базе существующего мобильного приложения для Android или iOS или веб-приложения для ПК и предоставляет пользователям возможность поиска контента и управления мультимедиа, включая возможность выбора устройства, на которое будет транслироваться контент. Под контролем приложения-отправителя могут обнаруживать устройства-получатели в одной локальной сети, устанавливать защищенный канал и обмениваться сообщениями.
Приложение-приемник — это веб-приложение, выполняющееся в среде, похожей на браузер Chrome, на устройстве-приемнике. Приложения-приемники различной степени сложности могут быть разработаны в зависимости от количества форматов контента, который приложение может воспроизводить. Например, простое приложение-приемник может воспроизводить только видеоконтент в формате HTML, в то время как пользовательские приложения-приемники, для создания которых требуется больше усилий, могут использовать различные протоколы потоковой передачи, включая MPEG-DASH, HTTP Live Streaming (HLS) и Microsoft Smooth Streaming Protocol.[34]
Поддерживаемые форматы
Chromecast поддерживает форматы изображений BMP, GIF, JPEG, PNG и WEBP с ограничением размера экрана 720p (1280×720 пикселей). Поддерживаются следующие аудиокодеки: HE-AAC, LC-AAC, MP3, Vorbis, WAV(LPCM), FLAC (до 96 кГц/24 бит) и Opus; для сквозной передачи звука доступны AC-3 (Dolby Digital) и E-AC-3 (EC-3, Dolby Digital Plus). Поддерживаемые видеокодеки для первого и второго поколения Chromecast — H.264 High Profile Level 4.1 (декодирование до 720p/60 кадров в секунду или 1080p/30 кадров в секунду) и VP8.[35] Chromecast третьего поколения поддерживает следующие видеокодеки: H.264 High Profile Level 4.2 (декодирование до 720p/60 кадров в секунду или 1080p/60fps) и VP8.[36] Chromecast Ultra поддерживает следующие видеокодеки: HEVC/H.265 Main и Main 10 Profiles вплоть до уровня 5.1 (2160p/60 кадров в секунду) и VP9 Profile 0 и Profile 2 вплоть до уровня 5.1 (2160p/60 кадров в секунду).[37]
Дополнительный функционал и API
На международной выставке CES 2015 компания Google анонсировала расширение Google Cast под названием «Google Cast for audio», которое позволяет приложениям, поддерживающим Google Cast SDK, воспроизводить звук через совместимые колонки, саундбары и приемники, подключенные к Wi-Fi.[38] Среди производителей, поддерживающих Google Cast в качестве встроенной функции в своих колонках — LG и Sony.[39]
В мае 2015 года компания Google представила новые пакеты API для Google Cast. API Cast Remote Display позволяет разработчикам создавать второй экран для игр и приложений без необходимости зеркального отображения. API Game Manager предоставляет разработчикам больше возможностей для создания многопользовательских игр.[40] И наконец, были предоставлены дополнительные API для управления автовоспроизведением и очередью контента.[41]
В сентябре 2015 года Google анонсировал «Fast Play» и прилагающиеся к нему инструменты для разработчиков, которые призваны сократить задержки между загрузкой контента. В типовом случае, если пользователь просматривает первые три эпизода телесериала, четвертый эпизод может загрузиться в фоновом режиме.[42] Выпуск этой функции был отложен.[43]