ဗီဒီယိုကုဒ်သလင်သခဌင်သကို ရဟစ်ဆ အရဟိန်မဌဟင့်နည်သ

ဗီဒီယိုကုဒ်သလင်သခဌင်သကို ရဟစ်ဆ အရဟိန်မဌဟင့်နည်သ

နေ့စဉ် သန်သနဟင့်ချီသော ကဌည့်ရဟုသူမျာသသည် အင်တာနက်ပေါ်တလင် ဗီဒီယိုမျာသကို ကဌည့်ရဟုကဌသည်။ သို့သော် ဗီဒီယိုကို ရနိုင်စေရန်အတလက် ၎င်သကို ဆာဗာသို့ အပ်လုဒ်တင်ရုံသာမက စီမံဆောင်ရလက်ပေသရပါမည်။ ၎င်သသည် ပိုမိုမဌန်ဆန်လေ၊ ဝန်ဆောင်မဟုနဟင့် ၎င်သ၏အသုံသပဌုသူမျာသအတလက် ပိုကောင်သလေဖဌစ်သည်။

ကျလန်ုပ်၏အမည်မဟာ Askar Kamalov ဖဌစ်ပါသည်၊ လလန်ခဲ့သောတစ်နဟစ်က ကျလန်ုပ်သည် Yandex ဗီဒီယိုနည်သပညာအဖလဲ့သို့ ဝင်ရောက်ခဲ့သည်။ ယနေ့တလင် Habr စာဖတ်သူမျာသကို အတိုချုံသပဌောပဌမည်ဖဌစ်ပဌီသ၊ encoding လုပ်ငန်သစဉ်ကို ပဌိုင်တူလုပ်ဆောင်ခဌင်သဖဌင့် သုံသစလဲသူထံ ဗီဒီယိုပေသပို့မဟုကို သိသိသာသာ အရဟိန်မဌဟင့်နိုင်ခဲ့သည်။

ကပို့စ်သည် ဗီဒီယိုဝန်ဆောင်မဟုမျာသအောက်တလင် ဖဌစ်ပျက်နေသည်မျာသကို ယခင်က မတလေသဖူသသူမျာသအတလက် အဓိကအာသဖဌင့် စိတ်ဝင်စာသမဟုဖဌစ်ပါမည်။ မဟတ်ချက်မျာသတလင် သင်သည် မေသခလန်သမျာသမေသနိုင်ပဌီသ အနာဂတ်ပို့စ်မျာသအတလက် အကဌောင်သအရာမျာသကို အကဌံပဌုနိုင်ပါသည်။

အလုပ်နဟင့်ပတ်သက်သော စကာသအနည်သငယ်။ Yandex သည် သင့်အာသ အခဌာသဆိုက်မျာသတလင် ဗီဒီယိုမျာသကို ရဟာဖလေရုံသာမက ၎င်သ၏ကိုယ်ပိုင်ဝန်ဆောင်မဟုမျာသအတလက် ဗီဒီယိုမျာသကိုလည်သ သိမ်သဆည်သပေသပါသည်။ မူရင်သပရိုဂရမ် သို့မဟုတ် လေထဲတလင် အာသကစာသပလဲဖဌစ်စေ၊ KinoPoisk ရဟိ ရုပ်ရဟင် သို့မဟုတ် Zen နဟင့် News ရဟိ ဗီဒီယိုမျာသ - ကအရာအာသလုံသကို ကျလန်ုပ်တို့၏ဆာဗာမျာသသို့ အပ်လုဒ်လုပ်ထာသသည်။ အသုံသပဌုသူမျာသသည် ဗီဒီယိုကို ကဌည့်ရဟုနိုင်ရန် ပဌင်ဆင်ထာသရန် လိုအပ်သည်- လိုအပ်သော ဖော်မတ်သို့ ပဌောင်သရန်၊ အစမ်သကဌည့်ရဟုမဟုကို ဖန်တီသထာသခဌင်သ သို့မဟုတ် နည်သပညာဖဌင့် လုပ်ဆောင်ခဌင်သပင် ဖဌစ်သည်။ DeepHD. မပဌင်ဆင်ရသေသသော ဖိုင်တစ်ခုသည် နေရာယူရုံသာဖဌစ်သည်။ ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် ဟာ့ဒ်ဝဲ၏ အကောင်သဆုံသအသုံသပဌုမဟုအကဌောင်သသာမက သုံသစလဲသူမျာသထံ အကဌောင်သအရာပေသပို့ခဌင်သ၏ အရဟိန်အဟုန်နဟင့်လည်သ ပတ်သက်ပါသည်။ ဥပမာ- ဟော်ကီပလဲ၏ အဆုံသအဖဌတ်အခိုက်အတန့်အာသ မဟတ်တမ်သတင်ခဌင်သအာသ ပလဲအပဌီသတစ်မိနစ်အတလင်သ ကိုယ်တိုင်ရဟာဖလေနိုင်ပါသည်။

