camera=on

Всё про WTware на компьютере Raspberry Pi 2 Model B, и Pi 3 Model B и Pi 3B+
http://winterminal.com/ru/
Ответить
xeon266
Сообщения: 100
Зарегистрирован: Пн мар 20, 2023 2:18 pm

camera=on

Сообщение xeon266 »

Есть веб камера Logitech C920, пробрасываю стандартно camera=on, есть беда - изображение сыпется в кубики когда что-то меняется, думал проблема в ширине канала, переключился на локальную сеть (между клиентм и хост машиной - 100 м/бит) также история. Переключился в raw, таже ерунда. Из интересного 640x480, локальная сеть, 2 fps не сыпаться

Для теста использую pi3

Вопрос: у camera=on есть какие-то еще вкусные опции чтоб поиграться?
aka
Разработчик
Разработчик
Сообщения: 12256
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: camera=on

Сообщение aka »

Обязательно на pi3? Она немного тормозная. И usb3 в pi3 не завезли, а usb2 тоже немного тормозной. Попробуй с тем же сервером, тем же каналом и той же камерой машину пошустрее. Что изменится?

У camera= сейчас только одна опция "camera=raw", т.е. отдавать несжатое. Ещё "debug", но это на картинку не влияет.
xeon266
Сообщения: 100
Зарегистрирован: Пн мар 20, 2023 2:18 pm

Re: camera=on

Сообщение xeon266 »

Дело не в PI вообще, в данном случае пробовал Pi3,PI4,PI5. Как у вас написано в инструкции камера сама должна пооддерживать кодирование, софт только проксированием занимается (как это делают видео регистраторы для консолей оператора для потоков D1), а хост система как я понимаю указывает во что камера должна кодировать поток.

Вырезка с лога я так понимаю это профили которые передаются хост системе
[ rdpclient 984] [ 50.717745] [ECAM] H264 1600x896, 24 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717773] [ECAM] H264 1600x896, 20 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717801] [ECAM] H264 1600x896, 15 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717829] [ECAM] H264 1600x896, 10 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717856] [ECAM] H264 1600x896, frame rate 15/2 DecodingRequired.
[ rdpclient 984] [ 50.717884] [ECAM] H264 1600x896, 5 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717912] [ECAM] H264 1920x1080, 30 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717940] [ECAM] H264 1920x1080, 24 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717968] [ECAM] H264 1920x1080, 20 frames per second DecodingRequired.
[ rdpclient 984] [ 50.717996] [ECAM] H264 1920x1080, 15 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718024] [ECAM] H264 1920x1080, 10 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718052] [ECAM] H264 1920x1080, frame rate 15/2 DecodingRequired.
[ rdpclient 984] [ 50.718080] [ECAM] H264 1920x1080, 5 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718108] [ECAM] MJPG 640x480, 30 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718135] [ECAM] MJPG 640x480, 24 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718163] [ECAM] MJPG 640x480, 20 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718191] [ECAM] MJPG 640x480, 15 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718219] [ECAM] MJPG 640x480, 10 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718247] [ECAM] MJPG 640x480, frame rate 15/2 DecodingRequired.
[ rdpclient 984] [ 50.718274] [ECAM] MJPG 640x480, 5 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718302] [ECAM] MJPG 160x90, 30 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718330] [ECAM] MJPG 160x90, 24 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718359] [ECAM] MJPG 160x90, 20 frames per second DecodingRequired.
[ rdpclient 984] [ 50.718386] [ECAM] MJPG 160x90, 15 frames per second DecodingRequired.

Короче пока решение найдено - virtualhere, yandex телемост не глючит, а это уровень еще ниже и требует больше затрат, вывод проблема у вас, если готовы поразбивать могу быть тестером.
Но ту возникла другая проблема микрофон.. если брать PI5 то как мы с вами обсуждали, там нет развязки и многие устройства дают фон, решение полностью цифра – для примера я предложил донгл BTD 600, но все это не дешево и иногда хочется использовать старое оборудование
Можно указать проброс микрофона и звука и это работает, например
sound=plug,hw:0:0
microphone=on, hw:2:0
тогда если camera=on, голос будет с камеры, а звук в монитор по hdmi.
Когда я пробрасываю камеру через virtualhere мне надо взять микрофон с нее (не факт что взлетит без косяков -от реализации драйвера зависит ), я попытался написать microphone = remote но нечего не вышло. Реально разделить?
xeon266
Сообщения: 100
Зарегистрирован: Пн мар 20, 2023 2:18 pm

Re: camera=on

Сообщение xeon266 »

основная проблема еще в другом, когда я открываю рот на видео это должно быть синхронизировано с речью, джитер должен быть одинаковый, поэтому на камере всегда микрофон. Я пробовал пробрасывать Logitech Headset H390 через virtual here мне не понравилось... - заикания
xeon266
Сообщения: 100
Зарегистрирован: Пн мар 20, 2023 2:18 pm

Re: camera=on

Сообщение xeon266 »

Все равно не понимаю, продолжая мысль об аналогии с обычной камерой. web камера это тот же декодер, только если настройками обычной камеры управляют через общий ONVIF или фирменный протокол (типа HikVision) то очевидно настройками web камеры тоже управляет некий унифицированный протокол в рамках RDP. Подобно как камера засовывает сжатое видео в rstp тоже самое куда-то засовывается в рамках RDP соединения и в теории это даже может зависеть от graphic=af,disable-h264-fullscreen.

