Выводим "слайдшоу" с интернет-камеры на обои. Голыми руками.

Компьютеры, мобильные устройства, телефоны. Выбор, помощь в покупке.

Выводим "слайдшоу" с интернет-камеры на обои. Голыми руками.

Сообщение #1  DmP » 02 фев 2016, 12:52

Cкучая, накатал мануал. Авось кому пригодится.

Как сделать самообновляющиеся с вебкамеры обои Windows

Вступление

Если осточертел вид из окна или окно отсутствует вовсе, можно найти в интрнете вебкамеру и вывести "слайдшоу" с неё в качестве обоев рабочего стола.

0. Необходимые условия

- Подключение к интернет.
- URL, по которому веб-камера отдаёт картинку
- Права на создание "назначенного задания" в планировщике (обычно есть)
- около 50 Мб дискового пространства

1. Подготовительные операции

1.1 Что необходимо загрузить из интернета

Нужно загрузить две бесплатные опенсорсные программы, хорошо знакомые пользователям linux.

- wget ( http://gnuwin32.sourceforge.net/packages/wget.htm , "binaries")
- ffmpeg (например, http://ffmpeg.zeranoe.com/builds/ )

Не лишними будут также grep,sed,sort,uniq и т.п. из набора gnuwin32 (не забудьте для них необходимые dll из dependencies).

1.2 Создаём папки.

Создаём папку, в которой разместим всё наше "хозяйство", пусть будет, скажем, "d:\tools\wp", далее по тексту "%wphome%".

Создаём папку %wphome%\bin, сохраняем в неё загруженные wget и ffmpeg (и остальное по желанию. Далее эту папку будем называть "%bin%".

2. Настройка

2.1 Настраиваем периодический запуск.

В папке %wphome% создаём текстовый файл "run10min.bat" с содержимым
Код: выделить все
 echo %date% %time%>>"%~dp0runlog.txt"


Если WinXP, создём рядом ярлык "run10min.bat.lnk", ссылающийся на "run10min.bat", в свойстве "окно" указываем "свёрнутое в значок". Если Win7 или серверная, делать это не обязательно, можно указать "выполнять свёрнутым" в настройках задания. Если этого не сделать, будет постоянно вылезать окно с консолью.

Запускаем "run10min.bat" (или ярлык, если XP). Должен появиться "runlog.txt" с текущей датой, никаких окон мелькать не должно.

ВНИМАНИЕ! Дальше инструкция для XP (что в данный момент под рукой). В "семерке" аналогично.

Открываем "панель управления", "назначенные задания", "добавить задание".

Выбираем в качестве программы ("обзор...") наш "run10min.bat" (или "run10min.bat.lnk", если XP).
Выполнять ежедневно
Дата/время - сегодня и сейчас, каждый 1 день
Имя пользователя и пароль - текущий пользователь.

Поставить галку "Установить дополнительные параметры..."
В "дополнительных параметрах" вкладка "Расписание" устанавливаем:
Повторять задание
Каждые 10 минут
В течение 24 часов

Окей, сохраняем задание. правой кнопкой по нему, "выполнить". В файле "runlog.txt" должна появиться текущие дата и время.

Таким образом, получили задание, запускающееся каждые 10 минут.

2.2 Загружаем картинку с веб-камеры и устанавливаем на обои.

В папку %wphome% создаём текстовый файл "getcam.bat" следующего содержания:
Код: выделить все
 set url=http://solovky.ru/webcam.jpg
 
 set bin=%~dp0bin\
 set mytemp=%~dp0temp\
 set now=%TIME:~0,-3%
 set now=%now::=%
 set now=%now:,=%
 set now=%now: =0%
 set nowtime=%DATE:~-4%_%DATE:~3,2%_%DATE:~0,2%_%now%

 set campic=%mytemp%dl\cam_%nowtime%.jpg
 set wppic=%mytemp%wp\wp_%nowtime%.bmp

 md "%mytemp%\dl"
 md "%mytemp%\wp"
 del "%mytemp%\wp\*" /Q
 rem del "%mytemp%\dl\*" /Q
 rem ---------------- Download ------------------
 "%bin%wget" -O "%campic%" "%url%"
 rem ---------------- Set desktop wallpaper ------------------
 "%bin%ffmpeg" -i "%campic%" "%wppic%"
 reg add "HKCU\Control Panel\Desktop" /v Wallpaper /d "%wppic%" /f
 rem 0-center/tile 2-stretch 6-fit 10-fill
 reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /d "2" /f
 rem 0/1 1-tile
 reg add "HKCU\Control Panel\Desktop" /v TileWallpaper /d "0" /f
 RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters ,1 ,True

ВНИМАНИЕ! Если в URL встречаются "&", вставьте перед ними "^"! Это особенность cmd.exe.
Т.е. было "http://camera.com/image.jpg?channel=1&mode=1", должно быть "http://camera.com/image.jpg?channel=1^&mode=1"
Для примера вебкамера на колокольне Валаамского монастыря в правильном формате:
Код: выделить все
 set url=http://streaming.ivideon.com/preview/live?sessionId=demo^&server=100-d22840e56d45d3d56f291f8eda7fd42c^&camera=0^&q=2


Запускаем. Должно произойти следующее:

1) В папке %wphome% создаётся папка "temp" с подпапками "dl" и "wp".
2) В папку "dl" загружается картинка с вебкамеры (картинки будут накапливаться).
Чтобы не накапливались, уберитье "rem" перед "del "%mytemp%\dl\*" /Q".
3) Загруженная картинка конвертируется в .bmp в папке "wp" (старая будет удаляться).
4) Полученный .bmp устанавливается как обои.

