Задать вопрос
  • Как "перекодировать" RTSP в HLS с наименьшими затратами?

    @hbruser
    В общем в live режиме hls не получиться, смотрите пост.


    Этот пост про задержку, а не про производительность.
    В случае ТС требуются минимальные затраты на перепакетизацию потока.

    Минимальные затраты может дать использование Flash, т.к. Flash поддерживает H.264 и потребуется только ре-пакетизация потока в тот же кодек. Если использовать HTML5(WebM) затраты будут выше, так как потребуется транскодинг в VP8 или VP9 видео кодек, а это как раз сильно затратная операция.

    >По ссылке есть решение, но оно без звука и с помощью javasript - я не пробовал.
    Тоже самое, но со звуком
    По ссылке совсем другая технология, там видео перекодируется на лету в MPEG1. Не очень затратный кодек, т.к. сжимает плохо. Поэтому производительность будет лучше чем в WebM и хуже чем в Flash.
    Ответ написан
    Комментировать
  • Какие реализации протокола RTMFP существуют в природе?

    @hbruser
    1. Mona Server
    Бывший Cumulus.

    2. Web Call Server 4

    Поддерживает RTMFP-потоки и конвертацию в RTSP, Websocket, WebRTC
    Т.е. можно организовать обмен видеопотоками между:

    IE - IE
    IE - Chrome/Firefox
    IE - VLC/RTSP player
    IE - iOS Safari

    Здесь IE работает с Flash Player и сервером через RTMFP-протокол.

    Также, судя по forums.adobe.com/thread/636094 и forums.adobe.com/message/2809280 реализация данного протокола не сильно выгодна, поскольку RTMFP не обходит NAT.

    NAT не страшен если есть сервер, который может проксировать потоки.

    Также, учитывая распространенность флеш на мобильных устройствах, направленность на HTML5 и разработки, связанные с WebRTC навряд ли кто-то будет сильно этим заниматься.

    Многие легаси системы продолжают работать на флэшовом Adobe FMS и Wowza. Зачастую для них очень дорого переходить на WebRTC и другие технологии. Так что по крайней мере на десктопе Flash себя пока хорошо чувствует.
    Ответ написан
    Комментировать
  • Звонки между пользователями сайта?

    @hbruser
    Если объяснять на пальцах как работают WebRTC-звонки, то выглядит это так:

    1. Саша и Кузя открыли страницу в браузере. На странице JavaScript.
    Находятся они естественно не за одним компьютером, а скорее всего в разных городах.
    2. Далее они должны обменяться кодеками и дать друг другу свои WebRTC-координаты (IP адреса и порты). Например, если у Саши Google Chrome, то у него приоритетным будет видеокодек VP8, а если Firefox, то H.264 насколько я помню.
    3. После того, как они обменялись этой информацией, трафик начинает идти от одного к другому(возможно через TURN сервер) и имеем установленный звонок.

    Обмен нужной информацией называется "сигналинг" и требует стороннего сервера. Без него никак. Участникам звонка не узнать IP адрес друг друга если не будет центрального сервера, который им в этом поможет.

    Ну и далее много вариантов.
    Подбираете нужный сервер или cloud-сервис и созваниваете через него.

    Вот два примера установки соединения через сервер Flashphoner:

    1. Сигналинг идет через SIP.
    www.youtube.com/watch?v=BG7CZSsR8WA

    2. Простой стриминг. Один дает поток, другой играет и обратно.
    www.youtube.com/watch?v=0eBm5rL6nSs
    Ответ написан
    2 комментария
  • Чем воспроизвести на планшете потоковое видео с видеокамер?

    @hbruser
    Если IP камера поддерживает RTSP и H.264, можно смотреть на Android планшете в Chrome или Firefox браузере без установки дополнительного ПО. Здесь пример настройки.
    Ответ написан
    Комментировать
  • Как сделать сайт потокового видео без задержки (макс 1сек)?

    @hbruser
    WebRTC Media & Broadcasting Server - работает по UDP, поэтому задержка будет минимальной до 500 миллисекунд если без потерь.

    Про сеть VGA не понял. Как транслировать с IP-камеры без задержки, можно прочитать здесь.
    Ответ написан
    Комментировать
  • Трансляция ip-видео с ip-камеры на свой сайт?

    @hbruser
    Вот подробный обзорчик на хабре как запустить на своем сервере.
    Ответ написан
    Комментировать
  • Как это сделать - WebRTC многопользовательский чат?

    @hbruser
    WebRTC Broadcasting Server - можно сделать много слушателей и много вещателей.
    Ответ написан
    Комментировать
  • Какую выбрать технологию для создания web телефона (ip-телефония)?

    @hbruser
    Flash уже не в моде. Нужен WebRTC.
    По браузерам примерно такой расклад:

    WebRTC - Chrome, FF, Opera последние версии плюс мобильные браузеры Chrome, FF для Android
    Flash - IE, Safari, все остальные
    В iOS браузерах ни Flash ни WebRTC не работают насколько мне известно, поэтому там делают "костыль" в виде нативного приложения, которое юзер скачивает и устанавливает при попытке позвонить из браузера.
    Ответ написан
  • Как организовать проект?

    @hbruser
    На ноут надо Asterisk поставить, завести пару SIP аккаунтов и готово. Потом на каждый из андроидов установить SIP клиент и они смогут звониться между собой, если с Asterisk в одной сети конечно.

    Если с WebRTC и в разумное время, то будет тяжеловато. Знаю админа одного - третью неделю уже Asterisk мучает чтобы sipml5 с ним корректно поднять:) Хотя может быть руки не оттуда.
    Ответ написан
  • Какие есть чаты поддержки (саппорт)?

    @hbruser
    без напильника - kayako
    Ответ написан
    Комментировать
  • Виртуальные камеры транслирующие реальную?

    @hbruser
    использую manycam - это splitter для веб камеры.
    Хотя вру. В последнее время купил пару вебкамер и использую их. Так надежнее :)
    Ответ написан
    Комментировать
  • Как организовать передачу данных с веб-камеры средствами JS?

    @hbruser
    Отправлять видео по вебсокету... Сэр знает толк в извращениях.
    По вебсокету создается соединение с сервером, дальше обмен SDP и SRTP потоки. Это и есть WebRTC. Ну и сервер нужно подыскать, который работает по Websockets/WebRTC и способен принимать поток и отдавать его подписчикам.
    Ответ написан
    Комментировать
  • Какой latency у webrtc в частности у RTCMultiConnection?

    @hbruser
    Задержка вообще зависит много от чего
    1) Jitter buffer имеет свой размер и свои алгоритмы сброса пакетов
    2) Сервер, через который идет трафик(TURN или другой сервер) может иметь свои буферы

    Задержка кодирования и декодирования потока невидима глазом.
    Ну и от RTT конечно зависит.
    У вас сколько задержка от RTT и насколько вы хотите ее улучшить?
    Ответ написан
    Комментировать
  • Webrtc не могу подключить хром с мозилой

    @hbruser
    У Chrome и FF немного разные методы установки защищенного соединения: DTLS и SDES. Попробуйте покопать в этом направлении.
    Ответ написан
    Комментировать
  • Связка sipML5 + Мегафон Multifon.ru не подключается?

    @hbruser
    Все заканчивается на коннекте Websocket. Сервер вас срубает с какой-то ошибкой.
    sipml5 если и юзать, то со своим сервером, а не с тем общественным, на котором не известно что происходит.
    Ответ написан
    Комментировать
  • Организация call-центра с веб-интерфейсом

    @hbruser
    Чтобы принимать звонки вам потребуется либо внешний телеком провайдер, который предоставляет внешний номер телефона, либо GSM/PSTN шлюз, в который можно воткнуть SIM карты для приема вызовов. Если это CRM, то скорее всего нужно масштабируемое решение и потребуется арендовать пул номеров у провайдера. На эти номера будут поступать звонки и ваш Asterisk сервер будет распределять их по операторам.

    webrtc действительно подойдет если операторы CRM будут использовать Chrome или FF.
    В IE оно пока не работает.

    jssip или sipml5 надо внимательно тестировать, т.к. могут вылезти такие баги, которые не удастся исправить в разумное время. Кстати удержание вызова в WebRTC работает через воркэраунды в силу некоторых причин. Знаю что у Flashphoner удержание и трансферы для WebRTC работают. В sipml5 не тестировал.

    автоматическое определение номера

    это скорее дело Asterisk-а прислать эти данные Web-телефону

    открытие карточки клиента

    Это есть в каждом API. Раз вызов входящий видно, значит есть соответствующее событие.

    Возможно есть какие-то готовые решения такой интеграции веб-телефона на страницу сайта.

    Более готовых софтверных решений чем Flashphoner не видел. Есть куча SAAS. Может их?
    Ответ написан
    4 комментария
  • Что лучше использовать для SIP звонков из браузера?

    @hbruser
    Для того чтобы запилить sipml5 нужны два логических сервера:
    1) Statefull SIP proxy, который поддерживает SIP over Websocket и SIP over UDP/TCP.
    2) Media server, который транскодит аудио, если к примеру есть только кодек g.729.

    Из готового есть Web Call Server, но он платный. Зато есть функция автоматического перехода на Flash, в случае если нет поддержки WebRTC.
    Ответ написан
    4 комментария
  • Где взять пример/док по реализации WebRTC SIP server side?

    @hbruser
    Собственно, варианта два
    1. SIP через Websocket
    2. Кустомный сигналинг через Websocket и далее SIP

    И в том и в другом случае нужен будет промежуточный сервер.

    В первом случае это Stateful SIP прокси, который сможет принимать SIP через Websocket и далее работать с провайдером через SIP/UDP.

    Browser <--[SIP over Websocket]--> Stateful SIP Proxy <--[SIP over UDP/TCP]--> VoIP provider

    Может конечно случиться что вам повезет и VoIP провайдер держит спецификацию Websocket over SIP, но это вряд ли.
    Т.е. ищите в направлении Stateful SIP Proxy RFC7118.

    Второй вариант - не использовать SIP на стороне браузера и использовать сервер, к которому можно обращаться простыми командами через JS API. Например call() login() answer() и т.д. Т.е. опять же нужен промежуточный сервер, но это уже не Stateful SIP Proxy, а транслятор Js в SIP. Из известных мне рабочих решений: Web Call Server.
    Кроме того есть ряд SAAS решений с RESTful API, где не нужно хостить сервер у себя.

    Кстати, в первом случае кроме Stateful SIP Proxy может потребоваться медиа сервер, например при попытке соединиться с PSTN телефоном по G.729. Этот кодек не поддерживается в WebRTC и соединение без такого сервера не пройдет.
    Ответ написан
    1 комментарий