wingblack

wingblack

На Пикабу
Дата рождения: 27 июля 1986
поставил 9386 плюсов и 9185 минусов
отредактировал 43 поста
проголосовал за 69 редактирований
Награды:
За неравнодушие к судьбе Пикабу Взять и собраться: вернем Пятничное [мое]! За победу в продуктовом сёрфинге 5 лет на Пикабу
112К рейтинг 197 подписчиков 228 подписок 103 поста 28 в горячем

Астротрекер своими руками

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Чтобы фотографировать звезды и "объекты глубокого космоса" (галактики, туманности и т.п.) не обязательно иметь телескоп (хоть и желательно) и прочее не дешевое оборудование.

Достаточно иметь фотоаппарат с возможностью выставить ручную выдержку, и желательно с светосильным объективом, для съемки небольших объектов понадобится теле-объектив.


На длинной выдержке вам также понадобится и астро-трекер.

А как его сделать самостоятельно я и расскажу.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Данный вид самодельного трекера называется Barn Door Tracker, существует несколько наиболее известных вариантов

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Данные конструкции позволяют поворачивать доску(синяя) на которой крепится фотоаппарат так, чтобы фотоаппарат поворачивался также, как вращается звездное небо.


Я думаю, что лучше всего выбрать вариант представленный на следующей картинке.

В отличие от остальных - непосредственно сама конструкция не вносит погрешности в наведении при постоянной скорости сдвига шпильки, а математика расчетов достаточно проста, и тут все упрется в кривизну рук.

В данном файле Excel я привел свои расчеты которые вы можете использовать

https://yadi.sk/i/lpIz-9rz3NJip7

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Типичное исполнение таково - берется две доски одинаковой длинны.

С одного конца они соединяются дверным навесом.

С другой стороны по центру делается сквозное отверстие для штильки через обе доски.

Отмеривается расстояние R между центром оси навеса и центром отверстия для шпильки.

Берется шпилька с резьбой М6 или больше, но не слишком толстая - ее требуется согнуть по окружности радиуса R (пожалуй это самый ответственный момент). Если вы собираетесь снимать всю ночь (но ночь не полярная), то длинны шпильки 2*R вполне должно хватить для непрерывной съемки.

Далее - нужно обеспечить вращение гайки (на схема она оранжевая), для этого используется либо шестерни и моторчик если вы хотите сделать автоматику:

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Либо любое подручное средство насколько вам хватит фантазии.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker
Думаю, лучше всего было бы задействовать микроконтроллер с шаговым двигателем (к слову, с помощью шаговика можно добиться максимальной точности и в других конструкциях, достаточно лишь учесть их изъяны в программе микроконтроллера, но в данной конструкции изъянов приводящих к неточности наведения вроде бы нет), но можно обойтись и более простым вариантом моторчика с переменным резистором для подстройки скорости.


Один из важных моментов - правильно подобрать скорость вращения гайки:

RPM - количество оборотов в минуту

Взяв за основу формулу длинны окружности можно получить:

RPM = 2 * R * PI / (T * M)

где

R - мм, расстояние от центра оси навеса до центра отверстия под шпильку.

М - мм, шаг резьбы шпильки

М6 - 1 мм

М8 -  1.25 мм

М10 - 1.5 мм

T = 1436.06666667 минут, звездные сутки, время полного оборота Земли, это немного меньше чем "солнечные сутки" (24 часа) - они дольше за счет сдвига Земли по орбите

PI - число Пи, 3.141592653...


Для моего случая R=285мм, М6 = 1мм получилось около 1.25 оборотов в минуту. 


Далее вам потребуется устройство для нацеливание на небесную ось вокруг которой звезды и "крутятся", т.е. навестиcь на Полярную звезду

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Если у вас случайно не завалялось ничего похожего на оптический прицел, то можно обойтись даже любой полой трубочкой и закрепить её параллельно оси дверного навеса. Некоторые используют лазерную указку. Или можно вообще не делать - просто постараться повернуть всю конструкцию на триподе так, чтобы ось навеса смотрела как можно точнее на Полярную звезду.


