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

- Сообщения: 12256
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Re: camera=on
Обязательно на pi3? Она немного тормозная. И usb3 в pi3 не завезли, а usb2 тоже немного тормозной. Попробуй с тем же сервером, тем же каналом и той же камерой машину пошустрее. Что изменится?
У camera= сейчас только одна опция "camera=raw", т.е. отдавать несжатое. Ещё "debug", но это на картинку не влияет.
У camera= сейчас только одна опция "camera=raw", т.е. отдавать несжатое. Ещё "debug", но это на картинку не влияет.
Re: camera=on
Дело не в 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 но нечего не вышло. Реально разделить?
Вырезка с лога я так понимаю это профили которые передаются хост системе
[ 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 но нечего не вышло. Реально разделить?
Re: camera=on
основная проблема еще в другом, когда я открываю рот на видео это должно быть синхронизировано с речью, джитер должен быть одинаковый, поэтому на камере всегда микрофон. Я пробовал пробрасывать Logitech Headset H390 через virtual here мне не понравилось... - заикания
Re: camera=on
Все равно не понимаю, продолжая мысль об аналогии с обычной камерой. 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."
Интересно на 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
Бывают особенно тупые камеры, которые не умеют MJPG. Втварь тогда будет кодировать. Но здесь MJPG есть, втварь будет только проксировать, не будет изменять картинку.xeon266 писал(а): Чт сен 24, 2026 9:11 am Как у вас написано в инструкции камера сама должна пооддерживать кодирование, софт только проксированием занимается
Хорошая камера, H264 умеет. Давно её покупали?xeon266 писал(а): Чт сен 24, 2026 9:11 am Вырезка с лога я так понимаю это профили которые передаются хост системе
Втварь не умеет проксировать H264. Потому что в дешевых камерах его не бывает, и мне видится ненормальной ситуация, когда камера стоит дороже компьютера, как у вас с С920 и третьей малиной. В отзывах пишут, что и в недавно купленных С920 H264 больше нет.
Тестером это хорошо.xeon266 писал(а): Чт сен 24, 2026 9:11 am Короче пока решение найдено - virtualhere, yandex телемост не глючит, а это уровень еще ниже и требует больше затрат, вывод проблема у вас, если готовы поразбивать могу быть тестером.
Первое: Хорошо бы взять камеру попроще.
Второе: хочу полный лог втвари. Свежая версия втвари, убрать лишнее из конфига, включить camera=on, подключиться к виндовсу, запустить телемост на пару минут, убедиться что тормоза есть, снять лог.
Третье: достать езернетный провод из малины, воткнуть в машину с виндовсом. Пожалуйста не надо одинаковых настроек, надо тот самый провод. Подключить к виндовсу ту же камеру. Запустить mstsc.exe, убрать все галки в "Local devices and resources", включить одну единственную галку "Video capture devices" и вторую галку возле камеры. Подключиться к тому же серверу тем е пользователем. Убедиться, что тормоза пропали.
Нереально. virtualhere не согласится перенаправлять отдельные интерфейсы, у неё нет таких настроек.xeon266 писал(а): Чт сен 24, 2026 9:11 am Когда я пробрасываю камеру через virtualhere мне надо взять микрофон с нее (не факт что взлетит без косяков -от реализации драйвера зависит ), я попытался написать microphone = remote но нечего не вышло. Реально разделить?
-
aka
- Разработчик

- Сообщения: 12256
- Зарегистрирован: Ср окт 01, 2003 12:06 am
- Откуда: Роcсия, Тольятти
- Контактная информация:
Re: camera=on
А с сетью всё хорошо? Запустите из под втвари втваревый конфигуратор. Вверху слева кнопка с гаечным ключом, в списке утилит "проверка скорости". Сколько намеряет? Конфигуратор надо запускать именно под втварью, не под втварью такого пункта в списке не будет.xeon266 писал(а): Чт сен 24, 2026 6:23 pm И вот тут я наткнулся на спам (большое множество сообщений) в виде "Сбой операции WRITE TCP-сокета, ошибка 121", ошибка 143, Модуль Remote FX - это может быть оно?
Чтобы отдавать raw, надо в конфиге писать camera=raw. Тогда втварь возьмёт raw c камеры (1920x1080x25 кадров в raw в USB2 не пролезет!) и отдаст его на сервер не изменяя.xeon266 писал(а): Чт сен 24, 2026 6:23 pm И еще в 82 версии точно не RAW всегда - может баг есть у вас? Начал читать - вот это что такое Video Capture Redirection ?
Если в конфиге написано camera=on, втварь возьмёт у камеры MJPEG.
"Remote FX" - это коммерческий термин, не технический. Вот майкрософтовая документация, по которой написано перенаправление камеры через RDP в втвари:xeon266 писал(а): Чт сен 24, 2026 6:23 pm и причет тут модуль Remote FX с сообщением "Между сервером и клиентом подключен канал RDCamera_Device_Enumerator через транспортный туннель 1."
https://winprotocoldoc.z19.web.core.win ... CAM%5d.pdf
В документации про перенаправление камеры нет слова "remote fx". Перенаправление камеры в RDP сделано через отдельный канал, в случае втвари - в нём от камеры передаётся MJPEG. MJPEG последовательность никак друг с другом не связанных JPEG картинок.