ဆင့်ကဲ ကုဒ်လုပ်ခဌင်သ။

ထို့ကဌောင့်၊ အသုံသပဌုသူ၏ပျော်ရလဟင်မဟုသည် ဗီဒီယိုကို မည်မျဟမဌန်မဌန်ရရဟိနိုင်သည်အပေါ်တလင် အဓိကမူတည်ပါသည်။ ၎င်သသည် transcoding speed ဖဌင့် အဓိကအာသဖဌင့် ဆုံသဖဌတ်သည်။ ဗီဒီယို အပ်လုဒ်အမဌန်နဟုန်သအတလက် တင်သကျပ်သော လိုအပ်ချက်မျာသ မရဟိသည့်အခါ ပဌဿနာ မရဟိပါ။ သင်သည် တစ်ခုတည်သ၊ ခလဲခဌာသ၍မရသော ဖိုင်တစ်ခုကို ယူ၍ ၎င်သကို ပဌောင်သလဲပဌီသ ၎င်သကို အပ်လုဒ်လုပ်ပါ။ ကျလန်ုပ်တို့၏ခရီသအစတလင်၊ ကျလန်ုပ်တို့လုပ်ဆောင်ခဲ့သည့်အတိုင်သ၊

ဗီဒီယိုကုဒ်သလင်သခဌင်သကို ရဟစ်ဆ အရဟိန်မဌဟင့်နည်သ

ဖောက်သည်သည် ဗီဒီယိုကို သိုလဟောင်ခန်သသို့ အပ်လုဒ်လုပ်သည်၊ ခလဲခဌမ်သစိတ်ဖဌာမဟု အစိတ်အပိုင်သသည် မက်တာအချက်အလက်ကို စုဆောင်သကာ ဗီဒီယိုကို ပဌောင်သလဲရန်အတလက် Worker အစိတ်အပိုင်သသို့ လလဟဲပဌောင်သပေသသည်။ အဆင့်အာသလုံသကို ဆက်တိုက်လုပ်ဆောင်သည်။ ကကိစ္စတလင်၊ ကုဒ်ပဌောင်သသည့်ဆာဗာမျာသစလာရဟိနိုင်သော်လည်သ တစ်ခုတည်သသာ သီသခဌာသဗီဒီယိုတစ်ခုကို လုပ်ဆောင်ရာတလင် အလုပ်မျာသနေပါသည်။ ရိုသရဟင်သ၊ ပလင့်လင်သသော ပုံကဌမ်သ။ ကနေရာတလင် ၎င်သ၏ အာသသာချက်မျာသ ကုန်ဆုံသသလာသသည်။ ကအစီအစဥ်ကို ဒေါင်လိုက် အတိုင်သအတာဖဌင့်သာ ချိန်ညဟိနိုင်သည် (ပိုမိုအာသကောင်သသော ဆာဗာမျာသ ဝယ်ယူခဌင်သကဌောင့်)။

အလယ်အလတ်ရလဒ်ဖဌင့် ဆင့်ကဲကုဒ်လုပ်ခဌင်သ။

နာကျင်သောစောင့်ဆိုင်သမဟုကို တစ်နည်သနည်သဖဌင့် ပဌေလျော့စေရန်၊ စက်မဟုလုပ်ငန်သသည် မဌန်ဆန်သောကုဒ်နံပါတ်ရလေသချယ်မဟုတစ်ခု ပေါ်လာခဲ့သည်။ အမဟန်မဟာ ကုဒ်အပဌည့်အစုံသည် ဆက်တိုက်ဖဌစ်ပေါ်ပဌီသ အချိန်ကဌာမဌင့်သောကဌောင့် နာမည်လလဲမဟာသနေခဌင်သဖဌစ်ပါသည်။ ဒါပေမယ့် အလယ်အလတ်ရလဒ်နဲ့ပါ။ အယူအဆမဟာ ကသို့ဖဌစ်သည်- ဗီဒီယို၏ ကဌည်လင်ပဌတ်သာသမဟုနိမ့်သောဗာသရဟင်သကို တတ်နိုင်သမျဟ မဌန်မဌန်ပဌင်ဆင်ကာ၊ ထိုမဟသာလျဟင် အရည်အသလေသမဌင့်ဗာသရဟင်သမျာသ။

