Как по RDP пробросить СЖАТЫЙ видеопоток с Windows 7 на Windows 7 с рендером на клиенте?
Добрый день!
Есть машина с Windows 7 Pro 64 bit Rus - "сервер". К ней по штатному RDP подключается "клиент" с Windows 7 Advanced Home 64 bit Rus. Требуется организовать передачу сжатого видео с "сервера" на "клиент", чтобы оно разжималось уже на клиенте. (Нужно визуально проводить контроль работы кодека, поэтому грабилки экрана здесь не подходят.) Например, фальшивый кодек по принципу ThinPrint.
На Win 10 перейти не предлагать.
Или какую-то программу удалённого администрирования, которая:
1) не портит визуально текст
2) пробрасывает видео, как указано
3) поддерживает несколько десктопов и окошко UAC, как штатный RDP.
Да никак.
То, что вы хотите - это просто передача конкретного видеофайла, или видеострима уже не с этой машины, а с оригинального источника.
А так, как вы себе это представляете? Чтобы посмотреть кусок видео - его нужно "разжать". Передать кусок сжатого видео - ну без пережатия - опять же никак.
Тут просто логика.
Вам вместо RDP, просто нужно подключаться к диску, где лежит видео и качать файл в оригинале. И уже смотреть его на клиенте. Или напрямую подключаться туда, откуда его берет сервер.
Логика здесь простая:
1. Сам RDP пробрасывает GDI-команды, почему бы не пробросить сжатое видео аналогично?
2. Аналогичный вопрос решал ThinPrint.
3. В клиенте для Win 10, если я не ошибаюсь, есть опция "Рендерить видео на клиенте", а значит, есть шанс, что до Win 10 была аналогичная примочка от сторонних производителей по аналогии с MemMaker & Stacker & NDD & SpeedDisk в DOS 6, ZipFolders в WinME, запись компакт-дисков в WinXP. К сожалению, пока мне только попалась израильская разработка, кторая лишь выбрасывает "лишние" кадры, чтобы воспроизведение было в реальном времени.
4. Это нужно не только мне, а значит, есть шанс, что кто-то это уже сделал.
> подключаться к диску, где лежит видео и качать файл в оригинале. И уже смотреть его на клиенте. Или напрямую подключаться туда, откуда его берет сервер.
Да так и делаю. Только ломает настраивать и синхронизировать всё по второму разу. Приходится прыгать из терминала на локальный компьютер и обратно. Концепция настроенного рабочего места, доступного отовсюду, летит к чертям :(((((((
1. GDI это часть виндового интерфейса. Там идет просто рендеринг а не декодирование. Нагрузка там небольшая. И сжимать или разжимать не нужно - ведь передать GDI для отрисовки текста или передать текст картинкой - это сразу разные вещи, и логично передавать командами то, что изначально занимает меньше текста, и нагрузку создает небольшую.
2. А вот любое видео - никак не интерфейс винды, и никаких команд там нет.
Например открыл ты локальный файл на хосте в VLC, как клиент его должен проигрывать? Микшировать? Перемотку делать? Декодировать и там и там, чтобы отслеживать ключевые кадры?
Или открыл ты браузер в ютубе, уже никак оригинального видео не будет, только то, что ютуб передает, как это из браузера взять? Лезть в его потроха или https сессию ломать?
Или в видеоредакторе что-то правишь - там вообще какой кодек для временного видео?
Как я понимаю, то, что сделали в последнем клиенте - просто поменяли способ кодирования видео на h264, чтобы снизить нагрузку за счет того, что h264 в отличие от проприетарного кодека, хорошо поддерживается аппаратно. И то, там какие-то проприетарные оптимизации оставили. Этим достигли уменьшения нагрузки, ну а размер в h264 в принципе сам по себе оказался меньше того, что было раньше, особенно на высоких разрешениях.
> А вот любое видео - никак не интерфейс винды, и никаких команд там нет.
Ещё как есть. В старину MCI называлось, теперь наверняка по-другому, но суть одна.
> Например открыл ты локальный файл на хосте в VLC, как клиент его должен проигрывать?
Плеер на сервере взаимодействует с фальшивым кодеком, тот посылает данные посреднику, тот обращается к настоящему, как будто он и есть легитимный плеер. ThinPrint так и работает - прикидывается на сервере драйвером, на клиенте обычным приложением, которое хочет печатать.
> Или открыл ты браузер в ютубе, уже никак оригинального видео не будет
Ещё как будет. С точки зрения Винды браузер в этом случае такой же плеер и играет он через системный же кодек. Ну, можно конечно, на IE6+ActiveX самопальный декодер сделать, пусть BitBlt делает или хоть сразу в видеопамять пишет.
> как это из браузера взять? Лезть в его потроха или https сессию ломать?
Да элементарно. Можно сделать plug-in. Все эти файлы прекрасно видны по F12. Можно кидать URL'ы с заголовками/куками или, если есть привязка к IP, сами файлы и играть их чем-то самопальным или рестримить. Но это уже будет колхоз, от которого я как раз и хочу избавиться
> Или в видеоредакторе что-то правишь
Вот там проблемы будут, согласен.
> Как я понимаю, то, что сделали в последнем клиенте - просто поменяли способ кодирования видео на h264,
Это вряд ли. h264 работает с задержкой, к тому же визитная карточка грабилки экрана в видео - мыльный или вырвиглазный текст, квадратит при переключении окон. Да и нагрузка на сервер будет дай Боже. Для одного пользователя ещё можно видеоплату задействовать, а для двадцати?