При необходимости поменяйте значения в "WallpaperStyle" и "TileWallpaper" на нужные (на текущей машине XP и экран 4:3, поэтому так).

2.3 Соединяем эти части.

Смотрим наш "runlog.txt" из части 2.1, убеждаемся, что в него раз добавляются строчки.
Из "run10min.bat" убираем строку "echo ..." и добавляем строку
Код: выделить все
 call "%~dp0getcam.bat".


Заключение

Штатными средствами (ну, почти штатными :-) ) получили автообновляемые раз в 10 минут обои с накоплением "галереи" для дальнейшего оффлайнового использования. Расход трафика мизерный.
"Бегемот также побуждает людей богохульствовать и сквернословить."

За это сообщение автора DmP поблагодарили - 2:
MarkII, meskart
Аватар пользователя
DmP
Бывалый
Бывалый
Сообщений: 1484
Зарегистрирован: 25 дек 2014, 04:12
Настоящее имя: Дмитрий
Местоположение: Люберцы
Автомобиль: рестайл бензиновый с люком
Регион регистрации авто: 50, 90, 150, 190 Московская область 
Развернуть
Медали: 2
За активность - серебро (1) Золотые руки (1)
Благодарил (а): 147 раз.
Поблагодарили: 162 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #2  meskart » 02 фев 2016, 15:19

Сделал. Работает. Благодарю!
Обязательно в BMP конвертировать?
У меня два монитора - один 4:3 другой 16:9, рабочий стол "растянут" на оба. Есть установка чтобы на широком заполняло весь экран (на 4:3 пусть обрезается при этом)?
Еще - где готовые url картинок с камер разных подсмотреть?
meskart
Активный участник
Активный участник
Сообщений: 132
Зарегистрирован: 12 янв 2015, 21:38
Настоящее имя: Сергей
Местоположение: Москва
Автомобиль: ix35 style 2014
Регион регистрации авто: 77, 97, 99, 177, 199, 197 г. Москва 
День рождения (покупки) авто: 0-11-2014
Развернуть
Благодарил (а): 34 раз.
Поблагодарили: 12 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #3  DmP » 02 фев 2016, 15:47

meskart писал(а):Обязательно в BMP конвертировать?


В целях совместимости - да.

meskart писал(а):Есть установка чтобы на широком заполняло весь экран (на 4:3 пусть обрезается при этом)?

Код: выделить все
rem 0-center/tile 2-stretch 6-fit 10-fill
reg add "HKCU\Control Panel\Desktop" /v WallpaperStyle /d "2" /f

, если Вы про это. "6" и "10" - в "семёрке" и выше. Если не хватает - можно в настройках ffmpeg указать, как масштабировать. Там и масштабирование, и чёрная рамка.

meskart писал(а):Еще - где готовые url картинок с камер разных подсмотреть?

Я смотрю в логах httpfox-а при обновлении страницы либо в момент разблокировки плагина (по дефолту у меня флеш блокируется). Либо читать исходник страницы.

P.S.: если камера не отдаёт jpeg, то вместо

Код: выделить все
wget -O <имя_файла>  <url>

делаем
Код: выделить все
ffmpeg -i <url> <имя_файла>.jpg


ffmpeg скачивает первый кадр потока, конвертирует в .jpg и отваливается с ошибкой на втором кадре (что, собственно, и нужно). Если подскажете, как сделать корректно, буду благодарен. Рейнж для потока оно не понимает.
Код: выделить все
set url=http://195.154.163.4:8083/camera19/h264
%~dp0bin\ffmpeg -i "%url%" test.jpg
"Бегемот также побуждает людей богохульствовать и сквернословить."
Аватар пользователя
DmP
Бывалый
Бывалый
Сообщений: 1484
Зарегистрирован: 25 дек 2014, 04:12
Настоящее имя: Дмитрий
Местоположение: Люберцы
Автомобиль: рестайл бензиновый с люком
Регион регистрации авто: 50, 90, 150, 190 Московская область 
Развернуть
Медали: 2
За активность - серебро (1) Золотые руки (1)
Благодарил (а): 147 раз.
Поблагодарили: 162 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #4  meskart » 02 фев 2016, 15:55

