Журнал LinuxFormat - перейти на главную

LXF169:Что за штука

Материал из Linuxformat
Перейти к: навигация, поиск

Что за штука...WebRTC

Мар­ко Фио­рет­ти изу­ча­ет WebRTC – про­ект, ко­то­рый обе­ща­ет сде­лать связь в ре­аль­ном вре­мени доступ­ной че­рез брау­зе­ры и дру­гие web-при­ло­жения.

В

Ка­кие воз­мож­но­сти предоставля­ет этот WebRTC?

О

Са­мый про­стой, хоть и об­те­кае­мый от­вет – ви­део­звон­ки в ре­аль­ном вре­мени и об­мен дан­ны­ми че­рез брау­зе­ры.

В

Но ведь это уже воз­мож­но в Се­ти. Мне из­вест­ны та­кие сай­ты.

О

Стро­го го­во­ря, вы пра­вы. Но на прак­ти­ке это воз­мож­но толь­ко ме­ж­ду дву­мя поль­зо­ва­те­ля­ми и при усло­вии сов­па­дения брау­зе­ра, ОС, внешних пла­ги­нов, зна­ка Зо­диа­ка, груп­пы кро­ви и про­чих недо­ку­мен­ти­ро­ван­ных тре­бо­ваний – так­же ме­няю­щих­ся в за­ви­си­мо­сти от сай­та. В то вре­мя как с WebRTC мак­си­маль­ное ко­ли­че­­ст­во ко­да, необ­хо­ди­мо­го для осу­ще­ст­в­ления ком­муника­ции, стан­дар­ти­зо­ва­но и со­б­ра­но вме­сте, что­бы мож­но бы­ло его ин­тег­ри­ро­вать в лю­бой со­вре­мен­ный се­те­вой обо­зре­ва­тель.

В

С тем, что­бы у раз­ра­бот­чи­ков при­ло­жений и web-ди­зайнеров бы­ло мень­ше хло­пот, вер­но?

О

Имен­но! Цель – соз­дание от­кры­тых биб­лио­тек, ко­то­рые по­зво­лят несколь­ки­ми строч­ка­ми JavaScript вы­ра­зить что-то вро­де «от­пра­вить вы­вод локаль­ной web-ка­ме­ры в ок­но уда­лен­но­го брау­зе­ра». И быть уве­рен­ным, что все бу­дет ра­бо­тать вне за­ви­си­мо­сти от то­го, ка­кой имен­но там брау­зер. Мо­же­те пред­ста­вить, сколь­ко web-сер­ви­сов смо­гут это ис­поль­зо­вать?

В

Мно­го. По­жа­луй, так мно­го, что кон­крет­но и не со­об­ра­зить. Пример не при­веде­те?

О

Ог­раничим­ся се­мей­ны­ми по­треб­но­стя­ми? Ну, во­об­ра­зи­те он­лайн-иг­ры, обу­чение, ин­тернет-ма­га­зи­ны и сер­ви­сы вро­де «щелкните здесь и по­ка­жи­те нам, как бы вы хо­те­ли из­менить ди­зайн сво­ей курт­ки».

В

Ну яс­но. Да­же со­ци­аль­ные се­ти мо­гут при­ме­нять WebRTC, да?

О

Конеч­но. Сде­лать ви­део­зво­нок одним щелч­ком по кон­так­ту бу­дет бы­ст­рее и про­ще, чем сей­час, в лю­бой со­ци­аль­ной се­ти. Или ме­ж­ду раз­ны­ми со­ци­аль­ны­ми се­тя­ми.

В

По­хо­же, WebRTC со­ста­вит кон­ку­рен­цию и про­фес­сио­наль­ным при­ло­жениям для ви­део­кон­фе­рен­ций.

О

