Немного из серии комьютерного задротства

Oct 25, 2012 10:48

Всё началось с того, что на работе через прокси не захотела работать веб-камера с видом на гору Зелёная. Но ведь сейчас самый сезон в перерывах от работы смотреть на состояние снежного покрова в Шерегеше! «Не порядок!» - подумал я.


Придя домой, я начал понимать, как всё это дело работает.

Chrome Developer Tools вместе с Firebug молчали, как будто ничего об этом потоке и не знали. Всевозможные плагины для скачивания мультимедиа и просмотра заголовков тоже никакой тайны мне не открыли. Ну окей, наверняка, в параметрах Flash проигрывателя, наверняка, есть ссылка на файл или поток. Ссылка-то была, но она оказалась зашифрована. На секунду мне показалось, что это base64, но base64 -d меня изрядно расстроил.

Дальше в бой пошёл мой любимый поисковик. Оказалось, что этот плеер не самостоятельный: у него есть панель управления, в которой вводится ключ, которым шифруются ссылки. Также оказалось, что желающих узнать, с какого же адреса играет тот или иной ролик - уйма. Нашлись даже желающие декомпилировать SWF, понять алгоритм, но их старания были безрезультатны. SWF мне декомпилировать нечем и негде, поэтому этот вариант было решено оставить.

Нашлись даже несколько решений в виде ссылок, работавших когда-то году в 2007-м, например, или скрытых сообщениях на форумах - тех самых сообщениях, для просмотра которых надо написать как минимум 100500 постов в этот же форум. Этот вариант был оставлен.

Оставался единственный вариант - снифить. Wireshark на маке почему-то работать отказался, поэтому пришлось вернуться к истокам и вспомнить про tcpdump. Полтора часа беглого просмотра пакетов ни к чему не привели: ни один из известных мне протоколов не проскакивал. Пришлось идти и подкреплять свои знания в Википедии. Как говорится, век живи - век учись. Был открыт для себя протокол RTMP.

Ещё через час просмотра пакетов и комбинации различных опций tcpdump таки была выловлена часть URI. Ещё через полчаса путём strings, grep, cut, sed, etc была выловлена оставшаяся часть, которая после конкатинации с первой дала ожидаемый результат.

Хорошо, адрес RTMP потока нам известен, что делать дальше? Взять и сконвертировать в flv? Таких возможностей в области входящего траффика провайдер сервера мне не позволит. Компромиссное решение - делать скриншоты.

После беглого поиска была найдена утилита rtmpdump, умеющая превращать RTMP поток в FLV. Дальше всё просто: ffmpeg прекрасно делает скриншоты из видеоотрезка.

Отлично, скриншоты идут мне на почту. Но зачем мне просто получать скриншоты? Я хочу получать радостные письма! Ещё немного поиска и разбирательства с imagemagick - и письма идут мне на почту только тогда, когда в Шерегеше начинается снег. Условие «на картинке идёт снег» - очень сомнительное, конечно, но уже сегодня утром я получил радостное послание :).

Тут для зафаерволенных можно смотреть, что вот прямо сейчас в Шерегеше валит снег. Пора, наверное, готовить оборудование :).

борд, компутерное

Previous post Next post
Up