Интересно на 3389 есть UPD есть TCP. Мы недавно выяснили что ваш клиент обрезан и не умеет в тот же пайплайн видео (disable-h264-fullscreen) отдельно пихать потоки h264 с того же браузера. Посмотрел журнал, с тех пор ниче не поменялось - Мультитранспортное подключение закончено для туннеля: 1, задан тип транспорта: TCP: Reason Code: 1 (No Client UDP Support).

Для моей клиентской машине под Windows 10 сервере выдает так - Мультитранспортное подключение закончено для туннеля: 1, задан тип транспорта: UDP.

И вот тут я наткнулся на спам (большое множество сообщений) в виде "Сбой операции WRITE TCP-сокета, ошибка 121", ошибка 143, Модуль Remote FX - это может быть оно? Сначала изображение получает засветку, затем шлейфу при движении и рассыпается кубиками, как будто качаешь торрент видео и решил взглянуть не докачав, т.е. например не совместимость версий протокола RemoteFX

Я сегодня специально собрал virtualhere на базе Pi3 (правда без TLS) - Спокойно все пашет в yandex телемост, USB2 тут не причем.

И еще в 82 версии точно не RAW всегда - может баг есть у вас? Начал читать - вот это что такое Video Capture Redirection ? и причет тут модуль Remote FX с сообщением "Между сервером и клиентом подключен канал RDCamera_Device_Enumerator через транспортный туннель 1."
aka
Разработчик
Разработчик
Сообщения: 12256
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: camera=on

Сообщение aka »

xeon266 писал(а): Чт сен 24, 2026 9:11 am Как у вас написано в инструкции камера сама должна пооддерживать кодирование, софт только проксированием занимается
Бывают особенно тупые камеры, которые не умеют MJPG. Втварь тогда будет кодировать. Но здесь MJPG есть, втварь будет только проксировать, не будет изменять картинку.
xeon266 писал(а): Чт сен 24, 2026 9:11 am Вырезка с лога я так понимаю это профили которые передаются хост системе
Хорошая камера, H264 умеет. Давно её покупали?

Втварь не умеет проксировать H264. Потому что в дешевых камерах его не бывает, и мне видится ненормальной ситуация, когда камера стоит дороже компьютера, как у вас с С920 и третьей малиной. В отзывах пишут, что и в недавно купленных С920 H264 больше нет.
xeon266 писал(а): Чт сен 24, 2026 9:11 am Короче пока решение найдено - virtualhere, yandex телемост не глючит, а это уровень еще ниже и требует больше затрат, вывод проблема у вас, если готовы поразбивать могу быть тестером.
Тестером это хорошо.

Первое: Хорошо бы взять камеру попроще.

Второе: хочу полный лог втвари. Свежая версия втвари, убрать лишнее из конфига, включить camera=on, подключиться к виндовсу, запустить телемост на пару минут, убедиться что тормоза есть, снять лог.

Третье: достать езернетный провод из малины, воткнуть в машину с виндовсом. Пожалуйста не надо одинаковых настроек, надо тот самый провод. Подключить к виндовсу ту же камеру. Запустить mstsc.exe, убрать все галки в "Local devices and resources", включить одну единственную галку "Video capture devices" и вторую галку возле камеры. Подключиться к тому же серверу тем е пользователем. Убедиться, что тормоза пропали.
xeon266 писал(а): Чт сен 24, 2026 9:11 am Когда я пробрасываю камеру через virtualhere мне надо взять микрофон с нее (не факт что взлетит без косяков -от реализации драйвера зависит ), я попытался написать microphone = remote но нечего не вышло. Реально разделить?
Нереально. virtualhere не согласится перенаправлять отдельные интерфейсы, у неё нет таких настроек.
aka
Разработчик
Разработчик
Сообщения: 12256
Зарегистрирован: Ср окт 01, 2003 12:06 am
Откуда: Роcсия, Тольятти
Контактная информация:

Re: camera=on

Сообщение aka »

xeon266 писал(а): Чт сен 24, 2026 6:23 pm И вот тут я наткнулся на спам (большое множество сообщений) в виде "Сбой операции WRITE TCP-сокета, ошибка 121", ошибка 143, Модуль Remote FX - это может быть оно?
А с сетью всё хорошо? Запустите из под втвари втваревый конфигуратор. Вверху слева кнопка с гаечным ключом, в списке утилит "проверка скорости". Сколько намеряет? Конфигуратор надо запускать именно под втварью, не под втварью такого пункта в списке не будет.
xeon266 писал(а): Чт сен 24, 2026 6:23 pm И еще в 82 версии точно не RAW всегда - может баг есть у вас? Начал читать - вот это что такое Video Capture Redirection ?
Чтобы отдавать raw, надо в конфиге писать camera=raw. Тогда втварь возьмёт raw c камеры (1920x1080x25 кадров в raw в USB2 не пролезет!) и отдаст его на сервер не изменяя.

Если в конфиге написано camera=on, втварь возьмёт у камеры MJPEG.
xeon266 писал(а): Чт сен 24, 2026 6:23 pm и причет тут модуль Remote FX с сообщением "Между сервером и клиентом подключен канал RDCamera_Device_Enumerator через транспортный туннель 1."
"Remote FX" - это коммерческий термин, не технический. Вот майкрософтовая документация, по которой написано перенаправление камеры через RDP в втвари:

https://winprotocoldoc.z19.web.core.win ... CAM%5d.pdf

В документации про перенаправление камеры нет слова "remote fx". Перенаправление камеры в RDP сделано через отдельный канал, в случае втвари - в нём от камеры передаётся MJPEG. MJPEG последовательность никак друг с другом не связанных JPEG картинок.
Ответить

Вернуться в «WTware на Raspberry Pi»