Dasturlash

YouTube’ni fayl saqlash platformasiga aylantiruvchi yangi dastur

6-mart, 2026, 04:114 ko'rish3 daqiqa o'qish
YouTube’ni fayl saqlash platformasiga aylantiruvchi yangi dastur

YouTube – video platformasidan ma'lumot omboriga

Internetda fayllarni saqlash uchun ko'plab xizmatlar mavjud, lekin yaqinda bir guruh dasturchilar YouTube’ni ham bunday maqsadda ishlatish mumkinligini ko'rsatdilar. Ular maxsus dastur orqali har qanday faylni yo'qotilmas video (FFV1/MKV) formatiga kodlaydilar, keyin esa shu videoni YouTube’ga yuklab, istalgan vaqtda qayta yuklab olish va dekodlash imkonini yaratadi.

Dastur qanday ishlaydi?

Ushbu loyiha quyidagi asosiy texnologik bosqichlardan iborat:

  • Faylni bo‘laklarga ajratish – katta fayl bir necha kichik paketlarga bo‘linadi.
  • Fountain kodlari – Wirehair algoritmi paketlarga redundant ma'lumot qo‘shadi, shu bilan birga yo‘qolgan paketlarni tiklash imkonini beradi.
  • Video kodlash – har bir paket video ramkasiga joylashtiriladi. Video FFV1 kodekida, MKV konteynerida saqlanadi, bu kodlash yo‘qotilmas (lossless) bo‘lib, asl ma'lumotni butunlay saqlaydi.
  • Shifrlash (ixtiyoriy) – foydalanuvchi parol yordamida XChaCha20‑Poly1305 algoritmi bilan faylni himoya qilishi mumkin.
  • Tekshirish sumasi – har bir paketga CRC32 yoki xxHash32 tekshirish sumasi qo‘shiladi, bu dekodlashda ma'lumotning yaxlitligini tekshirishga yordam beradi.

CLI va GUI interfeyslar

Dastur ikkita asosiy interfeysni taklif etadi:

  • Komanda satri (CLI)media_storage encode va media_storage decode buyruqlari orqali faylni video formatiga kodlash yoki video fayldan asl ma'lumotni olish mumkin.
  • Grafik foydalanuvchi interfeysi (GUI) – Qt6 asosida yaratilgan, bir nechta faylni bir vaqtning o‘zida kodlash, progress paneli, loglar va real‑vaqt status ko‘rsatuvchi qulay oynalar bilan ta’minlaydi.

O‘rnatish va talablar

Dastur C++23, CMake 3.22, FFmpeg, Qt6, libsodium, OpenMP kabi kutubxonalar bilan birga kompilyatsiya qilinadi. Linux (apt, dnf, pacman), macOS (brew) yoki Windows (vcpkg) paket menejerlari orqali kerakli komponentlarni o‘rnatish mumkin. Misol uchun Ubuntu’da:

sudo apt update && sudo apt install cmake build-essential qt6-base-dev \
    libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \
    libsodium-dev libomp-dev ffmpeg

Kompilyatsiya jarayoni oddiy:

mkdir build && cd build
cmake ..
cmake --build .

Natijada media_storage (CLI) va media_storage_gui (GUI) bajariladigan fayllari hamda libmedia_storage.so kutubxonasi hosil bo‘ladi.

Amaliy qo‘llanilishi

Bu yechim quyidagi holatlarda foydali:

  • Arxiv fayllarni uzoq muddatli saqlash, chunki YouTube video fayllarni 30 yilgacha saqlashga va'da beradi.
  • Cheklangan fayl almashish muhitida (masalan, korporativ tarmoqda) katta ma'lumotlarni “gizli” video sifatida uzatish.
  • Ma'lumotni qo‘shimcha himoya qilish – shifrlash va redundant kodlar orqali yo‘qolish xavfini kamaytirish.

Cheklovlar va e’tibor berilishi lozim bo‘lgan narsalar

Video hajmi kodlangan fayl hajmidan ancha katta bo‘lishi mumkin, chunki har bir paket video ramkada joylashadi. 4K (3840×2160) 30 fps rezolyutsiyada bir soniyada taxminan 120 MB video hosil bo‘lishi mumkin, shuning uchun katta fayllar uchun disk bo‘shlig‘ini oldindan hisoblash zarur. Shuningdek, YouTube’ga yuklashda standart video siqish (re‑encoding) sodir bo‘lishi mumkin, lekin FFV1 kodeki “lossless” bo‘lgani sababli ma'lumotning o‘zgarmasligi kafolatlanadi.

Litsenziya va kelajak rejalar

Loyiha GPL‑3.0 litsenziyasi ostida tarqatiladi, ya’ni har kim kodni erkin o‘zgartirishi, tarqatishi va o‘z loyihalarida foydalanishi mumkin. Dasturchilar GitHub’da CI/CD pipeline’ni yaratib, yangi versiyalarni avtomatik qurish va test qilishni amalga oshirgan. Kelajakda mobil platformalar, bulutli integratsiya va avtomatik YouTube yuklash skriptlari qo‘shilishi rejalashtirilgan.

Manba: Hacker News
#YouTube storage #lossless video #ffmpeg #fountain codes #encryption
Telegram da muhokama qilish