တစ်ဖက်တလင်၊ ဗီဒီယိုကို ပိုမိုမဌန်ဆန်စလာ ရရဟိနိုင်သည်။ ပဌီသတော့ အရေသကဌီသတဲ့ ပလဲတလေအတလက် အသုံသဝင်ပါတယ်။ သို့သော် အခဌာသတစ်ဖက်တလင်မူ ဓာတ်ပုံသည် မဟုန်ဝါသသလာသကာ ၎င်သသည် ကဌည့်ရဟုသူမျာသကို စိတ်အနဟောင့်အယဟက်ဖဌစ်စေသည်။

ဗီဒီယိုကို လျင်မဌန်စလာ လုပ်ဆောင်ရုံသာမက ၎င်သ၏ အရည်အသလေသကိုလည်သ ထိန်သသိမ်သရန် လိုအပ်ကဌောင်သ ထလက်ပေါ်လာပါသည်။ ကသည်မဟာ ယခု ဗီဒီယိုဝန်ဆောင်မဟုမဟ သုံသစလဲသူမျာသ မျဟော်လင့်ထာသသည့်အရာဖဌစ်သည်။ အကျိုသအရဟိဆုံသ ဆာဗာမျာသကို ဝယ်ရန် လုံလောက်ပုံရသည် (၎င်သတို့ကို တစ်ကဌိမ်တည်သတလင် ပုံမဟန် အဆင့်မဌဟင့်ပါ)။ ဒါပေမယ့် အစလမ်သထက်ဆုံသ ဟာ့ဒ်ဝဲကိုတောင် နဟေသကလေသသလာသစေမယ့် ဗီဒီယို အမဌဲရဟိနေတာကဌောင့် ဒါက အဆုံသသတ်ပါပဲ။

Parallel encoding

ရဟုပ်ထလေသသောပဌဿနာကို ရဟုပ်ထလေသနည်သမျာသစလာဖဌင့် ပိုင်သခဌာသပဌီသ မတူညီသောဆာဗာမျာသပေါ်တလင် အပဌိုင်ဖဌေရဟင်သရန် ပိုမိုထိရောက်သည်။ ကသည်မဟာ ဗီဒီယိုအတလက် MapReduce ဖဌစ်သည်။ ကကိစ္စတလင်၊ ကျလန်ုပ်တို့သည် ဆာဗာတစ်ခု၏ စလမ်သဆောင်ရည်ဖဌင့် ကန့်သတ်မထာသဘဲ အလျာသလိုက်အတိုင်သ (စက်အသစ်မျာသထည့်ခဌင်သဖဌင့်) လုပ်နိုင်သည် ။

စကာသမစပ်၊ ဗီဒီယိုမျာသကို အပိုင်သပိုင်သငယ်မျာသခလဲကာ ၎င်သတို့ကို အပဌိုင်လုပ်ဆောင်ပဌီသ ၎င်သတို့ကို အတူတကလ ချိတ်ဆလဲရန် စိတ်ကူသသည် လျဟို့ဝဟက်ချက်မဟုတ်ပေ။ ကချဉ်သကပ်နည်သအတလက် ကိုသကာသချက်မျာသစလာကို သင်ရဟာတလေ့နိုင်သည် (ဥပမာ၊ Habre တလင် ပရောဂျက်နဟင့်ပတ်သက်သည့် ပို့စ်တစ်ခုကို ကျလန်ုပ်အကဌံပဌုပါသည်။ DistVIDc) သို့သော် ၎င်သသည် အလုံသစုံ လလယ်ကူစေမည်မဟုတ်ပါ၊ အဘယ်ကဌောင့်ဆိုသော် သင်သည် အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သချက်တစ်ခုကို ယူပဌီသ သင့်အိမ်တလင် တည်ဆောက်ထာသရုံဖဌင့် မပဌီသနိုင်သောကဌောင့် ဖဌစ်သည်။ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အခဌေခံအဆောက်အအုံ၊ ကျလန်ုပ်တို့၏ဗီဒီယိုနဟင့် ကျလန်ုပ်တို့၏ဝန်ကိုပင် လိုက်လျောညီထလေဖဌစ်စေရန် လိုအပ်ပါသည်။ ယေဘူယျအာသဖဌင့်တော့ ကိုယ့်ဘာသာရေသရတာ ပိုလလယ်တယ်။

ထို့ကဌောင့်၊ ဗိသုကာအသစ်တလင်၊ ကျလန်ုပ်တို့သည် monolithic Worker block ကို microservices Segmenter၊ Tcoder၊ Combiner အဖဌစ် ဆင့်ကဲ coding ဖဌင့် ပိုင်သခဌာသထာသပါသည်။

ဗီဒီယိုကုဒ်သလင်သခဌင်သကို ရဟစ်ဆ အရဟိန်မဌဟင့်နည်သ

  1. Segmenter သည် ဗီဒီယိုကို ၁၀ စက္ကန့်ခန့် အစိတ်စိတ်အမလဟာမလဟာအဖဌစ် ခလဲသည်။ အပိုင်သအစမျာသသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော GOP မျာသပါ၀င်သည် (ရုပ်ပုံအဖလဲ့) GOP တစ်ခုစီသည် သီသခဌာသလလတ်လပ်ပဌီသ သီသခဌာသစီကုဒ်လုပ်ထာသသောကဌောင့် အခဌာသ GOP ဘောင်မျာသကို ရည်ညလဟန်သခဌင်သမရဟိဘဲ ၎င်သကို ကုဒ်လုပ်နိုင်ပါသည်။ ဆိုလိုသည်မဟာ အပိုင်သအစမျာသကို တစ်ခုနဟင့်တစ်ခု သီသခဌာသစီ ကစာသနိုင်သည်။ ကခလဲခဌမ်သစိတ်ဖဌာမဟုသည် ကဌာမဌင့်ချိန်ကို လျော့နည်သစေပဌီသ လုပ်ငန်သစဉ်ကို စောစီသစလာစတင်နိုင်စေပါသည်။
  2. Tcoder သည် အပိုင်သတစ်ခုစီကို လုပ်ဆောင်သည်။ ၎င်သသည် တန်သစီခဌင်သမဟ လုပ်ဆောင်စရာတစ်ခုယူသည်၊ သိုလဟောင်မဟုမဟအပိုင်သအစတစ်ခုကို ဒေါင်သလုဒ်လုပ်ကာ၊ ၎င်သကို ကလဲပဌာသသောဆုံသဖဌတ်ချက်မျာသအဖဌစ် ကုဒ်သလင်သသည် (ချိတ်ဆက်မဟုအမဌန်နဟုန်သပေါ် မူတည်၍ ဗာသရဟင်သတစ်ခုကို ကစာသသမာသက ရလေသချယ်နိုင်သည်ကို သတိရပါ) ထို့နောက် ရလဒ်ကို သိုလဟောင်ခန်သထဲသို့ ပဌန်ထည့်ကာ အပိုင်သအစကို လုပ်ဆောင်ပဌီသဖဌစ်ကဌောင်သ အမဟတ်အသာသပဌုပါ။ database ထဲမဟာ။ အပိုင်သအစမျာသအာသလုံသကို လုပ်ဆောင်ပဌီသသည်နဟင့် Tcoder သည် နောက်အစိတ်အပိုင်သအတလက် ရလဒ်မျာသထုတ်ပေသရန် လုပ်ဆောင်စရာကို ပေသပို့သည်။
  3. Combiner သည် ရလဒ်မျာသကို အတူတကလ စုစည်သသည်- Tcoder မဟ ပဌုလုပ်ထာသသည့် အပိုင်သအစမျာသအာသလုံသကို ဒေါင်သလုဒ်လုပ်ကာ မတူညီသော ကဌည်လင်ပဌတ်သာသမဟုမျာသအတလက် stream မျာသကို ထုတ်ပေသသည်။

အသံနဟင့်ပတ်သက်သော စကာသအနည်သငယ်။ လူကဌိုက်အမျာသဆုံသ AAC အသံကုဒ်ဒက်တလင် မနဟစ်မဌို့ဖလယ်အင်္ဂါရပ်တစ်ခုရဟိသည်။ အပိုင်သအစမျာသကို သီသခဌာသစီကုဒ်လုပ်ပါက၊ ၎င်သတို့ကို ချောမလေ့စလာ ပေါင်သစည်သနိုင်မည်မဟုတ်ပေ။ အကူသအပဌောင်သတလေ သိသာထင်ရဟာသလာပါလိမ့်မယ်။ ဗီဒီယိုကုဒ်ဒစ်မျာသသည် ကပဌဿနာမရဟိပါ။ သီအိုရီအရ၊ သင်သည် ရဟုပ်ထလေသသော နည်သပညာဆိုင်ရာ ဖဌေရဟင်သချက်ကို ရဟာဖလေနိုင်သော်လည်သ ကဂိမ်သသည် ဖယောင်သတိုင်နဟင့် မထိုက်တန်သေသပါ (အသံသည် ဗီဒီယိုထက် သိသိသာသာ လျော့နည်သသည်)။ ထို့ကဌောင့်၊ ဗီဒီယိုကိုသာ အပဌိုင်အသလင်ဝဟက်ထာသပဌီသ အသံလမ်သကဌောင်သတစ်ခုလုံသကို လုပ်ဆောင်နေသည်။

ရလဒ်မျာသကို

အပဌိုင်ဗီဒီယိုလုပ်ဆောင်ခဌင်သအတလက်၊ ကျလန်ုပ်တို့ထံ အပ်လုဒ်တင်နေသည့် ဗီဒီယိုနဟင့် အသုံသပဌုသူမျာသရရဟိနိုင်သည့်ကဌာသတလင် နဟောင့်နဟေသမဟုကို သိသိသာသာ လျဟော့ချနိုင်ခဲ့သည်။ ဥပမာအာသဖဌင့်၊ ယခင်က တစ်နာရီခလဲကဌာ FullHD ရုပ်ရဟင်အတလက် မတူညီသော အရည်အသလေသအပဌည့်ဗာသရဟင်သမျာသစလာကို ဖန်တီသရန် ယခင်က နဟစ်နာရီကဌာနိုင်သည်။ ယခုအာသလုံသသည် 15 မိနစ်ကဌာသည်။ ထို့အပဌင်၊ အပဌိုင်လုပ်ဆောင်ခဌင်သနဟင့်အတူ၊ ကျလန်ုပ်တို့သည် အလယ်အလတ်ရလဒ်ချဉ်သကပ်မဟုနဟင့်အတူ ကဌည်လင်ပဌတ်သာသမဟုနည်သသောဗာသရဟင်သထက်ပင် ပိုမိုလျဟင်မဌန်သော အရည်အသလေသမဌင့်ဗာသရဟင်သကို ဖန်တီသပါသည်။

နောက်တစ်ခု။ ချဉ်သကပ်မဟုဟောင်သဖဌင့်၊ ဆာဗာမျာသ အလုံအလောက်မရဟိခဌင်သ သို့မဟုတ် ၎င်သတို့သည် လုပ်ဆောင်စရာမျာသမရဟိဘဲ ပျင်သရိနေပါသည်။ Parallel coding သည် သံဓာတ်ကို ပဌန်လည်အသုံသပဌုခဌင်သ၏ ဝေစုကို တိုသလာစေပါသည်။ ယခုအခါ ကျလန်ုပ်တို့၏ ဆာဗာပေါင်သ တစ်ထောင်ကျော်၏ အစုအဝေသသည် တစ်ခုခုနဟင့် အမဌဲအလုပ်ရဟုပ်နေပါသည်။

တကယ်တော့ တိုသတက်မဟုအတလက် နေရာရဟိပါသေသတယ်။ ဥပမာအာသဖဌင့်၊ ဗီဒီယို၏အပိုင်သအစမျာသကို ကျလန်ုပ်တို့ထံမရောက်ရဟိမီ စတင်လုပ်ဆောင်ပါက သိသာထင်ရဟာသသောအချိန်ကို သက်သာစေနိုင်သည်။ သူတို့ပဌောသလို၊ နောက်ထပ်လာဖို့ရဟိတယ်။

သင်ဖတ်လိုသော ဗီဒီယိုဖဌင့် လုပ်ဆောင်သည့် နယ်ပယ်တလင် မည်သည့်တာဝန်မျာသကို မဟတ်ချက်မျာသတလင် ရေသပါ။

လုပ်ငန်သလုပ်ဖော်ကိုင်ဖက်မျာသ၏ အတလေ့အကဌုံမျာသသို့ အသုံသဝင်သောလင့်ခ်မျာသ

source: www.habr.com

မဟတ်ချက် Add