Ви думаєте, що використовувати YouTube як файлообмінник неможливо? Можливо. Причому, це буде не просто сховище для файлів, а нескінченне хмарне сховище з практично нелімітованою швидкістю скачування.
Розробник [DvorakDwarf] створив софт, який перекодовує двійкові файли у відео, яке потім можна просто завантажити на YouTube. У підсумку виходить ролик із білим шумом, як на картинці. У потрібний момент ви просто завантажуєте його назад, декодуєте і вуаля – ваш файл у вас.
Основна проблема для коду кодування полягає в тому, щоб уникнути артефактів алгоритму стиснення відео від самого Ютуба. Остаточний варіант файлу у вигляді ролика перевищує розмір вихідного файлу в чотири рази.
Тож тепер, коли у вас запитають “А яким файлообмінником ви користуєтеся?”, завжди відповідайте: “Звісно ж YouTube!”.
Код на Github:
https://github.com/DvorakDwarf/Infinite-Storage-Glitch
Встановлення
Рекомендований спосіб (збірка з коду):
Зверніть увагу: збірка з коду вимагає значних витрат процесора та оперативної пам’яті.
Вам потрібно мати встановлений:
- Rust.
- opencv.
Якщо у вас виникли проблеми, спробуйте також встановити ffmpeg.
Якщо ви хочете або вже пройшли через клопоти зі встановленням Rust, ви можете клонувати цей репозиторій за допомогою git, а потім завантажити build –release. Cd до каталогу /target/release і запустити програму ./isg_4real.
Простіший спосіб:
- Завантажте виконуваний файл з релізів
- Помістіть виконуваний файл до теки
- Відкрийте термінал всередині теки
- chmod +x isg_4real
- Запустіть виконуваний файл: ./isg_4real
- Насолоджуйтесь!
Зверніть увагу, що двійковий файл не є exe-файлом, він не працюватиме на Windows, спробуйте скористатися першим способом.
Я можу додати .exe, якщо це стане популярним.
Як користуватися
- Заархівуйте всі файли, які ви будете завантажувати
- Запустіть виконуваний файл
- Скористайтеся опцією вбудовування в архіві (ВІДЕО БУДЕ В РАЗИ БІЛЬШИМ ЗА ФАЙЛ, у 4 рази, якщо встановлено оптимальний опір стисненню)
- Завантажте відео на свій канал YouTube. Ви, ймовірно, хочете зберегти його як неперелічений
- Скористайтеся опцією завантаження, щоб отримати відео назад
- Використовуйте опцію витіснення, щоб повернути свої файли із завантаженого відео.
Пояснення 4 для ботаніків
Принцип, що лежить в основі цього, досить простий. Всі файли складаються з байтів, а байти можна інтерпретувати як числа в діапазоні 0-255. Це число може бути представлене пікселями, використовуючи один з двох режимів: RGB або двійковий.
RGB: найхолодніший режим. Кожен байт ідеально вписується в один з кольорів rgb-пікселя. Один rgb-піксель може містити 3 байти одночасно. Ви просто продовжуєте додавати такі пікселі, поки не закінчаться дані. Це набагато ефективніше і швидше, ніж двійковий формат.
Бінарний: З’явився на світ завдяки абсолютно жорстокому стисненню YouTube. Режим RGB дуже чутливий до стиснення, оскільки зміна навіть однієї точки одного з кольорів одного з пікселів прирікає файл на пошкодження. Чорно-білі пікселі набагато важче зіпсувати. Кожен піксель є або світлим, що означає 1, або темним, що означає 0. Ми нанизуємо ці біти разом, щоб отримати байт, і продовжуємо, поки не закінчаться дані.
Обидва ці режими можуть бути зіпсовані стисненням, тому нам потрібно збільшити розмір пікселів, щоб зробити його менш стисливим. Блоки пікселів 2х2 здаються достатньо хорошими в двійковому режимі.
Щоб полегшити користувачеві роботу, ми також включили всі відповідні налаштування, використані при створенні відео, у перший кадр відео. Це дозволяє програмі знати, в якому режимі знаходиться відео і який розмір використовувати, щоб не змушувати користувача запам’ятовувати.