Soe Zayar.
မီနူး
ဆွေးနွေးရန်
လုပ်ဆောင်မှုမှတ်တမ်း C

MidnightMM: မြန်မာပရိသတ်အတွက် ရုပ်သံကြည့်ရှုရေး ပလက်ဖောင်း

တင်ထားသော ရုပ်ရှင်နှင့် ဇာတ်လမ်းတွဲများ၊ အခမဲ့ YouTube ချန်နယ်များနဲ့ တိုက်ရိုက်ထုတ်လွှင့်မှုကို MCoin ပိုက်ဆံအိတ်တစ်ခုတည်းဖြင့် ကြည့်ရှုနိုင်သော စနစ်။

ပါဝင်လုပ်ဆောင်မှုပုံစံ
ဖောက်သည်၏ ထုတ်ကုန်
ကျွန်တော့် တာဝန်
နည်းပညာ ဦးဆောင်သူအဖြစ် ပလက်ဖောင်းကို တည်ဆောက်ထိန်းသိမ်းပြီး ထုတ်ကုန်၏ ဆုံးဖြတ်ချက်ချရေးအဖွဲ့တွင် ပါဝင်သည်။
လက်ရှိ အခြေအနေ
အသုံးပြုနိုင်ပြီဝင်ကြည့်ရန် ↗

ရိုးရိုးရှင်းရှင်း ပြောရရင်

ယခင် အခြေအနေ

ထုတ်ကုန်အဖွဲ့က မြန်မာပရိသတ်တွေအတွက် ရုပ်ရှင်နဲ့ ဇာတ်လမ်းတွဲကြည့်ခြင်း၊ အခမဲ့ YouTube ချန်နယ် ကြည့်ခြင်းနဲ့ တိုက်ရိုက်ထုတ်လွှင့်မှု ပါဝင်နိုင်တဲ့ နေရာတစ်ခု လိုအပ်ခဲ့ပါတယ်။ ချန်နယ်ပိုင်ရှင်တွေက ကိုယ့်ချန်နယ်ကို စီမံပြီး ဝင်ငွေရနိုင်ဖို့လည်း လိုပါတယ်။ ကြည့်ရှုမှုအလိုက် ပေးချေမှုက မျှတပြီး အလွဲသုံးစားလုပ်ဖို့ ခက်ခဲရမှာဖြစ်သလို ဗီဒီယိုတွေကို ဆာဗာကနေ အားလုံးပို့ပေးစရာ မလိုဘဲ သီးသန့်ထားနိုင်ဖို့ လိုပါတယ်။

ကျွန်တော် တည်ဆောက်ခဲ့သည့်အရာ

ထုတ်ကုန်အဖွဲ့ရဲ့ နည်းပညာ ဦးဆောင်သူအဖြစ် MidnightMM ကို တည်ဆောက်ထိန်းသိမ်းပါတယ်။ ကြည့်ရှုသူတွေက စာရင်းတစ်ခုတည်းကနေ ရွေးကြည့်နိုင်၊ အကြိုက်ဆုံး သိမ်းနိုင်၊ ရပ်ထားတဲ့နေရာက ဆက်ကြည့်နိုင်ပြီး MCoin ပိုက်ဆံအိတ်တစ်ခုတည်းဖြင့် ပေးချေနိုင်ပါတယ်။ ဝဘ် ဒါမှမဟုတ် ထည့်သွင်းသုံးနိုင်တဲ့ အက်ပ်ကနေ အင်္ဂလိပ်၊ မြန်မာ နှစ်ဘာသာနဲ့ အသုံးပြုနိုင်ပါတယ်။

ချန်နယ်ပိုင်ရှင်တွေက စတူဒီယိုမှတစ်ဆင့် ရုပ်ရှင်နဲ့ ဇာတ်လမ်းတွဲ တင်နိုင်ပြီး စနစ်က နောက်ကွယ်မှာ ကြည့်ရှုရန် ပြင်ဆင်ပေးပါတယ်။ ပိုင်ဆိုင်မှု စစ်ဆေးပြီးတဲ့ YouTube ချန်နယ်တွေကို တရားဝင် player ဖြင့် ပြသနိုင်ပါတယ်။ ချန်နယ်အတွက် တိုက်ရိုက်ထုတ်လွှင့်ခွင့် ဖွင့်ထားရင် browser ကနေ ကင်မရာ ဒါမှမဟုတ် မျက်နှာပြင်ကို မျှဝေထုတ်လွှင့်နိုင်ပါတယ်။ ကြည့်ရှုသူတွေက ပံ့ပိုးငွေ ပေးနိုင်ပြီး ပိုင်ရှင်တွေက ဝင်ငွေကြည့်ခြင်းနဲ့ ငွေထုတ်တောင်းဆိုခြင်း လုပ်နိုင်ပါတယ်။