И да, и нет. Конеч­но, Web-RTC го­дит­ся и для это­го, и на­вер­ня­ка кто-то его при­менит. Но по­хо­же, что пря­мой кон­ку­рен­ции не бу­дет. Про­фес­сио­наль­ные про­дук­ты для се­те­вых ви­део­кон­фе­рен­ций име­ют свою спе­ци­фи­ку и це­ле­вую ау­ди­то­рию. Суть WebRTC в унифи­ка­ции ком­му­ни­ка­ций в ре­аль­ном вре­мени. Как имен­но – это дру­гой во­прос, по крайней ме­ре, в средне/дол­го­срочной пер­спек­ти­ве.

В

Здо­ро­во. Зна­чит, я смо­гу под­клю­чать­ся к сай­там WebRTC че­рез Skype?

О

По­го­ва­ри­ва­ли, что Skype планиру­ет соз­дать кли­ент на осно­ве брау­зе­ра, спо­соб­ный под­клю­чать­ся на­пря­мую к кли­ен­там Skype. Та­кой кли­ент мо­жет ис­поль­зо­вать и WebRTC. Но на­пом­ню, что смысл WebRTC – в уп­разднении ав­то­ном­ных и несо­вмес­ти­мых про­грамм наподобие Skype, че­рез пе­ре­вод их функ­ций в брау­зе­ры.

В

По­нят­но. Но смо­жет ли брау­зер с WebRTC по­звонить на обыч­ный те­ле­фон?

О

