අපි වීඩියෝ කේතනය අට ගුණයකින් වේගවත් කළ ආකාරය

අපි වීඩියෝ කේතනය අට ගුණයකින් වේගවත් කළ ආකාරය

සෑම දිනකම මිලියන ගණනක් නරඹන්නන් අන්තර්ජාලයේ වීඩියෝ නරඹයි. නමුත් වීඩියෝව ලබා ගැනීමට නම්, එය සේවාදායකයට උඩුගත කිරීම පමණක් නොව, සැකසීමද කළ යුතුය. මෙය වේගයෙන් සිදු වන තරමට, සේවාවට සහ එහි පරිශීලකයින්ට වඩා හොඳය.

මගේ නම Askar Kamalov, වසරකට පෙර මම Yandex වීඩියෝ තාක්ෂණ කණ්ඩායමට බැඳුණා. අද මම Habr පාඨකයන්ට කෙටියෙන් කියන්නම්, කේතීකරණ ක්‍රියාවලිය සමාන්තරව, පරිශීලකයාට වීඩියෝ බෙදා හැරීම සැලකිය යුතු ලෙස වේගවත් කිරීමට අපි සමත් වූ ආකාරය ගැන.

මෙම සටහන මූලික වශයෙන් වීඩියෝ සේවා ආවරණය යටතේ සිදුවන්නේ කුමක්ද යන්න ගැන කලින් සිතා නොතිබූ අයට උනන්දුවක් දක්වනු ඇත. අදහස් දැක්වීමේදී ඔබට ප්‍රශ්න ඇසීමට සහ අනාගත ලිපි සඳහා මාතෘකා යෝජනා කළ හැකිය.

කාර්යය ගැනම වචන කිහිපයක්. Yandex ඔබට වෙනත් වෙබ් අඩවිවල වීඩියෝ සෙවීමට පමණක් නොව, එහිම සේවාවන් සඳහා වීඩියෝ ගබඩා කරයි. එය මුල් වැඩසටහනක් හෝ ගුවන්ගත ක්‍රීඩා තරඟයක් වේවා, KinoPoisk හි චිත්‍රපටයක් හෝ Zen සහ News හි වීඩියෝ වේවා - මේ සියල්ල අපගේ සේවාදායකයන් වෙත උඩුගත කෙරේ. පරිශීලකයින්ට වීඩියෝව නැරඹීම සඳහා, එය සකස් කිරීම අවශ්ය වේ: අවශ්ය ආකෘතියට පරිවර්තනය කිරීම, පෙරදසුනක් නිර්මාණය කිරීම හෝ තාක්ෂණය හරහා පවා ධාවනය කිරීම ගැඹුරු එච්.ඩී. සූදානම් නොකළ ගොනුවක් ඉඩ ලබා ගනී. එපමනක් නොව, අපි දෘඪාංගයේ ප්රශස්ත භාවිතය ගැන පමණක් නොව, පරිශීලකයින්ට අන්තර්ගතය බෙදා හැරීමේ වේගය ගැන කතා කරමු. උදාහරණය: හොකී තරගයක තීරණාත්මක අවස්ථාව පටිගත කිරීම සිදුවීමෙන් පසුව විනාඩියක් ඇතුළත සෙවිය හැක.

අනුක්‍රමික සංකේතනය

එබැවින්, පරිශීලකයාගේ සතුට බොහෝ දුරට රඳා පවතින්නේ වීඩියෝව කෙතරම් ඉක්මනින් ලබා ගත හැකිද යන්න මතය. තවද මෙය ප්‍රධාන වශයෙන් ට්‍රාන්ස්කෝඩින් වේගය අනුව තීරණය වේ. වීඩියෝ උඩුගත කිරීමේ වේගය සඳහා දැඩි අවශ්‍යතා නොමැති විට, ගැටළු නොමැත. ඔබ තනි, නොබෙදිය හැකි ගොනුවක් ගෙන එය පරිවර්තනය කර උඩුගත කරන්න. අපේ ගමන ආරම්භයේදී අපි වැඩ කළේ මෙහෙමයි.

අපි වීඩියෝ කේතනය අට ගුණයකින් වේගවත් කළ ආකාරය

සේවාදායකයා වීඩියෝව ගබඩාවට උඩුගත කරයි, විශ්ලේෂක සංරචකය මෙටා තොරතුරු රැස් කර වීඩියෝව පරිවර්තනය සඳහා සේවක සංරචකයට මාරු කරයි. සියලුම අදියරයන් අනුපිළිවෙලින් සිදු කරනු ලැබේ. මෙම අවස්ථාවේදී, බොහෝ කේතීකරණ සේවාදායකයන් තිබිය හැක, නමුත් එක් විශේෂිත වීඩියෝවක් සැකසීමේ කාර්යබහුල වේ. සරල, විනිවිද පෙනෙන රූප සටහන. මෙහි වාසි අවසන් වේ. මෙම යෝජනා ක්රමය සිරස් අතට පමණක් පරිමාණය කළ හැකිය (වඩා බලවත් සේවාදායකයන් මිලදී ගැනීම හේතුවෙන්).

අතරමැදි ප්රතිඵලය සමඟ අනුක්රමික කේතනය

වේදනාකාරී බලා සිටීම කෙසේ හෝ සමනය කිරීම සඳහා, කර්මාන්තය වේගවත් කේතීකරණ විකල්පයක් ඉදිරිපත් කළේය. නම නොමඟ යවන සුළුය, මන්ද ඇත්ත වශයෙන්ම, සම්පූර්ණ කේතීකරණය අනුක්‍රමිකව සිදු වන අතර බොහෝ කාලයක් ගත වේ. නමුත් අතරමැදි ප්රතිඵලය සමඟ. අදහස මෙයයි: වීඩියෝවේ අඩු-විභේදන අනුවාදයක් හැකි ඉක්මනින් සකස් කර ප්‍රකාශයට පත් කරන්න, පසුව පමණක් ඉහළ-විභේදන අනුවාද.

එක් අතකින්, වීඩියෝව ඉක්මනින් ලබා ගත හැකිය. තවද එය වැදගත් සිදුවීම් සඳහා ප්රයෝජනවත් වේ. නමුත් අනෙක් අතට, පින්තූරය නොපැහැදිලි වන අතර මෙය නරඹන්නන්ට කරදර කරයි.

ඔබ ඉක්මනින් වීඩියෝව සැකසීමට පමණක් නොව, එහි ගුණාත්මකභාවය පවත්වා ගැනීමට අවශ්ය බව පෙනේ. දැන් වීඩියෝ සේවාවකින් පරිශීලකයින් බලාපොරොත්තු වන්නේ මෙයයි. වඩාත්ම ඵලදායි සේවාදායකයන් මිලදී ගැනීමට එය ප්රමාණවත් බව පෙනේ (සහ නිතිපතා ඒවා සියල්ලම එකවර යාවත්කාලීන කරන්න). නමුත් මෙය මාරාන්තික අවසානයකි, මන්ද සෑම විටම වඩාත්ම බලවත් දෘඩාංග පවා මන්දගාමී වන වීඩියෝවක් ඇත.

සමාන්තර කේතනය

සංකීර්ණ ගැටළුවක් අඩු සංකීර්ණ බොහෝ ඒවාට බෙදා විවිධ සේවාදායකයන් මත සමාන්තරව විසඳා ගැනීම වඩාත් කාර්යක්ෂම වේ. මෙය වීඩියෝ සඳහා MapReduce වේ. මෙම අවස්ථාවෙහිදී, අපි එක් සේවාදායකයක ක්‍රියාකාරීත්වයට සීමා නොවන අතර තිරස් අතට පරිමාණය කළ හැකිය (නව යන්ත්‍ර එකතු කිරීමෙන්).

මාර්ගය වන විට, වීඩියෝ කුඩා කැබලිවලට බෙදීම, ඒවා සමාන්තරව සැකසීම සහ ඒවා එකට ඇලවීම පිළිබඳ අදහස රහසක් නොවේ. ඔබට මෙම ප්‍රවේශය සඳහා බොහෝ යොමු කිරීම් සොයාගත හැකිය (උදාහරණයක් ලෙස, Habré හි මම ව්‍යාපෘතිය පිළිබඳ සටහනක් නිර්දේශ කරමි DistVIDc) නමුත් මෙය සමස්තයක් වශයෙන් පහසු නොවේ, මන්ද ඔබට සූදානම් කළ විසඳුමක් ගෙන එය ඔබේ නිවස තුළට ගොඩනගා ගත නොහැකි බැවිනි. අපට අපගේ යටිතල පහසුකම්, අපගේ වීඩියෝව සහ අපගේ බරට පවා අනුගත වීම අවශ්‍ය වේ. පොදුවේ, ඔබේම ලිවීමට පහසුය.

ඉතින්, නව ගෘහ නිර්මාණ ශිල්පය තුළ, අපි අනුක්‍රමික කේතීකරණය සහිත මොනොලිතික් වර්කර් බ්ලොක් එක microservices Segmenter, Tcoder, Combiner ලෙස බෙදුවෙමු.