အဖွဲ့ရဲ့ ရွေးချယ်မှုအရ ငွေပေးချေမှုတွေကို အလိုအလျောက်မဟုတ်ဘဲ အုပ်ချုပ်သူက အတည်ပြုပါတယ်။ အကောင့်၊ ချန်နယ်နဲ့ ငွေရှင်းမှုတွေကို စီမံခန့်ခွဲရေး စာမျက်နှာတစ်ခုတည်းကနေ ထိန်းချုပ်နိုင်ပါတယ်။

နည်းပညာ အသေးစိတ်

စနစ် ဖွဲ့စည်းပုံ

  1. Next.js ဝဘ်
  2. NestJS API
  3. FFmpeg → HLS
  4. သီးသန့် R2
  5. အသုံးပြုမှုတွက် Worker

အသုံးပြုထားသည့် နည်းပညာများ

  • အင်္ဂလိပ်နှင့် မြန်မာဘာသာဖြင့် ထည့်သွင်းသုံးနိုင်သော Next.js ဝဘ်အက်ပ်
  • NestJS API
  • PostgreSQL နှင့် Prisma
  • HLS ထုတ်ပေးသော FFmpeg worker
  • တိုက်ရိုက်ထုတ်လွှင့်မှုအတွက် LiveKit SFU
  • သီးသန့် Cloudflare R2 bucket နှင့် Cloudflare Worker
  • Docker Compose၊ Nginx၊ GitHub Actions

ဆုံးဖြတ်ချက်များ

  • ဖိုင်တင်ရာမှာ ချိတ်ဆက်မှု ပြတ်ရင် ဆက်တင်နိုင်တဲ့ အပိုင်းများအဖြစ် သီးသန့် R2 bucket ထဲ ပို့ပါတယ်။ FFmpeg worker က MP4 ကို HLS ပြောင်းပြီး ကြည့်ရှုရန် အဆင်သင့်ဖြစ်မှသာ မူရင်းဖိုင်ကို ဖျက်ပါတယ်။
  • ကြည့်ရှုမှုကို အပိုင်းတစ်ခုချင်းအလိုက် တွက်ချက်ပါတယ်။ Cloudflare Worker က ထပ်သုံးနိုင်တဲ့ ဒေါင်းလုဒ်လင့်ခ်အစား တစ်ကြိမ်သုံး၊ သက်တမ်းတို ခွင့်ပြုချက်ကို ထုတ်ပေးပြီး လက်မှတ်ပါ API callback ဖြင့် ပိုက်ဆံအိတ်မှ တစ်ပြိုင်တည်း နှုတ်ယူပါတယ်။ ထပ်သုံးမှုကို ပယ်ချပြီး ဗီဒီယိုဖိုင်တွေက အက်ပ်ဆာဗာကို ဖြတ်သန်းစရာ မလိုပါဘူး။
  • တိုက်ရိုက်ထုတ်လွှင့်မှုမှာ LiveKit SFU နဲ့ အခန်းအလိုက် သက်တမ်းတို token သုံးပါတယ်။ ထုတ်လွှင့်သူက ကြည့်ရှုသူအဖြစ် ဆက်သွယ်လို့ မရသလို ကြည့်ရှုသူကလည်း ထုတ်လွှင့်လို့ မရပါဘူး။ စကားပြောမှုကို ဆာဗာက ဖြန့်ပေးပြီး ခွင့်ပြုချက်တွေကို စဉ်ဆက်မပြတ် စစ်ဆေးပါတယ်။
  • ဝင်ရောက်မှုအတွက် HttpOnly cookie၊ သက်တမ်းတို access token နဲ့ စက်တစ်လုံးချင်းအလိုက် hash အဖြစ်သာ သိမ်းထားတဲ့ ပြောင်းလဲနေသော refresh အချက်အလက်တွေ သုံးပါတယ်။ ထပ်မံအသုံးပြုမှုကို စစ်ဆေးနိုင်ပြီး စက်ကို ပယ်ဖျက်ခြင်းနဲ့ အုပ်ချုပ်သူများအတွက် ရွေးချယ်နိုင်သော MFA ပါဝင်ပါတယ်။
  • လက်တွေ့စနစ်မှာ ဗီဒီယိုပြောင်းလဲမှုကို အကောင့်အချက်အလက်မပါ၊ ကွန်ရက်မရှိတဲ့ container ထဲမှာ လည်ပတ်စေပါတယ်။ အက်ပ် container တွေကိုလည်း ဖတ်ရှုခွင့်သာပေးပြီး မလိုအပ်တဲ့ စွမ်းရည်တွေ ဖယ်ထားပါတယ်။

ဆက်စပ် ဝန်ဆောင်မှုများ

ဒီလိုစနစ်မျိုး တည်ဆောက်ဖို့ လိုအပ်လား။