|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
|
Простая имплементация видео чата08.12.2023, 15:23. Показов 1403. Ответов 16
Метки нет (Все метки)
Доброго времени суток!
Ищу способ реализации видео чата межу двумя wpf приложениями. Пробовал MixedReality-WebRTC, но к сожалению после сборки приложение падает, да и проект уже не поддерживается. WebRTC очень навороченный с кучей тонких настроек. Вроде на SignalR можно запилить видео чат, но потребуется самому снимать и кодировать видео/аудио, в общем нужно разбираться... Прошу совета - есть ли более простое решение с более низким входным порогом?
0
|
|
| 08.12.2023, 15:23 | |
|
Ответы с готовыми решениями:
16
Идеи по созданию видео чата на сервере.
Создание Видео-чата |
|
|
||
| 09.12.2023, 02:15 | ||
|
SignalR -- не более чем прикладная реализация обменами данных, причем с подходом через "дергаем удаленные методы" (очень грубо, так как реальные Remote Methods выглядят всё же иначе). Причем по дефолту там json, что очень раздувает трафик. Я бы сказал что эта либа нужна для случаев когда нужно написать единый подход для разношерстных клиентов: веб-браузер, десктоп, мобилка. По идеи вам нужно смотреть в сторону реализации основанной на UDP-протоколе. Но это в идеале. Если чисто "абы работало" для курсовой/побаловаться... в целом с чем сможете разобраться -- с тем и работайте.
0
|
||
|
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,233
|
|
| 09.12.2023, 05:11 | |
|
Вот он, синдром out-of-box разработчика - дайте мне что-нибудь, чтобы можно было написать очень сложное простым способом.
Не все вещи делаются легко и просто, просто потому что они сложнее остальных по объему работы и логике. Те же пайплайны в машинном обучении - допусти где-нибудь в одном месте небольшую ошибку - все пойдет по одному месту..
0
|
|
|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
||||
| 09.12.2023, 15:59 [ТС] | ||||
|
Конечно, идеально чтобы либа поддерживала работу с разношерстными клиентами. Схема обмена видео потоком [C#/WPF клиент 1] <-> [рутер 1] <-> (интернет) <-> [сигнальный сервер] <-> (интернет) <-> [рутер 2]<->[C#/WPF клиент 2]. Зачем заниматься оверхедом если имеется простое рабочее решение, например простую имплантацию имеет видео стрима файлов. Если нужно разработать коммерческий нагруженный видео сервис, то конечно логично разработать собственную реализацию либы для видео стрима или запилить на WebRTC, но в моем случае требуется простая реализация на базе существующих решений.
0
|
||||
|
|
|||
| 09.12.2023, 23:40 | |||
|
По "есть ли либа": думаю прям единой либы сразу со всем готовым вы наврядли найдете (и с большой вероятностью будет платным). Возможно есть смысл глянуть два момента: - форматирование видео+звука в потоковое. Возможно webp, как на том же ютубе. Если я не ошибаюсь, там сейчас дробят видео отдельно от аудио, что поидеи дает дополнительную гибкость -- всегда можно отрубить один из каналов, не дергая второй. - udp-реализацию передачи данных (в целом примитивную можно написать и самому) сразу скажу: либо я не шарю, либо задача таки не из легких. За пару дней наврядли без практики такое можно реализовать.
0
|
|||
|
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,768
|
|||
| 10.12.2023, 00:03 | |||
|
https://learn.microsoft.com/en... ubprotocol Но только надо предварительно гуглить/тестировать на предмет производительности и качества реализации на конкретной плафтформе/языке. Например, вот:
2
|
|||
|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
||||
| 11.12.2023, 03:04 [ТС] | ||||
|
0
|
||||
|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
||
| 11.12.2023, 18:13 [ТС] | ||
|
P2P подходящий вариант, его применяют некоторые мессенджеры для передачи аудио/видео. С P2P работать не приходилось, пока вникаю в особенности и принцип его работы. Сделал захват, масштабирование и сжатие картинки, после выбора метода доставки можно будет поиграться с элементарным видео стримом) p.s. вообще я несколько удивлен что в сообществе не встретился ни один спец по видео стриму, видимо это коммерческая тема и народ просто не хочет делиться наработками.
0
|
||
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|||
| 12.12.2023, 10:25 | |||
|
и полно реализаций по передачи данных - websocket, protobuf надо только погуглить
0
|
|||
|
548 / 355 / 120
Регистрация: 17.08.2014
Сообщений: 1,351
|
|
| 12.12.2023, 13:04 | |
|
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 12.12.2023, 16:12 | |
|
Andreyip, быстрым гуглением эти, но я не пользовался
https://github.com/CryShana/CryMedia https://github.com/radek-k/FFMediaToolkit
0
|
|
|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
||
| 13.12.2023, 15:25 [ТС] | ||
|
В целом ясно, что формируется буферный видео файл который отдается на стрим, но каким именно образом это происходит хоть через тот же SignalR никак не вкуриваю.
0
|
||
|
|
|
| 13.12.2023, 15:58 | |
|
TcpClient -> Stream
Но это чисто передать и посмотреть на том конце. Как только в сети будет просадка -- пойдет рассинхрон по времени, что с каждым новым подлагивание будет только нарастать. Правда вы всё равно взялись за формат mp4, я не уверен что он позволит начать воспроизведение "с середины", когда нужно будет проскочить пару кадров. Если таки хочется через SignalR -- пилите свой метод Write, который на другом конце будет восприниматься как Read. Главное json не юзайте, а то трафик лопнет.
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 14.12.2023, 09:52 | |
|
armtechnics, лучше использовать grpc, оно умеет и стримы передавать
https://metanit.com/sharp/grpc/2.5.php
1
|
|
|
0 / 0 / 0
Регистрация: 08.10.2017
Сообщений: 23
|
|
| 15.12.2023, 06:02 [ТС] | |
|
0
|
|
|
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
|
|
| 15.12.2023, 09:18 | |
|
armtechnics, Из либы, которая кодировала видео получаете объект Stream и скармливаете его grpc. На другом конце декодируете.
0
|
|
| 15.12.2023, 09:18 | |
|
Помогаю со студенческими работами здесь
17
Создание Видео Чата! Организация видео чата Структура видео-чата в mxml Создание видео чата со случайным собеседником Как создать видео чата с использованием red5 и eclipse? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|