Если у вас есть трипод и все необходимое чтобы на нем зафиксировать такой трекер и фотоаппарат, то на этом все...


А вот если такой возможности нет, то можно задействовать еще пару досок чтобы навести трекер на Полярную звезду (на картинке другой вариант трекера, не пугайтесь)

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Данная конструкция сразу придает нужный наклон.

Правда, при путешествии на большие расстояния на север или юг нужна другая конструкция для изменения угла наклона.

(на фото снова другая версия трекера)

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Приступим к расчетам:

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

В зависимости от размеров чего вы будете отталкиваться  есть несколько формул расчета.

Дано С

B = C * SIN( f )

A = C * COS( f )


Дано B

A = B * TAN( f )

C = B / SIN( f )


Дано A

B = A / TAN( f )

C = A / COS( f )


где

f - ваша географическая широта в радианах (не градусах)

f = PI * ( градусы + минуты/60 + секунды/3600 ) / 180

SIN, COS, TAN - соответственно синус, косинус и тангенс от угла f


Моя самоделка:
Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Как говорится в одной песенке - "я его слепила из того что было".


Свободное пространство на основании - для утяжелителя.

3 длинных болта в качестве ножек для выравнивания по уровню.

Шпилька 1 метр резьба М6. Конечно, такая длинная шпилька не нужна, но мне особо не мешает. Обрежу когда сделаю автоматику.


Бумажку на диске успел погрызть щенок, но мне было лень её переделывать пока аппарат простаивает. На ней был распечатан следующий рисунок.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Сделал в Excel. Рассчитана на выдержку снимка в 1 минуту.

Напоминаю, что данная картинка различается для разных соотношений радиуса R и шага резьбы М.

К слову, чтобы не заморачиваться с часами/секундомером/таймером, если у вас есть подобная схема, то достаточно поставить на сотовый приложение "метроном", выставить на нем 60 BPM (ударов в минуту). После этого при вращении гайки достаточно сопоставлять звук метронома с отметками на картинке.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Крепление для фотика. Мне трудно быстро достать требуемые запчасти для нормального крепления фотоаппарата, но есть советский штатив с помощью которого фотик и устанавливался на этой конструкции. Штатив типа этого.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Но его головка не может выдержать вес фотоаппарата с телеобъективом поскольку при наведении на небо центр тяжести фотика+объектива уходит далеко в сторону.

Поэтому я намертво зафиксировал подвижную головку данного штатива, а наведение фотоаппарата производится конструкцией с предыдущей картинки.


Вот пробное изображение на таком трекере с "ручным" приводом.

Галактика Андромеда.

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker

Sony a580, 105/2.8, 400 ISO, 20х60 секунд

Получился недосвет и пришлось вытягивать при обработке, так как даже при 60 секундах выдержки в ручном режиме постоянно были ошибки и звезды размазывались, а увеличить ISO - много шумов.

В следующих планах сделать автоматику.


Несколько замечаний:

При съемке нужно обеспечить отсутствие вибраций конструкции. Это особенно существенно при "ручном приводе".

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

Снимать только в RAW.

Нужен внешний пультик для фотоаппарата, проводного вполне достаточно.

Склейка в DeepSkyStacker, далее выбор программ для обработки по желаю - Lightroom + Photoshop, или что вам больше нравится. Почитайте обучалки к DeepSkyStacker.

Большое количество снимков позволит снизить шумы матрицы, но зависимость логарифмическая - чем больше кадров тем медленнее прирост качества.

Можно потратить многие часы съемки и не одну ночь на один и тот же объект чтобы получить картинку приемлемого качества.


На этом вроде бы все


Напоминалки:

Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker
Астротрекер своими руками Астрофото, Своими руками, Самоделки, Трекер, Barn Door tracker, Длиннопост, Skytracker
Показать полностью 16

Kuban AirShow 2017

17 и 18 июня прошел фестиваль частной авиации "Kuban AirShow 2017" на аэродроме Азимут в Краснодарском крае.


Я там, как говорится, был, да в меру кривизны рук видео запилил.

Видео выступлений первого дня. До вечера не дотянул, так как устал да и обгорел на солнце.