Та­кие ин­ст­ру­мен­ты уже су­ще­ст­ву­ют – на­при­мер, webrtc2sip (http//code.google.com/p/webrtc2sip), про­грам­ма, вы­пол­няю­щая функ­ции шлю­за ме­ж­ду со­от­вет­ст­вую­ще уком­плек­то­ван­ны­ми брау­зе­ра­ми и тра­ди­ци­он­ны­ми те­ле­фон­ны­ми се­тя­ми. Бу­дут ли и на­сколь­ко будут та­кие ин­ст­ру­мен­ты мас­шта­би­ро­вать­ся и при­ме­нять­ся, по­ка не из­вест­но.

В

Да­вай­те за­глянем под ка­пот. Ка­ко­вы основ­ные ком­понен­ты WebRTC?

О

Это три ин­тер­фей­са про­грам­ми­ро­вания при­ло­жений: MediaStream, RTCPeerConnection и RTCDataChannel.

В

Чем занима­ется, например, первый из них, MediaStream?

О

MediaStream пре­достав­ля­ет доступ (с раз­ре­шения поль­зо­ва­те­ля) к та­ким по­то­кам дан­ных, как вы­во­ды web-ка­ме­ры и мик­ро­фо­на. Бла­го­да­ря MediaStream, при­ло­жения на ба­зе брау­зе­ра мо­гут так­же управ­лять эти­ми по­то­ка­ми в ре­аль­ном вре­мени, на­при­мер, до­бав­лять спе­цэф­фек­ты.

В

Это касается исключительно ау­дио и ви­део?

О

Нет. Со­глас­но спе­ци­фи­ка­ции, в фи­на­ле MediaStream дол­жен вклю­чать и под­дер­жи­вать лю­бые по­то­ки в ре­аль­ном вре­мени, в том чис­ле дан­ные сен­со­ров и под­клю­чае­мых уст­ройств.

В

Пря­мо тех­но­кра­тия!.. Ну, а что у нас с RTC PeerConnection?

О

Эта часть WebRTC по­зво­лит брау­зе­рам де­лать нечто труд­но­вы­полнимое сей­час: на­пря­мую об­менивать­ся ме­диа-дан­ны­ми в ре­аль­ном вре­мени по ка­на­лам, яв­ляю­щим­ся од­но­вре­мен­но за­шиф­ро­ван­ны­ми и ди­на­ми­че­­ски оп­ти­ми­зи­ро­ван­ны­ми, что­бы под­дер­жи­вать наи­луч­шее ка­че­­ст­во с доступ­ным рас­ши­рением.

В

А каким образом мне может при­го­дит­ься Data Channel?

О

Ра­но или позд­но, об­ща­ясь с друзь­я­ми в ва­шем брау­зе­ре, вы за­хо­ти­те об­менивать­ся с ними фай­ла­ми, воз­мож­но, про­сто пе­ре­тас­ки­вая икон­ки. Как раз Data Channel и до­ба­вит та­кую воз­мож­ность в WebRTC-об­щение. Од­на­ко по со­стоянию на ян­варь 2013 его внедрение все еще под боль­шим во­про­сом.

В

Так ведь брау­зе­ры за­час­тую за­щи­ще­ны меж­се­те­вы­ми эк­ра­на­ми, ли­бо не име­ют пуб­лич­ных IP-ад­ре­сов. Бу­дет ли при этом ра­бо­тать WebRTC?

О

Ес­ли ваш босс ве­лит сис­тем­но­му ад­минист­ра­то­ру ком­пании за­бло­ки­ро­вать все ин­тернет-со­единения, то ниче­го не по­де­ла­ешь. В дру­гих, менее ра­дикаль­ных усло­ви­ях, WebRTC дол­жен ра­бо­тать без про­блем, по­сколь­ку в нем есть со­от­вет­ст­вую­щие тех­но­ло­гии.

В

Поясните, пожалуйста, как эти технологии ра­бо­та­ют.

О

Че­рез сер­ве­ры, по­мо­гаю­щие, к при­ме­ру, од­но­ран­го­вым уз­лам WebRTC, уп­ря­тан­ным за NAT, оп­ре­де­лять свои пуб­лич­ные IP. Ес­ли вам непременно нуж­ны все эти гнусные, ма­ло­вра­зу­ми­тель­ные техниче­­ские под­роб­но­сти, об­ра­ти­тесь к раз­де­лам сай­та, по­свя­щен­ным про­то­ко­лам TURN, STUN и ICE.

В

WebRTC, надеюсь, является от­кры­тым про­ектом?

О

Да, пред­ло­жение W3C по стан­дар­там вы най­де­те на www.w3.org/TR/webrtc. Код пред­став­лен в ви­де сбор­ки биб­лио­тек JavaScript, ко­то­рые ис­поль­зу­ют, или бу­дут ис­поль­зо­вать, несколь­ко API.

В

Есть ли у WebRTC за спиной какие-нибудь известные компании-разработчики?

О

Клю­че­вые фи­гу­ры – Mozilla, Opera и Google: им эта тех­но­ло­гия мо­жет при­го­дить­ся для поль­зо­ва­те­лей Talk и Hangout.

В

А как на­счет Apple? Или Microsoft, ко­то­рый, вдо­ба­вок, вла­де­ет Skype?

О

Apple, по­хо­же, по­ка вы­бра­ли по­зи­цию «по­жи­вем – уви­дим». Microsoft и Skype под­клю­чи­лись к офи­ци­аль­ной дис­куссии позднее про­чих и пред­ло­жи­ли соб­ст­вен­ный под­ход.

В

И в чем этот собственный под­ход за­клю­ча­ет­ся?

О

Пред­ло­жение Microsoft но­сит на­звание Customizable, Ubiquitous Real-Time Com­munication [На­страи­вае­мые по­все­ме­ст­ные ком­муника­ции в ре­аль­ном вре­мени], или ко­рот­ко CU-RTC. Пред­по­ла­га­ет­ся, что этот про­ект бу­дет менее ам­би­цио­зен и бо­лее прост в реа­ли­за­ции, неже­ли WebRTC, од­на­ко за­ви­си­мость от брау­зе­ра бу­дет та­кой же, как сей­час, а мо­жет, и уве­ли­чит­ся. Mozilla и их со­ратники, ес­те­ст­вен­но, ут­вер­жда­ют, что и с WebRTC все не так уж слож­но, а ог­ра­ничения ес­ли и наличествуют, то вре­мен­ные. По­живем –увидим.

В

Станет ли WebRTC гло­баль­ным ре­шением для об­щения в ре­аль­ном вре­мени, или что-то су­ще­ст­вен­ное ему не ох­ва­тить?

О

Ну, WebRTC пред­став­ля­ет со­бой на­бор спе­ци­фи­ка­ций, ка­саю­щих­ся толь­ко техниче­­ских во­про­сов пе­ре­да­чи го­ло­са, ви­део и дан­ных ме­ж­ду при­ло­жения­ми в ре­аль­ном вре­мени. И ес­ли бы возник­ло же­лание или по­треб­ность пе­ре­вес­ти все на­ши го­ло­со­вые и ви­део­звон­ки на WebRTC и брау­зер, бы­ло бы две про­бле­мы: пер­вая ка­са­ет­ся фор­маль­ной стан­дар­ти­за­ции, и ею ни в ко­ем слу­чае нель­зя пренеб­ре­гать, да­бы за­щи­тить поль­зо­ва­те­лей от несо­вмес­ти­мо­стей вер­сий.

А ес­ли бы об­щение че­рез брау­зер долж­но бы­ло за­менить нынешние ста­цио­нар­ные или мо­биль­ные те­ле­фон­ные звон­ки, по­на­до­би­лось бы соз­дать всю осталь­ную ин­фра­струк­ту­ру, от пря­мых экс­трен­ных вы­зо­вов до спи­сков абонен­тов и со­гла­шений на уровне услуг. Но ведь по­ка та­ко­го же­лания и та­кой по­треб­но­сти нет, вер­но?

В

Вер­но. Но мне чрез­вы­чай­но лю­бо­пыт­но. Мо­гу я уже се­го­дня по­про­бо­вать WebRTC?

О

Конеч­но, мо­же­те – на по­следней вер­сии Chrome (или, при­ло­жив малость уси­лий, на Internet Explorer). За­хо­ди­те на http://www.webrtc.org/demo, убе­ди­тесь, что ва­ша web-ка­ме­ра, мик­ро­фон и ко­лон­ки под­клю­че­ны и по­про­буй­те од­ну из пред­ло­жен­ных там де­мок.

На уст­рой­ст­вах Android или iOS мо­же­те по­про­бо­вать обо­зре­ва­тель Bowser (https://labs.ericsson.com/apps/bowser), но по­сколь­ку в нем по­ка ис­поль­зу­ет­ся ста­рый про­то­кол сиг­на­ли­за­ции, вы не смо­же­те свя­зать­ся с поль­зо­ва­те­ля­ми Chrome.

В

Ну, а что будет со звон­ками на обыч­ные те­ле­фо­ны?

О

Раз­ра­бот­чи­ки от­кры­то­го при­ло­жения sipml5 (http://sipml5.org) го­во­рят, что с его по­мо­щью мож­но пря­мо из брау­зе­ра по­лу­чать доступ как к се­тям мгно­вен­ных со­об­щений, так и к SIP-шлю­зам, ко­то­рые спо­соб­ны пе­ре­ад­ре­со­вать ва­ши звон­ки в про­стые те­ле­фон­ные се­ти.

В

После всего этого я хо­чу знать боль­ше о WebRTC!

О

За бо­лее пол­ной ин­фор­ма­ци­ей о том, как уст­ро­ен WebRTC, об­ра­ти­тесь к весь­ма объ­ем­но­му, но до­ход­чи­во­му учебнику на www.html5rocks.com/en/tutorials/webrtc/basics. Что­бы быть в кур­се по­следних но­во­стей, сле­ди­те за офи­ци­аль­ным бло­гом WebRTC (www.webrtc.org/blog) или @webrtc в Twitter. |

Персональные инструменты
купить
подписаться
Яндекс.Метрика