LINUX.ORG.RU

Рассуждения про WebRTC на C/C++

 ,


0

4

Приветствую.

Пока на берегу рассудите меня все таки - начал потихоньку втаскивать это чудище в свой проект по записи архивов на soc, для такой же распределенной трансляции в первом пределе только как p2p. За базу беру libnice и libav, примером использую код Janus.

Но вот уже на который техсобес хожу в работающие проекты - ну как бэ НИКТО такой «ерундой» не занимается, старый rtsp или подобное, сегодня так рассказали как все это дело еще и инкапсулируют в свой протокол чтоб от vpn уйти… Разрабы из OpenIPC говорят тяжёлый он и не будут они его на камерах внедрять…

Нет в вакансиях в новые проекты смотрю бывает указывают, но как исключение как будто!?

★★★

Его преимущества в первую очередь в том, что встроен в браузеры и есть на всех платформах. Но тяжёлый и не производительный и не супер высокое качество видео.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

А в чем тяжесть то вся!? Все же стандартное используется… Ну в 16мб бинарник на камеру может и не влезет, хотя наверное могут же и с 0 если делать утрамбовать

wolverin ★★★
() автор топика
Ответ на: комментарий от anonymous

Почему не хотят то? Ведь скопом решается куча вопросов без своих велосипедов. Трансляция на облачные диски, в телегу, ютубу - зачем вообще это все!? Открыл в браузере и вот оно все есть, делай дальше шо хошь, чего я не понимаю на старте!?

wolverin ★★★
() автор топика
Последнее исправление: wolverin (всего исправлений: 1)
Ответ на: комментарий от wolverin

это вы какую то свою локальную задачу решаете, да?

а у бизнеса другое видения процесса

к тому же голый webrtc в броузере не работает

нужен веб сервер и js скрипты

а вот собрать другим протоколом все с камер на облако

и потом уже как хочешь отдавай с облака, это более рациональный вариант

anonymous
()
Ответ на: комментарий от anonymous

нужен веб сервер

Не нужен, обмен sdp через брокер.

Да понять не является ли моя локальная задача изначально тупиком, потому что традиционно делают не так )

wolverin ★★★
() автор топика
Ответ на: комментарий от anonymous

js скрипты

Это вот да беспокоит в части безопасности отдаваемого на клиента кода в рамках построения p2p (

wolverin ★★★
() автор топика
Последнее исправление: wolverin (всего исправлений: 1)
Ответ на: комментарий от wolverin

Типа в стандартные вещи он умеет и так, а для нестандартных можно допилить свой модуль и научить.

Ну и там разработчик был весьма респонсив, ну лет 10 назад по крайней мере.

откусить

это кому как проще, кому откусить, кому допилить.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 3)
Ответ на: комментарий от wolverin

Открыл в браузере

Браузер не нужен. Надо чтобы в приложении было. И если в ios и андроиде оно поддерживается, то как оно с какими-нибудь телевизорами непонятно

cobold ★★★★★
()
Ответ на: комментарий от wolverin

Я сталкивался по с сабжем только в проектах, которые юзали его в составе движка хромиума. В этом случае он конечно не мал, так сказать. Ещё движок js тянется. А вот можно ли его юзать как нативную либо в составе c++ приложения - хз. Если кто знает - расскажите.

rumgot ★★★★★
()

Предлагаю посмотреть

https://webrtchacks.com/webrtc-plumbing-with-gstreamer/

Сигналинг

To simplify WebRTC pipeline development, GStreamer includes signaling integrations for a number WebRTC services:

  • AWS Kinesis Video Streams – our first external signaling implementation targets AWS’ Kinesis Video Streams, which supports webrtcsink functionality for streaming from GStreamer into AWS.
  • LiveKit – A signaller for LiveKit supports both webrtcsink and webrtcsrc roles, with a draft merge request in place for enabling simulcast with the LiveKit SFU.
  • Janus VideoRoom – The signaller for Janus’ VideoRoom supports webrtcsink functionality, and there is a draft upstream merge request to include webrtcsrc support.
  • WHIP – A signaller for the new general WHIP signaling specification is available, allowing both client and server use with whipserversrc and whipclientsink.
  • WHEP – Two draft merge requests for WHEP signaling cover client and server implementations. This topic remains a work in progress within GStreamer.

Запуск в духе

gst-launch-1.0 -v \
  videotestsrc ! video/x-raw,width=640,height=480,framerate=30/1 ! \
  webrtcsink stun-server=stun://stun.l.google.com:19302 signaller::uri=ws://<your-signaling-server>:8443

Как подружить gstreamer webrtc с c++ можно посмотреть здесь

https://github.com/Nheko-Reborn/nheko/blob/master/src/voip/WebRTCSession.cpp

imatveev13
()