අපි වීඩියෝ කේතනය අට ගුණයකින් වේගවත් කළ ආකාරය

  1. Segmenter විසින් වීඩියෝව ආසන්න වශයෙන් තත්පර 10 ක කොටස් වලට කැඩී යයි. කොටස් GOP එකක් හෝ වැඩි ගණනකින් සමන්විත වේ (පින්තූර සමූහය) සෑම GOP එකක්ම ස්වාධීන වන අතර වෙන වෙනම කේතනය කර ඇති අතර එමඟින් අනෙකුත් GOP වල රාමු වෙත යොමු නොවී විකේතනය කළ හැක. එනම්, කොටස් එකිනෙකින් ස්වාධීනව වාදනය කළ හැකිය. මෙම බෙදා හැරීම ප්‍රමාදය අඩු කරයි, සැකසීමට පෙර ආරම්භ කිරීමට ඉඩ සලසයි.
  2. Tcoder සෑම කොටසක්ම සකසයි. එය පෝලිමේ සිට කාර්යයක් ගනී, ගබඩාවෙන් කොටසක් බාගත කරයි, එය විවිධ විභේදනවලට කේතනය කරයි (ක්‍රීඩකයාට සම්බන්ධතා වේගය මත පදනම්ව අනුවාදයක් තෝරා ගත හැකි බව මතක තබා ගන්න), ඉන්පසු ප්‍රතිඵලය නැවත ගබඩාවට තබා ඛණ්ඩය සැකසූ ලෙස සලකුණු කරයි. දත්ත ගබඩාවේ. සියලුම කොටස් සැකසීමෙන් පසු, Tcoder ඊළඟ සංරචකය සඳහා ප්රතිඵල උත්පාදනය කිරීමට කාර්යය යවයි.
  3. Combiner එකට ප්‍රතිඵල එකතු කරයි: Tcoder විසින් සාදන ලද සියලුම කොටස් බාගත කරයි, විවිධ විභේදන සඳහා ප්‍රවාහ උත්පාදනය කරයි.

ශබ්දය ගැන වචන කිහිපයක්. වඩාත් ජනප්රිය AAC ශ්රව්ය කෝඩෙක් අප්රසන්න අංගයක් ඇත. ඔබ කොටස් වෙන වෙනම කේතනය කරන්නේ නම්, ඔබට ඒවා බාධාවකින් තොරව එකට ඇලවීමට නොහැකි වනු ඇත. මාරුවීම් කැපී පෙනෙනු ඇත. වීඩියෝ කෝඩෙක්ස් වල මෙම ගැටළුව නොමැත. න්‍යායාත්මකව, ඔබට සංකීර්ණ තාක්ෂණික විසඳුමක් සෙවිය හැකිය, නමුත් මෙම ක්‍රීඩාව තවමත් ඉටිපන්දම වටින්නේ නැත (ශ්‍රව්‍ය වීඩියෝවට වඩා සැලකිය යුතු ලෙස බරයි). එබැවින්, වීඩියෝව පමණක් සමාන්තරව සංකේතනය කර ඇති අතර, සම්පූර්ණ ශ්රව්ය පථය සකසනු ලැබේ.

ප්රතිඵල

සමාන්තර වීඩියෝ සැකසීමට ස්තූතියි, අපි වීඩියෝවක් අප වෙත උඩුගත කිරීම සහ පරිශීලකයින්ට ලබා ගත හැකි වීම අතර ප්‍රමාදය සැලකිය යුතු ලෙස අඩු කර ඇත. උදාහරණයක් ලෙස, මීට පෙර පැය එකහමාරක් පවතින FullHD චිත්‍රපටයක් සඳහා විවිධ තත්ත්වයේ සම්පූර්ණ අනුවාද කිහිපයක් නිර්මාණය කිරීමට පැය දෙකක් ගත විය හැකිය. දැන් මේ සියල්ල විනාඩි 15 ක් ගතවේ. එපමනක් නොව, සමාන්තර සැකසුම් සමග, අපි පැරණි අතරමැදි ප්රතිඵල ප්රවේශය සමග අඩු-විභේදන අනුවාදයකට වඩා වේගවත් අධි-විභේදන අනුවාදයක් නිර්මාණය කරමු.

සහ තවත් එක් දෙයක්. පැරණි ප්‍රවේශය සමඟ, එක්කෝ ප්‍රමාණවත් සේවාදායකයන් නොතිබුණි, නැතහොත් ඒවා කාර්යයන් නොමැතිව නිෂ්ක්‍රීය විය. සමාන්තර කේතීකරණය ඔබට යකඩ ප්රතිචක්රීකරණයේ කොටස වැඩි කිරීමට ඉඩ සලසයි. දැන් අපගේ සේවාදායකයන් දහසකට වඩා වැඩි සමූහයක් සෑම විටම යමක් සමඟ කාර්යබහුලයි.

ඇත්ත වශයෙන්ම, වැඩිදියුණු කිරීමට තවමත් ඉඩ තිබේ. උදාහරණයක් ලෙස, අපි වීඩියෝවේ කොටස් සම්පූර්ණයෙන්ම අප වෙත පැමිණීමට පෙර සැකසීම ආරම්භ කළහොත් අපට සැලකිය යුතු කාලයක් ඉතිරි කර ගත හැක. ඔවුන් පවසන පරිදි, තවත් ඉදිරියට පැමිණේ.

ඔබ කියවීමට කැමති වීඩියෝ සමඟ වැඩ කිරීමේ ක්ෂේත්‍රයේ කාර්යයන් මොනවාදැයි අදහස් දැක්වීම්වල ලියන්න.

කර්මාන්තයේ සගයන්ගේ අත්දැකීම් සඳහා ප්රයෝජනවත් සබැඳි

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න