Pull to refresh

Comments 33

Хорошая штука. Жаль, что ни о какой стабильности и поддержки речи пока не идет. Но, тем не менее, радует, что в будущем проглядывается счастье.

Раньше был опыт с пиринговым видео… Столько велосипедов было и глюков. Использовали только Adobe Stratus.
Ну судя по всему ждать осталось не так долго, опера перешла на webkit. Mozilla старается в реализации webrtc. Думаю что постепенно google glass и другие будут видео с камеры транслировать именно через webrtc.
А смысл от google glass — в чате надо видеть собеседника? Или вы имели ввиду видеоблог на этой технологии?
Можно же в зеркало смотреть ) Гугл дакфэйс, так сказать. А кроме шуток, не вижу особого смысла на собеседника смотреть, если только не виделись давно. Можно нормально собеседнику показывать какое-либо место и т.п.
Да, я имел виду видео блог или какой нибудь интерактивный дневник. Думаю что общение с бюрократией в данном девайсе тоже будет иметь успех.
Технология перспективная, но больше всего интересует поддержка браузерами. Пару лет назад была печаль, и с тех пор особых изменений у них на сайте не видел. Пока я так понимаю технология доступна в стабильной версии хрома, и сборке Firefox.
Пока что более менее всё нормально только в хроме, но даже тут — почему-то с одной стороны звук не поулчилось передать. Кроме того, захват звука идёт не с микрофона, а с общего канала — возможно в будущем это всё будет как-то регулироваться. В хромиуме (вроде ж тот же движок, цифра в цифру версия) — почему-то RTCPeerConnection не пытается состыковаться через локальную сеть — только через полученный внешний IP.
Возможно нужно поднять локальный STUN -сервер, т.к. по-умолчанию используют гугловский
Возможно. Хоть и не понятна причина дискриминации — демо вроде как предназначено для разных браузеров. Конечно, могу предположить, что в хроме используется какая-то проприетарная доработка специально для стыковки со своим STUN-сервером, но как-то это странно было бы.
Плюс остается узнать как принять видео-поток на сервере
Отличная идея! Спасибо за совет
Уважаемый, а Вас не учили оставлять ссылки на первоисточники (исходников в том числе)?
Прочитайте внимательно мой комментарий, особенно то что в скобках
Вы никогда не пробовали в браузере нажать Ctrl-U?
Глубоко уважаемый, Александр. Не размещение ссылок на первоисточник (даже исходного кода) это не только моветон, но и избавляет автора от ответов на подобные комментарии. А на счет Ctr+U сделайте мне эту комбинацию на серверном питоновом скрипте этой демки
P.S. Всегда умиляют такие наивные люди как Вы.
Глубоко уважаемый, Иван. Читаете ли Вы статьи, прежде чем их комментировать? Например, обратите внимание, что автор написал серверную часть по-своему и к данным Вами исходникам она не имеет ни малейшего отношения. А ответы на вопросы о собственных исходниках (а также о мотивации автора давать или не давать эти исходники), я таки оставлю отвечать ему самому.
Ну, полагаю, приведённый в статье фрагмент можно сравнить с кодом по Вашей ссылке — наверно, начиная со 173 строки
Встречное предложение подумать над ответами на Ваши комментарии. А заодно, поразмыслить над таким неординарным теоретическим вопросом, как что является предметом рассмотрения данной статьи — объект реального мира в виде демки с прилагающимися к нему исходниками, на что ссылка дана, и авторской реализацией серверной части, либо некий блок кода, являющийся, вероятно, исходником серверной части, на котором на самом деле работает демка, на который ссылаетесь Вы, но автором статьи не рассмотренный?
И в целом — предлагаю данный душещипательный философский вопрос вынести в личку, поскольку здесь это обсуждение скатывается в безбожный оффтопик. Имхо, здесь в теме хватило бы просто сослаться на то, что исходники демки существуют в открытом виде, о чём автор, вероятно, не знал.
А на счет Ctr+U сделайте мне эту комбинацию на серверном питоновом скрипте этой демки
На питоновский код если честно не смотрел, там заточено для app engine, используется база гугла и тд. В том коде что я привел используется ajax, mongodb, две простеньких функции. Конечно у меня нет проверок исключительных ситуаций ошибок и всего остального, но это ж не продакшен, это простой пример.
Вы отрицаете, что использовали код предоставленный google?
Честно говоря я вас немного не понимаю. Вам приведенный мной python код кажется настолько сложным что его невозможно написать самому? Если вы усматриваете откровенный копипаст то приведите пожалуйста пример. Или имелась в виду клиентская часть?
Вы отрицаете, что использовали код предоставленный google?
Вы настойчивы
Набросал пример для bottle вначале необходимо выполнить:
pip install jinja2
pip install bottle

также поставить mongodb

создать необходимый шаблон, и запустить питоновский код


from bottle import run, route, request, jinja2_template as templ

def connect():
	mongo = Connection('localhost', 27017)
	db = mongo['db']
	db.authenticate('user', 'pass')
	return db

db = connect()

@route('/chat/<room>')
def chat(room):
	doc = db.chat.find_one({'_id':room})
	initiator = 1
	if not doc:
		initiator = 0
		doc = {'_id':room, 'mess': []}
		db.chat.save(doc)
	return templ('rtc.tpl', initiator = initiator, room=room)

@route('/chat', method='POST')
def chat_post():
	lst = 0.0; msg = []
	room = get_post('room')
	user_id= get_post('user_id')
	last= float(get_post('last', 0))
	mess= get_post('mess')
	doc = db.chat.find_one({'_id':room})
	if mess:
		doc['mess'].append((time.time(), mess, user_id))
		db.chat.save(doc)
	for i_time, i_msg, i_user in doc['mess']:
		if i_user != user_id and i_time > last:
			lst = i_time
			msg.append((i_time, i_user, i_msg))
	if not lst: lst = last
	return json.dumps({'result': 'ok', 'last': lst, 'msg': msg})

def get_post(name, default = None):
	return request.POST[name] if name in request.POST else default

run(host='localhost', port=8080)
а для чего функция maybeStart? Я не нашел её в js коде, какое её применение?
Так же прошу исходники rtc.tpl
P.S. пытался реализовать на node.js и websocket-ах, но как-то не вышло…
Sign up to leave a comment.

Articles