Фото от других зрителей:

Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост
Kuban AirShow 2017 Kuban airshow 2017, Видео, Фестиваль, Самолет, Пилот, Трюк, Длиннопост

Сайт мероприятия: http://www.kubanairshow.com/


Группа ВК, есть видео и фото https://vk.com/kubanairshow

Показать полностью 8

Помогите найти цены на прокладку интернета по оптике в деревне.

Здравичка, Пикабу, надеюсь на твою силушку.

Нужен человек который сможет раскрыть секрет ценообразования работ по прокладке оптики конечным абонентам в частном секторе - каковы расценки на прокладку 1 метра кабеля, придется ли платить (и сколько) за установку оборудования на АТС и так далее.

Комменты, как положено, добавлены.


Хочу в сельской местности Краснодарского края провести Ростелекомоский интернет по оптике и организовать коллективную заявку чтобы это вышло дешевле.

Но без знания примерных расценок поиск желающих сводится к примерно следующем диалогу:

- Хочешь быстрый и дешевый интернет?

- Хочу! А сколько будет стоить подключение?

- *звук сверчков*


При этом есть те кто могут и 30 т.р. заплатить, а есть те кому и 10 т.р. это очень дорого.


Здесь нет многоэтажек, есть интернет от Ростелекома по ADSL (но линия в основном фиговая, говорят что просто закопана в землю, местами есть колодцы), проведена магистраль-оптика к ближайшему городу, оборудование для раздачи интернета по оптике отсутствует.


Я задавал вопрос про стоимость на горячей линии Ростелекома, но там отсылают в центральный офис в Краснодаре, но туда я не скоро смогу поехать. Да и есть подозрение, что ответ я могу так и не получить.

Или, говорят, сначала нужно сделать заявку, а потом (когда-нибудь, например через полгодика) каждый заявитель отдельно узнает сколько ему нужно будет платить. Но народ то  хочет сразу знать сколько это будет стоить, а так можно будет попробовать среднепотолочкую цену посчитать.


В интернете читал про "единоличников" которые тянули оптику только себе и это обходилось от 50 до 100 т.р.

Я же думаю, что если на одной улице будет несколько желающих, то выйдет значительно дешевле.


P.S. Я искал тех кто кроме Ростелекома в Краснодарском крае может провести быстрый интернет, но пока нашел только одну контору у которой минимальный тариф 30Мбит за 800р (у Ростелекома выходит дешевле), но они будут ставить свою вышку РРС и уже от неё тянуть оптику, насколько я понял.

Показать полностью

Впихиваем данные в видео, быстрее чем раньше (или творчество программиста)

Впихиваем данные в видео, быстрее чем раньше (или творчество программиста) Программирование, Csharp, Кодирование, Программа, Хобби, Videofy

Продолжаю делать отчеты о проделанной работе над моей программой для хранения данных внутри видео, с возможностью использовать сайты типа Youtube.


Решил посмотреть какое место в моей программе самое тормозное. Запустил профайлер и долго пытался понять почему указанное место вообще может тормозить.

Подробности, если хотите, будут в комментариях, если кратко - класс BlockingCollection (решение для передачи данных между потоками) кушает немного ЦПУ если нужно подождать действие другого потока, а в моей реализации данная ситуация возникала очень часто.

После внесенных изменений программа заработала в среднем в 2 раза быстрее (по субъективным тестам).


Также кодирование через DCT заменено с вещественного (дробные числа) на целочисленную реализацию из семейства кодеков AVC/H264. Данное изменение позволило уменьшить количество ошибок, что в свою очередь позволяет увеличить плотность кодирования (для случая Youtube - с 5 до 7 бит на блок), что также дает прирост скорости работы.


Обновление программы пока не делал - хочу сначала попробовать добавить стеганографию через DCT+LSB (еще бы сначала разобраться как лучше это сделать).


Репозиторий где можно скачать программу и посмотреть исходники https://bitbucket.org/Filarius/videofy


Предыдущие отчеты можно посмотреть в моей профиле http://pikabu.ru/profile/wingblack


Приветствую ваши пожелания по улучшению программы.

Показать полностью

Впихиваем данные в видео, еще больше и с гарантией

Впихиваем данные в видео, еще больше и с гарантией Программирование, Csharp, Видео, Программа, Кодирование, Длиннопост

Публикую отчет о проделанной мною работе на поприще написания программы для хранения данных внутри видео-файлов, в том числе с возможностью использовать видео хостинги.


Ссылка на предыдущий пост http://pikabu.ru/story/video_zapechennoe_s_dannyimi_vam_s_ka...


По сравнению с прошлым постом:

- все кнопочки в интерфейсе наконец-то привязаны к своим алгоритмам, заново приделал скачивание с Youtube без промежуточного сохранения (отвалилось после смены ядра).

- реализован механизм отмены выполнения кодирования и декодирования, добавлен на кнопочки и штатное выключение проги (иначе запущенный процесс будет идти до победного, не взирая на то, что пользователь запустил еще 3 других процесса или выключил программу)

- заблокированы некоторые настройки, которые могут привести к большому количеству ошибок в данных

- добавлен и протестирован алгоритм коррекции ошибок (коды Рида-Соломона), в текущей реализации исправляет примерно 20% ошибок, но увеличивают объем данных в 1.5 раза

- протестирован новый алгоритм кодирования (на основе ДКП), в том числе на Youtube. К сожалению, для случая с Youtube это дает лишь один небольшой шаг вперед по сравнению с первым алгоритмом, но для случаев когда видео не будет перекодироваться данный алгоритм может дать прирост в скорости.


Видео с лучшим на текущий момент результатом безошибочного декодирования после Youtube.

Я все также рекомендую людям подверженным эпилепсии воздержаться от просмотра видео создаваемых данной программой. Впрочем, чтобы пользоваться данной программой просматривать полученные видео вообще не требуется.

Здесь внутри видео сохранена следующая картинка весом чуть меньше 1 мегабайта

Впихиваем данные в видео, еще больше и с гарантией Программирование, Csharp, Видео, Программа, Кодирование, Длиннопост
Да-да, та же картинка что и в прошлый раз. Или прикажете использовать каноничную картинку "Lenna.jpg" ? :)


Между делом поразмышлял о коррекции ошибок.

Чтобы исправить один ошибочный байт данный способ требует добавить к данным целых два байта корректирующей информации. Увеличивая количество корректирующей информации можно увеличить количество ошибок которые будут исправлены. Если ошибок будет больше чем рассчитывалось, то ни одна из них не будет исправлена (в данном блоке данных).

Но ведь если мы увеличим количество корректирующей информации, то все больше ошибок будет выпадать и на саму корректирующую информацию, и общая "полезность" будет не такая уж большая.


На данном графике я показал соотношение следующих величин при разном объеме корректирующих кодов добавленных к полезным данным:

- плотность полезных данных, отношение исходного объема данных к объему после добавление кодов коррекции

- максимальный объем ошибок которые можно будет исправить

- отношение количества поправимых ошибок к объему кодов коррекции ("самообслуживание")

- отношение количества поправимых ошибок к объему полезных данных ("полезные" ошибки)

Впихиваем данные в видео, еще больше и с гарантией Программирование, Csharp, Видео, Программа, Кодирование, Длиннопост

Не уверен, что это очень уж полезный график, пусть люди кто в теме подскажут графики каких более интересных метрик можно нарисовать.


Введение коррекции ошибок также повлияло и на скорость работы алгоритма. К тому же и второй алгоритм кодирования на основе ДКП работает медленнее чем первый, но он позволяет вставить больше данных за раз, так что общая скорость будет больше... но только пока вы не ограничены качеством видео на Youtube, тут как не вертись, прибавки к скорости относительно прошлой версии программы не получится добиться. А вот если сохранять просто в MP4 без расчета что видео будет перекодировано, то можно поставить настройки и "побыстрее".


Кстати, путем экспериментов, в том числе с Youtube, выяснилось, что если размер файла MP4 "разжирел" более чем в 10 раз относительно размера оригинального файла с данными, то декодирование происходит без ошибок, если же меньше 10 - то ошибки весьма вероятны.

Да, и это с учетом что введена коррекция ошибок.


Максимальные настройки для Youtube:

Density = 1

CellCount = 5


Поясню насчет Density и CellCount:

Впихиваем данные в видео, еще больше и с гарантией Программирование, Csharp, Видео, Программа, Кодирование, Длиннопост

Первоначально была идея усилить плотность кодирования второго алгоритма (ДКП) используя обе настройки, но на практике это приводило к тому, что большинство режимов с обоими опциями приводили к порче данных. Пока не получится это починить я решил сделать так, что выбор Density или CellCount запускают соответственно первый или второй алгоритм кодирования.


Репозиторий https://bitbucket.org/Filarius/videofy

Последняя версия https://bitbucket.org/Filarius/videofy/downloads/Videofy%200...


Напомню, что программа является экспериментальной, поэтому пользователю можно пошалить с настройками, и нет предустановленных наиболее оптимальных настроек для каждого режима. Главное помнить, что файл должен "ожиреть" хотя бы в 10-12 раз, так что перед издевательством над большими файлами, что займет достаточно много времени, проверяйте режим на небольших файлах 1-10 Мб.

Для сравнения, на 4-х ядерном процессоре i5 с частотой 4GНz файл в 300 Мбайт кодировался и декодировался по 2 часа.

Программе, вместе с видео-кодировщиком, требуется порядка 500MB RAM при создании видео с разрешением 720р.


Принимаются пожелания по дальнейшему улучшению.

Показать полностью 3 1

Видео запеченное с данными, вам с каким соусом подавать?

Приветствую жителей уютного мира Пикабу и людей которые решили на меня подписаться.

Пишу в продолжение к моему предыдущему посту о программе для запихивания и извлечения произвольных файлов (данных) внутрь видео файлов.

Предыдущий пост http://pikabu.ru/story/vpikhivaet_lyubyie_dannyie_v_video_il...

Видео запеченное с данными, вам с каким соусом подавать? Программирование, Csharp, Кодирование, Видео, Программа, Длиннопост

Цель данного поста - спросить у вас что вы хотели бы в данную программу добавить, а что изменить.


На данный момент я заканчиваю переписывать внутреннюю структуру алгоритма с бOльшим упором на модульность под вдохновением используемой в некоторых программах системы нод. Конечно, до структур как в Blender или UE4 мне еще далеко. Получается что-то вроде как на этой картинке.

Видео запеченное с данными, вам с каким соусом подавать? Программирование, Csharp, Кодирование, Видео, Программа, Длиннопост

Это значительно облегчит мне добавление новых плюшек и выбор существующих согласно настройкам пользователя.

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


Сейчас внутренняя структура уже может повторить алгоритм реализованный в предыдущей версии, остается переделать обвязку "морды" программы для соответствия внутреннему миру.

Так же я решил избавить пользователя от выбора формата пикселей (теперь по умолчанию используется YUV420P, но внутренности все еще позволяют его изменять) и добавить новые опции - выбор пресета кодирования H264 (влияет на соотношение скорость/размер/качество) и выбор режима постоянного битрейта или постоянного качества (те кто занимался перекодированием видео или стримом игр уже знакомы с этими настройками)

Видео запеченное с данными, вам с каким соусом подавать? Программирование, Csharp, Кодирование, Видео, Программа, Длиннопост

Ах да, еще один пункт добавился. Реализованный ранее алгоритм позволяет запихнуть в квадрат 8х8 лишь несколько (Density) бит информации и только один раз. Но я тут пыхнул правильной травы переосмыслил прочитанные ранее алгоритмы используемые для несколько иной задачи и сделал заготовку для использования дискретного косинусного преобразования (DCT), и тут получается что в квадрате 8х8 появляется сразу несколько ячеек (Cell Count) куда можно вставить наши биты (Density). При числе ячеек = 1 будет использоваться предыдущий алгоритм, если > 1 то алгоритм c DCT

Следующая картинка визуализирует влияние чисел дискретного косинусного преобразования на получаемую картинку, каждый квадратик соответствует отдельному числу в матрице 8х8:

Видео запеченное с данными, вам с каким соусом подавать? Программирование, Csharp, Кодирование, Видео, Программа, Длиннопост

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

Собственно, после проверки работоспособности данного алгоритма и я собираюсь выпустить следующую версию программы.


А теперь вопросы к вам, дорогие читатели:


Добавить сжатие? А надо ли? Думаю, пользователь и сам может заранее сжать файл если хочет. Ну, так то можно опционально (по выбору пользователя) делать поблочное сжатие входного файла каким-нибудь ZIP.


Как вы думаете как будет лучше сделать визуализацию оценки возможной ошибки для показа пользователю? В последней версии пользователю выводилась только максимальная из всех найденных оценок ошибки в виде дробного числа от 0 (лучше некуда) до 1 (скорее всего есть ошибки).

Поясню - на стадии вытаскивания информации из кадров есть возможность примерно посчитать  отличие получаемого числа от идеала. Получаемая оценка - что-то вроде отношения сигнал-шум которое строится без использования проверки на наличие ошибок.

Например, можно сделать шкалу распределения шума в файле, но нужны ли такие сложности...


Восстановление ошибок - да, я помню, в комментариях к прошлому посту мне советовали его реализовать, в планах добавить (опциональный) код Рима-Соломона или что-то другое. Займусь этим после реализации алгоритма с DCT.


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


Что-то еще визуализировать? Как это должно выглядеть?

Добавить еще что-то полезное или интересное в алгоритм?

Показать полностью 2

Впихивает любые данные в видео (или творчество программиста)

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

Художники создают картинки, музыканты - музыку, но и программистам не чужд зуд творчества.

Сразу скажу - я к программистам отношу себя в той же мере, как и "тихий" рыбак медитирующий на поплавок относится к рыболовецкому траулеру.


В один прекрасный день ко мне пришла мысль - а как бы так сделать чтобы хранить данные в видео файлах? И речь идет не о скрытом хранении (стеганографии) которое не позволит впихнуть большой объем информацию, а о вполне очевидном для постороннего глаза использовании кадров видео для этих целей.

Конечно, аналогичная мысль приходила не мне одному - в интернете нашлось несколько решений, но по тем или иным причинам мне они не понравились - не в последнюю очередь из-за появления ошибок в данных после того как такое видео было перекодировано, а ведь видео обязательно будет перекодироваться в сервисах подобных Youtube.

Поэтому я решил сделать сам.

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

Основная идея - нужно информацию из файла преобразовать в цветные точки на кадрах видео. Исходные файл скармливается некоторому "черному ящику", который выдает серию картинок, картинки с помощью видео-конвертера склеиваются в видео файл MP4 без звука, этот файл можно залить на Youtube, скачать, провести через озвученную цепочку действий в обратном направлении и получить файл идентичный исходному.

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост
Существует не так уж мало способов хранить произвольную информацию в картинках и видео, но поскольку я хотел сделать не "на отлично", а "ну хоть бы вообще работало и желательно уже вчера", то выбрал наиболее простой в реализации - некоторый кусочек данных превращается в квадрат заполненный одним определенным цветом. Из-за особенностей сжатия видео наиболее оптимально подходит квадрат размером 8х8 пикселей.
Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

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

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

Как результат, кадр видео выглядит примерно так

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

Есть подозрение, что пример такого видео может спровоцировать эпилептиков, надеюсь маленькая гифка не приведет к печальным последствиям и сможет немного утолить любопытство

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

А вот и видео, и я вас уже предупредил.

В данном видео сохранена следующая картинка

Впихивает любые данные в видео (или творчество программиста) Программирование, Csharp, Хобби, Файл, YouTube, Кодирование, Я сделяль, Гифка, Видео, Длиннопост

На предмет потыкать - качать здесь.

https://bitbucket.org/Filarius/videofy/downloads/Videofy%200...

Ужаснуться рукожопности автора читая исходники и для параноиков - идти сюда https://bitbucket.org/Filarius/videofy/src


Работает на OS Windows с установленным .Net Framework 4.6

Написано в качестве самообучения C# в VS 2015.

Задействовано:

- FFmpeg (кадры <---> видео)

- OpenCV (оптимизация некоторых действий)

- Livestreamer (скачивание видео с Youtube, другие сервисы поддерживаемые Livestreamer'ом не тестировались)


Плюсы:

- можно "сконвертировать" любой файл в видео и обратно (только для видео созданных данной программой)

- если полученный видео файл позже был повторно сконвертирован (youtube и т.д.), то исходный файл все еще можно извлечь без повреждений (если видео изначально создан с настройками рассчитанными на такое грубое обращение)

- если файл не требуется выкладывать на Youtube или перекодировать, то можно увеличить скорость обработки за счет настроек с большим количеством различных цветов (меньше цветов - лучше коррекция ошибок, но меньше скорость обработки).


Минусы:

- ОЧЕНЬ долго обрабатывает даже небольшие файлы (заметно уже на файлах больше 1 Мбайта)

- размер видео больше исходного файла в 3-8 раз (зависит от настроек)

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

- сомнительная полезность (да кому вообще это нужно?)


P.S. Я думал, что данную идею можно развить добавив режим прямой трансляции или возможность задействовать лишь отдельный участок видео для внедрения данных, но пока что я не вижу чтобы данная тема была кому-либо интересна.

P.S.S. Я рассматривал и более сложные методы "конвертации" данных в видео, но с появлением работающего прототипа я исчерпал свой творческий зуд, да и "кому вообще это нужно?".

Показать полностью 7 1

Как сделать "авиарадар" дома

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

В данном посте я расскажу как я сделал "авиарадар" дома из соплей и палок будучи в опе мира.

Точнее - как сделал свой маленький независимый филиал ада аналог сервиса FlightRadar24

Думаю, первым делом следует сказать как вообще это работает.

Прежде всего - это не радар, от слова совсем.

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Самолеты сами сообщают в радиоэфир свои текущие координаты, скорость, направление, высоту, а также свой позывной, по которому в интернете можно найти некоторую другую информацию, например тип самолета. Причем это информация открытая и не шифруется. Это называется ADS-B (автоматическое зависимое наблюдение-вещание, https://ru.wikipedia.org/wiki/ADS-B ).

Для начала нужен радиоприемник. Поскольку у меня не было особого желания тратить не маленькие деньги на игрушку которую я могу забросить через месяц (а такие игрушки есть на любой кошелек, есть модели которые могут не только принимать, но и передавать сигнал, со списком устройств можно ознакомиться по ссылке https://en.wikipedia.org/wiki/List_of_software-defined_radio...), то подойдет и самый простой и дешевый вариант:


RTL-SDR донгл RTL2832U (желательно с обозначением R820T2, у него чувствительность немного лучше). У этой модели немного плавает настройка на частоту при изменении температуры (а греется он весьма ощутимо), есть модели подороже с гораздо меньшим люфтом, у них в названии добавляется слово "TCXO", но для моего случая это не существенно. Да, это устройство продают как DVB-T тюнер, но умельцы заметили, что его можно использовать как радиоприемник, если заменить драйвера на самопальные от сообщества радиолюбителей.


RTL2832U я брал на Ebay. К слову, за бОльшую цену с тем же названием (если не добавилось TCXO) вы получите точно такой же по качеству, просто продавцы хотят нажиться на неосмотрительных покупателях, данный приемник стал популярен из-за своей низкой цены и наличия альтернативных драйверов для использования не только как DVB-T тюнера.

(Впрочем, как DVB-T мне его настроить так и не удалось, может потому что в РФ после аналогового ТВ решили запускать сразу DVB-T2 ?)

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Далее, когда вы получите ваш приемник

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

можно приступать к установке программ и драйверов

(Не устанавливайте родные драйвера с диска купленного приемника!)

Качаем SDR# http://airspy.com/download/ (хорошая программа для прослушивания эфира)

Распаковываем, запускаем install-rtlsdr.bat  (скачивает необходимое для это приемника)

Устанавливаем драйвера в винду через программу zadig.exe которая скачалась на предыдущем шаге.

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост
Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

После установки драйвера перезапустить компьютер.


Альтернативную инструкцию по пройденному этапу можно посмотреть тут http://www.rtl-sdr.ru/page/instrukcija-po-ustanovke-sdrsharp


Теперь нужны программы которые будут использовать радиоприемник и показывать нам самолетики и наводить на них ракеты.

Сначала - чтение данных из радиоэфира.

Для этого нужна программа RTL1090, взять последнюю (сейчас это Build 151 - 11 JAN 14) версию здесь http://rtl1090.com/

Распаковать, в папку с программой скопировать файлы rtlsdr.dll и libusb-1.0.dll из папки ранее скачанной SDR#

Открыть программу, нажать START, программа может зависнуть на некоторое время пока стартует

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Запомнили что порт "31001" (написан в самом низу окна).

(В качестве альтернативы данной программы можно использовать ADSB плагин для SDR#).


Теперь нужна программа которая будет показывать информацию о самолетах и рисовать их на карте. С этим хорошо справляется бесплатная и не очень сложная программа Virtual Radar Server http://www.virtualradarserver.co.uk/Download.aspx

Устанавливаем, запускаем, лезем в настройки  Tools > Options

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

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост
Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Не забываем запустить сервер и щелкнуть по ссылке.

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост
Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Откроется браузер с гугло-картой где будут показываться обнаруженные возле вас самолеты (картинка из интернета).

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

И еще, чтобы все это заработало вам также понадобится антенна, которая рассчитана на частоту 1090 MHz и ловит сигнал со всех направлений.

Есть не мало типов антенн, можно купить, можно попробовать сделать самостоятельно.

Качество антенны - один из основных факторов влияющих на дальность обнаружения.

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Более подробно с темой антенн можно ознакомиться погуглив "ADS-B antenna"


Поскольку я планировал просто попробовать "как оно там работает" и потратить на данный вопрос минут 5, то с антенной  не стал заморачиваться, нашел простой вариант - антенна Франклина, и согнул кое-как из подвернувшейся проволоки ориентируясь на следующую картинку.

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

В итоге я смог обнаруживать пролетающие гражданские самолеты в радиусе до 100 км (согласно последнему тесту)  при этом имея весьма неблагоприятные условия:

- расположен в низине

- кривая антенна (фото внизу), без усилителя, установлена внутри помещения, в 2-х метрах от земли

- витая пара без экранизации в качестве кабеля

- самый дешевый приемник из возможных


Поэтому, если вы хотите чтобы у вас был хороший радиус охвата, то:

- отнесись к делу ответственно, не будь как wingblack


Экран рукожопа

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Антенна рукожопа

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

Коннектор рукожопа

Как сделать "авиарадар" дома Rtl-sdr, Радар, Рукожоп, Своими руками, Самолет, Flightradar24, Длиннопост

P.S.


Данный способ не может определить самолеты на которых ADS-B отсутствует или выключен (обычно это самолеты с менее чем 100 пассажиров, большинство вертолетов и военных самолетов, старьё, или просто владельцы посчитали что устанавливать ADS-B не нужно)


Вот здесь можно посмотреть на то, что получилось у других с помощью программы Virtual Radar Server и кто решил что этим нужно поделиться с интернетом http://www.virtualradarserver.co.uk/Directory.aspx


Сервис https://www.flightradar24.com/ работает (в том числе) за счет волонтеров у которых стоит оборудование от этого сервиса (или кто-то настроил свой приемник и решил поделиться). Можно попытаться получить их оборудование бесплатно, если пообещаете что у вас хорошее расположение и вы можете обеспечить работу точки 24/7, и если рядом с вами нет других волонтеров. Впрочем, если я не ошибаюсь то это оборудование заточено под их сервис и больше ничего кроме слежения за самолетами толком не умеет (но, думаю, кулхацкеры не спят). Страничка для заявок на бесплатное оборудование https://www.flightradar24.com/apply-for-receiver


Если где ошибся, прошу понять и простить .

Показать полностью 16
Отличная работа, все прочитано!