Подсказать - не подскажу... Дилетант я в этом!
Гммм.. Обнаружил что у меня под ХР планировщик не выполняет задание по ярлыку. Вернее выполняет, но своеобразно - ярлык открывается блокнотом, вместо того чтобы исполняться. Я сначала на батник его настроил, но там, понятно, вывод консоли проскакивает, зато все правильно работает. Если непосредственно ярлык щелкать, тоже работает. Почему планировщик так странно его обрабатывает??
meskart
Активный участник
Активный участник
Сообщений: 132
Зарегистрирован: 12 янв 2015, 21:38
Настоящее имя: Сергей
Местоположение: Москва
Автомобиль: ix35 style 2014
Регион регистрации авто: 77, 97, 99, 177, 199, 197 г. Москва 
День рождения (покупки) авто: 0-11-2014
Развернуть
Благодарил (а): 34 раз.
Поблагодарили: 12 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #5  DmP » 02 фев 2016, 16:00

meskart писал(а):Вернее выполняет, но своеобразно - ярлык открывается блокнотом


Вот не могу сказать. Когда создаёте задание, нужно выбрать ярлык. В задании будет строчка без ".lnk", как будто назначен .bat непосредственно.

В "семерке" есть непонятная проблема с путями, если выполняется из-под планировщика, поэтому везде приписано "%~dp0".
"Бегемот также побуждает людей богохульствовать и сквернословить."
Аватар пользователя
DmP
Бывалый
Бывалый
Сообщений: 1484
Зарегистрирован: 25 дек 2014, 04:12
Настоящее имя: Дмитрий
Местоположение: Люберцы
Автомобиль: рестайл бензиновый с люком
Регион регистрации авто: 50, 90, 150, 190 Московская область 
Развернуть
Медали: 2
За активность - серебро (1) Золотые руки (1)
Благодарил (а): 147 раз.
Поблагодарили: 162 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #6  DmP » 03 фев 2016, 11:57

Научился создавать ярлыки из bat файла :-)

Вместо всего, что описано в первом сообщеннии,

1) скачиваем и распаковываем https://yadi.sk/d/bIFatGTPoDH5b
2) запускаем install.bat (чтобы создать задание, спросит пароль от текущего пользователя)
3) пользуемся
4) при необходимости правим /bin/wallpaper_update.bat
5) надоело - запускаем uninstall.bat (удаляет задание) и удаляем скачанные файлы

Проверялось на WinXP.
"Бегемот также побуждает людей богохульствовать и сквернословить."
Аватар пользователя
DmP
Бывалый
Бывалый
Сообщений: 1484
Зарегистрирован: 25 дек 2014, 04:12
Настоящее имя: Дмитрий
Местоположение: Люберцы
Автомобиль: рестайл бензиновый с люком
Регион регистрации авто: 50, 90, 150, 190 Московская область 
Развернуть
Медали: 2
За активность - серебро (1) Золотые руки (1)
Благодарил (а): 147 раз.
Поблагодарили: 162 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #7  meskart » 03 фев 2016, 15:21

Я в реестре покопался - починил файловые ассоциации для .lnk
Теперь задание по ярлыку работает как положено.
Линк на домашнюю веб-камеру настроил - теперь дети под присмотром постоянно :D
meskart
Активный участник
Активный участник
Сообщений: 132
Зарегистрирован: 12 янв 2015, 21:38
Настоящее имя: Сергей
Местоположение: Москва
Автомобиль: ix35 style 2014
Регион регистрации авто: 77, 97, 99, 177, 199, 197 г. Москва 
День рождения (покупки) авто: 0-11-2014
Развернуть
Благодарил (а): 34 раз.
Поблагодарили: 12 раз.

Re: Выводим "слайдшоу" с интернет-камеры на обои. Голыми рук

Сообщение #8  meskart » 03 фев 2016, 15:42

DmP писал(а):1) скачиваем и распаковываем https:


Не хватает там зависимостей - надо в bin докинуть четыре dll-ки. Их по умолчанию нет ни у кого.
meskart
Активный участник
Активный участник
Сообщений: 132
Зарегистрирован: 12 янв 2015, 21:38
Настоящее имя: Сергей
Местоположение: Москва
Автомобиль: ix35 style 2014
Регион регистрации авто: 77, 97, 99, 177, 199, 197 г. Москва 
День рождения (покупки) авто: 0-11-2014
Развернуть
Благодарил (а): 34 раз.
Поблагодарили: 12 раз.


Вернуться в IT, компьютеры и т.п.



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Клуб владельцев Hyundai IX35 (Хендай их35)

Данный портал не является представителем компании Hyundai и выражает мнение группы энтузиастов.
Некоторые положения являются мнением авторов и посетителей сайта и не являются руководством к действию и/или официальными рекомендациями производителя (если это не оговорено в тексте).

Вся информация, содержащаяся на портале, собрана из разных источников.

Вся информация получена из открытых источников, и будет убрана по требованию правообладателя.

Все права на содержимое сайта принадлежат его владельцу и охраняются законодательством.

Следуя рекомендациям сайта Вы должны отдавать себе отчет, что действуете исключительно на свой страх и риск и несете все финансовые и правовые последствия самостоятельно.

Рейтинг@Mail.ru