2 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 23
|
|
1 | |
Трансляция изображения рабочего стола на сервер (сайт)21.01.2013, 11:53. Показов 13170. Ответов 36
Метки нет (Все метки)
Всем привет.
Есть задача, разработать приложения (VS 2010 С++) для трансляции изображения рабочего стола на сервер (сайт). С серверной частью на php зная входящий формат данных я думаю разберусь, а вот с клиентской, прошу помощи... Кто что может посоветовать? С чего начать? (понимаю, что на данную тему, типа клиент - сервер информации моря но не чего конкретного найти не удалось, поэтому прошу отнестись с пониманием и не тыкать носом в поиск, спасибо)
0
|
21.01.2013, 11:53 | |
Ответы с готовыми решениями:
36
Удалённый просмотр рабочего стола (клиент-сервер) Трансляция рабочего стола в интернет Прямая трансляция с рабочего стола на сайте Видео-трансляция как фон рабочего стола Windows |
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
21.01.2013, 12:50 | 2 |
вот тут сервер раздающий рабочий стол http://alphacity.netii.net/tree/prjs-web.htm
Добавлено через 1 минуту на ваш сайт можно наверное через фрейм вывалить.
0
|
2 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 23
|
|
21.01.2013, 13:13 [ТС] | 3 |
Спасибо. Это именно то что я хочу организовать. Но увы проект на Borland C++ Builder 6 (не когда с ним не работал), попробую конечно разобраться с функционалом принципами работы. Дело в том что разрабатываемое приложение не ограничивается функцией трансляции РС и большинство функций уже организовано и работает в проекте VS 2010 С++.
Тема по прежнему открыта.
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
21.01.2013, 15:07 | 4 |
там в MSVS переправить - пару абсолютно некритичных специфичных для BCPP функций наподобие ChangeFileExt заменить на аналоги. на днях портировал простой сервер под Linux - реально всего пару функций пришлось поправить.
Добавлено через 1 минуту ...это вообще мой серв, хотите попробую для вас вышвырнуть VCL-специфику
0
|
2 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 23
|
|
21.01.2013, 22:29 [ТС] | 5 |
если вас это не затруднит, буду признателен... а завтра постараюсь взяться за ваш серв посерьёзней, сегодня провёл весь день в поисках чего-то подобного, увы нечего стоящего не нашёл.. я так понял вы его с нуля писали?
Добавлено через 2 часа 57 минут Дополнение: Захват полного рабочего стола (тоесть, что пользователь видит на дисплее то и транслируется на сервер), в том числе и динамические приложения типа: видео, игры и т.п. С возможностью регулировки формата и разрешения получаемой картинки, так же по возможности минимизировать(сжать) исходящие пакеты таким образом чтобы при приёме на php (части сервера) их можно было восстановить в исходное состояние. Приложение без интерфейса, консольного типа с рабочим процессом в фоновом режиме. Предположительная(моя дилетантская :blush: ) структуры будущей программы: Циклически совершаем скриншоты экрана с периодичностью равной времени выгрузки одного скриншота, таким образом добиваемся потоковой передачи. Для передачи предположительно планирую воспользоваться WinInet метод (GET) по протоколу http с имитацией передачи "через форму". По поводу дополнительных возможностей типа: сжатие, и обработка изображений даже предположить не могу .. ******************** Возможно я сейчас сморозил глупость и всё это делается совершенно по другому :-? , с удовольствием рассмотрю любую предложенную версию...
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
22.01.2013, 02:10 | 6 |
да
так и работает - делает снимки и отдает их при получении GET запроса от скрипта работающего на странице. разрешение и качество задаются в параметрах запроса. это я не понял. отдается JPEG по идее даже если сжимать трафик ничего не выиграть. --- ковырнул программу - самое нудное место - это когда придется средствами WinAPI создавать BMP и потом средствами FreeImage сохранять его в памяти в формате JPEG. остальное все тривиально.
0
|
2 / 2 / 0
Регистрация: 19.04.2011
Сообщений: 23
|
||||||
22.01.2013, 23:15 [ТС] | 7 | |||||
Вот что получилось: (пока только скриншоты)
1.Уменьшение размера скриншота (строки 30-35) хотелось бы обрабатывать фаил до его сохранения.. а то так их 2 получается до и после. 2.Есть маленькая утечка памяти поймать не удалось.. 3.на скринах нет мыши... 4.кодировщик jpeg слишком качество уменьшает спасибо.
1
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
23.01.2013, 10:53 | 8 |
неплохая работа. я сам пока с отверткой пыхтел вокруг BITMAP вспотел весь. сегодня победил. по ссылке выложена адаптация не привязанная к VCL http://alphacity.netii.net/tree/prjs-web.htm (desktop preview win)
Добавлено через 8 часов 31 минуту ...немного подправил код. теперь на выбор можно собирать консоль или "стелс" Добавлено через 9 минут мб нет вызова DeleteObject для битмапа + для контекста нужен DeleteDC вместо DeleteObject Добавлено через 14 минут ... ну и вызов SelectObject(memdc, hOldBitmap) после удаления контекста выглядит как то неправильно Добавлено через 21 минуту в моем проекте так и делается - все в памяти мб его как нибудь настроить... у меня в явной форме задается качество от 1 до 100% вот тут честно говоря не знаю даже что предпринять.... снимки экрана штампуют собственно экран. как показать мышь... если по-извращенному - мб запросить координаты мыши и текущий курсор и нарисовать его на снимке..
1
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
||||||
23.01.2013, 11:11 | 10 | |||||
...ну да, так и есть. добавить после BitBlt
в смысле? а как быть с другими? в HTML5 тоже достаточно VIDEO или чего там для того что бы "все было в шоколаде"
1
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
23.01.2013, 12:04 | 12 |
снова не понял. я же не для поговорить спрашиваю. компонента в VCL что ли есть для таких вещей? или VCL = API. что значит фраза?
да, я тоже воодушевился флеш, навоял на AS3 скрипт который бы делал двойную буферизацию принимаемых снимков и после этого выяснил что мой "супер-дупер" телефон тупо показывает значок шоквэйв вместо флешек на странице... поэтому съехал на понимаемые даже кофеваркой методы
0
|
23.01.2013, 12:22 | 13 |
...у меня тег IMG позволяет смотреть даже недобраузером нокии 6230.
http://www.videolan.org/vlc/
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
23.01.2013, 12:54 | 14 |
о. понял, я сглупил. это вы в смысле: через VLC раздавать MJPEG.
сам тег IMG распознается практически всеми устройствами - у меня серв на нем и сделан. только мне приходится его обновлять... не могли бы вы привести пример как вы смотрите через этот тег видео которое вещается в формате MJPEG?
0
|
23.01.2013, 13:52 | 15 | |||||
...просто вставляю ссылку вещания в MJPEG-потоке между тегами IMG и смотрю в Firefox видео, в опере такой финт разумеется не катит (она бесконечно подгружает и отображает первый кадр).
Если же грузить (обновлять), скажем на FTP хостинге сайта, просто картинку, то ее обновление для визуализации можно осуществить простейшим скриптом автообновления (как это я делал при трансляции WEB-камеры себе на сайт своей утилитой):
(сейчас ничего не транслируется) Добавлено через 5 минут
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
23.01.2013, 14:22 | 16 |
как она выглядит? стандартный тег IMG подразумевает просто ссылку на рисунок. у ссылки на вещание какой-то свой формат? или фокс телепатически чует что там постоянно обновляющаяся картина?
да, по сути примерно так и делаю. правда у меня там обвес всего этого дела в виде задания частоты смены кадров, подгонки отображаемого рисунка под экран с сохранением пропорций и центрированием, задания качества рисунка и фактически отображаемого размера в запросе с целью снизить трафик. Добавлено через 2 минуты ...кстати в начале хотел отдавать картину из файла который постоянно обновляла другая программа, но были глюки когда две программы начинали рвать друг у друга файлы - на сайт приходили битые картины. а у вас как умудряется работать? проги лочат друг друга каким-то образом?
0
|
23.01.2013, 15:24 | 17 |
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
23.01.2013, 15:35 | 18 |
а зачем тогда через файл гнать? отдавать картину из памяти... с MJPEG попробую, если честно шокирован..
0
|
Модератор
3386 / 2158 / 352
Регистрация: 13.01.2012
Сообщений: 8,375
|
|
24.01.2013, 09:59 | 20 |
попробовал. дома с сетевой камерой не вышло: она может отдавать только через RTSP, а IMG забирает только через HTTP. почитал http://habrahabr.ru/post/115808/ да, действительно можно таким образом отдавать картины, интересная штука.
преимущество: на странице нужен код в одну строку. если конечно браузер понимает MIME multipart/x-mixed-replace. недостаток: нельзя менять частоту кадров, разрешение и качество (если сервер поддерживает указание этих параметров в запросе) без разрыва соединения. еще немного не нравиться что сервер постоянно отдает. до тех пор пока я не прочел о том, как он отдает я себе нафантазировал, что вместе с MIME приходит время до готовности следующего кадра и браузер через это время делает повторный запрос. хотя постоянная отдача - не криминал, мы же вещаем. наверное тоже прикручу к своему серверу эту фишку.
0
|
24.01.2013, 09:59 | |
24.01.2013, 09:59 | |
Помогаю со студенческими работами здесь
20
Изменение изображения рабочего стола Обработка изображения рабочего стола Смена изображения рабочего стола Положение изображения фона рабочего стола Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |