LINUX.ORG.RU

Представлен открытый проект Decimen Optical Transfer для передачи файлов через QR-коды

 , , ,


3

2

Разработчик BashAlarmist (Evan Crawley) представил открытый проект под названием Decimen Optical Transfer.

Это решение предназначено для передачи файлов между двумя устройствами с использованием только экрана и камеры через QR-коды с помощью кодов преобразования Луби — первой практической реализации фонтанного кодирования. Исходный код проекта написан на TypeScript и HTML и опубликован на GitHub под лицензией MIT.

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

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

>>> Live-версия

★★

Проверено: dataman ()
Последнее исправление: dataman (всего исправлений: 6)
Ответ на: комментарий от BruteForce

Скорость-то какая была?

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

Что за фантазия?..

Вот эта Представлен открытый проект Decimen Optical Transfer для передачи файлов через QR-коды (комментарий)


Для теста достаточно открыть ссылку https://decimen.app/ на компе и телефоне и всё, передавай данные, принимай данные.

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от pihter

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

Понимаешь, хтмл - не язык программирования, а язык разметки. Но программировать на нем можно. Такой вот парадокс. Не путай возомжность и процесс я явлением и объектом.

LightDiver ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Пишет мне 6KB/sec (((

Камера какая включается хз, либо 50, либо 10МП

Кмк изображение надо предобрабатывать, и выбор камеры давать, и, и, и

BruteForce ★★★★
()
Последнее исправление: BruteForce (всего исправлений: 2)

Ладно, я пролистал комментарии вплоть до срачика по поводу - является ли хтмл языком программирования, но не увидел - есть ли где то инфа о том, какие объемы информации можно так передавать примерно?

А можно сделать так, чтобы этот файл запустился у юзера? Мне не для себя, друг интересуется.

LightDiver ★★★★★
()
Последнее исправление: LightDiver (всего исправлений: 2)
Ответ на: комментарий от LightDiver

Не путай, корешок, Аристотеля с Сократом

А то услышишь как я ругаться буду матом

BruteForce ★★★★
()
Ответ на: комментарий от BruteForce

UPDATE: Смог на свою камеру выжать только 2KB/s с настройками передачи

  • 30 кадров
  • 1000 байт в кадре

От которой в теории должно быть 30KB/s

В диагностике пишет что декодируется только 1 кадр в секунду, снизил до 10 кадров в сек, отправку пошло на глаз быстрее, но перестало на принимающем устройстве отображать скорость приёма, скорее просто из за того что летефону стало полегче переваривать поток, а скорость +/- та же осталась.

UPDATE:2

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

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 1)
Ответ на: комментарий от ptah_alexs

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

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от ptah_alexs

Microsoft Tag

вся информация хранится на серверах Microsoft

Кек.

KivApple ★★★★★
()
Ответ на: комментарий от Gonzo

Архивы с избыточным кодированием (можно распаковать имея целыми любые N из M томов архива) были в ходу ещё во времена флопповодов. Собственно, по тому и были в ходу, потому что дискеты регулярно дохли.

Если совсем на пальцах, то представь себе выражение X + Y = Z. Зная X и Y можно вычислить Z, зная X и Z можно вычислить Y, зная Y и Z можно вычислить X. Соответственно, увеличив объём данных примерно на 50% (X и Y - исходная информация, а надо хранить ещё вычисленный архиватором Z, плюс добавить к томам некий порядковый номер, чтобы знать какое число X, какое Y, а какое Z) можно добиться права потерять любую из трёх частей итоговой информации.

В реальности используют не сложение, а более хитрую функцию с меньшим оверхедом. Например, кодируют информацию как координаты точек некоей кривой. Кривая выбрана такая, чтобы её можно было однозначно определить по N точек (например, прямая однозначно задаётся 2 точками, парабола однозначно задаётся 3 точками и т. д.), а сохраняют M точек (где M > N). Читатель по любому N точек восстанавливает кривую, а затем может вычислить координаты любых других точек на этой кривой, в том числе тех, которыми закодирована полезная информация.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 5)
Ответ на: комментарий от pihter

А кто говорил что надо ограничиваться спецификацией чистой четвёрки, а не всем что позволяет подключать и требует поддерживать пятёрка?

kirill_rrr ★★★★★
()
Ответ на: комментарий от bbc69

Я обращаю внимание что несмотря на хренову тучу реализаций блютуза, реальнона практике мы можем рассчитывать на самую-самую старую, неприспособленную для передачи видеоролика 5 минут*720р просто в силу своей старости. А куары чисто теоретически могут перешагнуть это ограничение просто потому что значительно более новые. Причём это не должно стать проблемой если твоё железо не тянет 3Кб*40фпс пока в реализации есть настройка частоты кадров и их размера.

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

*под который кстати, до сих пор нет программы разборки-сборки крупного файла на блоки. Хотя это уже было проблемой для желающих перекинуть .мп3 в 2005-2010-2015 годах.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Ждём TCP через QR-коды.

yorshka
()
Ответ на: комментарий от kirill_rrr

*под который кстати, до сих пор нет программы разборки-сборки крупного файла на блоки. Хотя это уже было проблемой для желающих перекинуть .мп3 в 2005-2010-2015 годах.

Что удивительно, как по мне. Видимо, к тому моменту все уже пользовались файлопомойками, потом - мессенджерами. В итоге, через интернет - быстрее. Логично, чо.

bbc69
()
Ответ на: комментарий от bbc69

Ну, так и было. Но потом МС купил Скайп...

Ничего, сейчас РКН прийдёт и создаст спрос на локальные решения по передаче файлов.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Ответ на: комментарий от water_closed

Так а толку, самые первые пакеты уже далеко

Ну вот даже человеки осилили коррекцию ошибок.

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

Устроители БВ вряд ли глупей.

да и как интерпретировать фрагменты не ясно.

Да многое было не ясно и сейчас ещё далеко от понимания, но ведь есть разум. :)

Tigger ★★★★★
()
Ответ на: комментарий от water_closed

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

Хотят ли вообще цивилизации подавать сигнал о своём существовании? Да, хотят! Земляне же отправили информацию о себе. А уж если цивилизации способны хоть как-то контролировать процессы типа Большого Взрыва. А куда цивилизациям деваться? Тут либо достигаешь всемогущества, либо впадаешь в дикарство во вселенском масштабе.

Tigger ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.