வீடியோ குறியாக்கத்தை எப்படி எட்டு மடங்கு அதிகரித்தோம்

வீடியோ குறியாக்கத்தை எப்படி எட்டு மடங்கு அதிகரித்தோம்

ஒவ்வொரு நாளும், மில்லியன் கணக்கான பார்வையாளர்கள் இணையத்தில் வீடியோக்களைப் பார்க்கிறார்கள். ஆனால் வீடியோ கிடைக்க வேண்டுமானால், அது சர்வரில் பதிவேற்றம் செய்யப்படாமல், செயலாக்கப்பட வேண்டும். இது எவ்வளவு வேகமாக நடக்கிறதோ, அந்தச் சேவைக்கும் அதன் பயனர்களுக்கும் சிறந்தது.

என் பெயர் அஸ்கர் கமாலோவ், ஒரு வருடம் முன்பு நான் யாண்டெக்ஸ் வீடியோ தொழில்நுட்பக் குழுவில் சேர்ந்தேன். குறியாக்க செயல்முறையை இணைத்து, பயனருக்கு வீடியோ வழங்குவதை எவ்வாறு விரைவுபடுத்த முடிந்தது என்பதைப் பற்றி இன்று நான் Habr வாசகர்களுக்கு சுருக்கமாக கூறுவேன்.

வீடியோ சேவைகளின் கீழ் என்ன நடக்கிறது என்பதைப் பற்றி முன்பு சிந்திக்காதவர்களுக்கு இந்த இடுகை முதன்மையாக ஆர்வமாக இருக்கும். கருத்துகளில் நீங்கள் கேள்விகளைக் கேட்கலாம் மற்றும் எதிர்கால இடுகைகளுக்கான தலைப்புகளைப் பரிந்துரைக்கலாம்.

பணியைப் பற்றி சில வார்த்தைகள். Yandex மற்ற தளங்களில் வீடியோக்களைத் தேட உதவுவது மட்டுமல்லாமல், அதன் சொந்த சேவைகளுக்கான வீடியோக்களையும் சேமிக்கிறது. இது அசல் நிரலாக இருந்தாலும் அல்லது விளையாட்டு போட்டியாக இருந்தாலும், KinoPoisk இல் ஒரு திரைப்படமாக இருந்தாலும் அல்லது Zen மற்றும் News இல் உள்ள வீடியோக்களாக இருந்தாலும் - இவை அனைத்தும் எங்கள் சேவையகங்களில் பதிவேற்றப்படும். பயனர்கள் வீடியோவைப் பார்ப்பதற்கு, அதைத் தயாரிக்க வேண்டும்: தேவையான வடிவத்திற்கு மாற்றவும், முன்னோட்டத்தை உருவாக்கவும் அல்லது தொழில்நுட்பத்தின் மூலம் இயக்கவும் ஆழமான எச்.டி. தயார் செய்யப்படாத கோப்பு இடத்தைப் பிடிக்கும். மேலும், வன்பொருளின் உகந்த பயன்பாட்டைப் பற்றி மட்டுமல்ல, பயனர்களுக்கு உள்ளடக்கத்தை வழங்குவதற்கான வேகத்தைப் பற்றியும் நாங்கள் பேசுகிறோம். எடுத்துக்காட்டு: ஒரு ஹாக்கி போட்டியின் தீர்க்கமான தருணத்தின் பதிவை நிகழ்வு முடிந்த ஒரு நிமிடத்திற்குள் தேடலாம்.

தொடர் குறியாக்கம்

எனவே, பயனரின் மகிழ்ச்சி பெரும்பாலும் வீடியோ எவ்வளவு விரைவாகக் கிடைக்கிறது என்பதைப் பொறுத்தது. இது முக்கியமாக டிரான்ஸ்கோடிங் வேகத்தால் தீர்மானிக்கப்படுகிறது. வீடியோ பதிவேற்ற வேகத்திற்கு கடுமையான தேவைகள் இல்லாதபோது, ​​எந்த பிரச்சனையும் இல்லை. நீங்கள் ஒரு ஒற்றை, பிரிக்க முடியாத கோப்பை எடுத்து, அதை மாற்றி, பதிவேற்றவும். எங்கள் பயணத்தின் தொடக்கத்தில், நாங்கள் இப்படித்தான் வேலை செய்தோம்:

வீடியோ குறியாக்கத்தை எப்படி எட்டு மடங்கு அதிகரித்தோம்

க்ளையன்ட் வீடியோவை சேமிப்பகத்தில் பதிவேற்றுகிறார், அனலைசர் கூறு மெட்டா தகவலைச் சேகரித்து, வீடியோவை மாற்றுவதற்காக பணியாளர் கூறுக்கு மாற்றுகிறது. அனைத்து நிலைகளும் தொடர்ச்சியாக செய்யப்படுகின்றன. இந்த வழக்கில், பல குறியாக்க சேவையகங்கள் இருக்கலாம், ஆனால் ஒன்று மட்டுமே குறிப்பிட்ட வீடியோவை செயலாக்குவதில் மும்முரமாக உள்ளது. எளிய, வெளிப்படையான வரைபடம். இங்குதான் அதன் நன்மைகள் முடிவடைகின்றன. இந்த திட்டத்தை செங்குத்தாக மட்டுமே அளவிட முடியும் (அதிக சக்திவாய்ந்த சேவையகங்களை வாங்குவதன் காரணமாக).

இடைநிலை முடிவுடன் தொடர் குறியாக்கம்

வலிமிகுந்த காத்திருப்பை எப்படியாவது சமாளிப்பதற்கு, தொழில்துறை வேகமான குறியீட்டு விருப்பத்தை கொண்டு வந்தது. பெயர் தவறாக வழிநடத்துகிறது, ஏனெனில் உண்மையில், முழு குறியீட்டு முறை வரிசையாக நிகழும் மற்றும் அதிக நேரம் எடுக்கும். ஆனால் ஒரு இடைநிலை முடிவுடன். யோசனை இதுதான்: வீடியோவின் குறைந்த தெளிவுத்திறன் கொண்ட பதிப்பை விரைவில் தயாரித்து வெளியிடவும், அதன் பிறகு மட்டுமே அதிக தெளிவுத்திறன் கொண்ட பதிப்புகள்.

ஒருபுறம், வீடியோ வேகமாக கிடைக்கும். மேலும் இது முக்கியமான நிகழ்வுகளுக்கு பயனுள்ளதாக இருக்கும். ஆனால் மறுபுறம், படம் மங்கலாக மாறிவிடும், இது பார்வையாளர்களை எரிச்சலூட்டுகிறது.

நீங்கள் வீடியோவை விரைவாக செயலாக்குவது மட்டுமல்லாமல், அதன் தரத்தையும் பராமரிக்க வேண்டும் என்று மாறிவிடும். இதைத்தான் இப்போது வீடியோ சேவையிலிருந்து பயனர்கள் எதிர்பார்க்கிறார்கள். அதிக உற்பத்தி செய்யும் சேவையகங்களை வாங்குவது போதுமானது என்று தோன்றலாம் (மற்றும் அவற்றை ஒரே நேரத்தில் மேம்படுத்தவும்). ஆனால் இது ஒரு முட்டுச்சந்தாகும், ஏனென்றால் மிக சக்திவாய்ந்த வன்பொருளைக் கூட மெதுவாக்கும் ஒரு வீடியோ எப்போதும் உள்ளது.

இணை குறியாக்கம்

ஒரு சிக்கலான சிக்கலை பல குறைவான சிக்கலானதாகப் பிரித்து வெவ்வேறு சர்வர்களில் இணையாகத் தீர்ப்பது மிகவும் திறமையானது. இது வீடியோவிற்கான MapReduce ஆகும். இந்த வழக்கில், நாங்கள் ஒரு சேவையகத்தின் செயல்திறனால் வரையறுக்கப்படவில்லை மற்றும் கிடைமட்டமாக (புதிய இயந்திரங்களைச் சேர்ப்பதன் மூலம்) அளவிட முடியும்.

மூலம், வீடியோக்களை சிறிய துண்டுகளாகப் பிரித்து, அவற்றை இணையாக செயலாக்குவது மற்றும் அவற்றை ஒன்றாக ஒட்டுவது போன்ற யோசனை சில ரகசியம் அல்ல. இந்த அணுகுமுறையைப் பற்றிய பல குறிப்புகளை நீங்கள் காணலாம் (உதாரணமாக, ஹப்ரேயில் இந்த திட்டத்தைப் பற்றிய ஒரு இடுகையை நான் பரிந்துரைக்கிறேன் DistVIDc) ஆனால் இது ஒட்டுமொத்தமாக எளிதாக்காது, ஏனென்றால் நீங்கள் ஒரு ஆயத்த தீர்வை எடுத்து அதை உங்கள் வீட்டிற்குள் உருவாக்க முடியாது. எங்கள் உள்கட்டமைப்பு, எங்கள் வீடியோ மற்றும் எங்கள் சுமைக்கு ஏற்றவாறு மாற்றியமைக்க வேண்டும். பொதுவாக, சொந்தமாக எழுதுவது எளிது.

எனவே, புதிய கட்டிடக்கலையில், வரிசைமுறை குறியீட்டு முறையுடன் கூடிய மோனோலிதிக் ஒர்க்கர் தொகுதியை மைக்ரோ சர்வீஸ் செக்மென்டர், டிகோடர், காம்பினர் எனப் பிரித்தோம்.

வீடியோ குறியாக்கத்தை எப்படி எட்டு மடங்கு அதிகரித்தோம்

  1. செக்மென்டர் வீடியோவை தோராயமாக 10 வினாடிகள் துண்டுகளாக உடைக்கிறது. துண்டுகள் ஒன்று அல்லது அதற்கு மேற்பட்ட GOPகளைக் கொண்டிருக்கும் (படங்களின் குழு) ஒவ்வொரு GOPயும் தனித்தனியாக குறியிடப்பட்டு, மற்ற GOPகளின் பிரேம்களைக் குறிப்பிடாமல் டிகோட் செய்ய முடியும். அதாவது, துண்டுகளை ஒருவருக்கொருவர் சுயாதீனமாக விளையாடலாம். இந்த பகிர்தல் தாமதத்தை குறைக்கிறது, செயலாக்கத்தை முன்னதாகவே தொடங்க அனுமதிக்கிறது.
  2. Tcoder ஒவ்வொரு பகுதியையும் செயலாக்குகிறது. இது வரிசையில் இருந்து ஒரு பணியை எடுக்கிறது, சேமிப்பகத்திலிருந்து ஒரு பகுதியைப் பதிவிறக்குகிறது, அதை வெவ்வேறு தீர்மானங்களில் குறியாக்கம் செய்கிறது (பிளேயர் இணைப்பு வேகத்தின் அடிப்படையில் ஒரு பதிப்பைத் தேர்வுசெய்யலாம் என்பதை நினைவில் கொள்ளுங்கள்), பின்னர் முடிவை மீண்டும் சேமிப்பகத்தில் வைத்து, துண்டானது செயலாக்கப்பட்டதாகக் குறிக்கும். தரவுத்தளத்தில். அனைத்து துண்டுகளையும் செயலாக்கிய பிறகு, அடுத்த கூறுக்கான முடிவுகளை உருவாக்க Tcoder பணியை அனுப்புகிறது.
  3. Combiner முடிவுகளை ஒன்றாகச் சேகரிக்கிறது: Tcoder ஆல் உருவாக்கப்பட்ட அனைத்து துண்டுகளையும் பதிவிறக்குகிறது, வெவ்வேறு தீர்மானங்களுக்கான ஸ்ட்ரீம்களை உருவாக்குகிறது.

ஒலி பற்றி சில வார்த்தைகள். மிகவும் பிரபலமான AAC ஆடியோ கோடெக் விரும்பத்தகாத அம்சத்தைக் கொண்டுள்ளது. நீங்கள் துண்டுகளை தனித்தனியாக குறியாக்கம் செய்தால், நீங்கள் அவற்றை ஒன்றாக ஒட்ட முடியாது. மாற்றங்கள் கவனிக்கத்தக்கதாக இருக்கும். வீடியோ கோடெக்குகளுக்கு இந்தப் பிரச்சனை இல்லை. கோட்பாட்டளவில், நீங்கள் ஒரு சிக்கலான தொழில்நுட்ப தீர்வைத் தேடலாம், ஆனால் இந்த விளையாட்டு இன்னும் மெழுகுவர்த்திக்கு மதிப்பு இல்லை (ஆடியோ வீடியோவை விட கணிசமாக குறைவாக உள்ளது). எனவே, வீடியோ மட்டுமே இணையாக குறியாக்கம் செய்யப்படுகிறது, மேலும் முழு ஆடியோ டிராக்கும் செயலாக்கப்படுகிறது.

Результаты

இணையான வீடியோ செயலாக்கத்திற்கு நன்றி, வீடியோ எங்களிடம் பதிவேற்றம் செய்யப்படுவதற்கும் பயனர்களுக்குக் கிடைப்பதற்கும் இடையிலான தாமதத்தை கணிசமாகக் குறைத்துள்ளோம். எடுத்துக்காட்டாக, முன்பு ஒன்றரை மணிநேரம் நீடிக்கும் FullHD படத்திற்கு வெவ்வேறு தரத்தில் பல முழு பதிப்புகளை உருவாக்க இரண்டு மணிநேரம் ஆகலாம். இப்போது இவை அனைத்தும் 15 நிமிடங்கள் ஆகும். மேலும், இணையான செயலாக்கத்துடன், பழைய இடைநிலை முடிவு அணுகுமுறையுடன் குறைந்த தெளிவுத்திறன் கொண்ட பதிப்பை விட வேகமாக உயர் தெளிவுத்திறன் கொண்ட பதிப்பை உருவாக்குகிறோம்.

மேலும் ஒரு விஷயம். பழைய அணுகுமுறையில், போதுமான சர்வர்கள் இல்லை, அல்லது அவை பணிகள் இல்லாமல் சும்மா இருந்தன. இணை குறியீட்டு முறை, இரும்பு மறுசுழற்சியின் பங்கை அதிகரிக்க உங்களை அனுமதிக்கிறது. இப்போது ஆயிரத்திற்கும் மேற்பட்ட சர்வர்களைக் கொண்ட எங்களின் கிளஸ்டர் எப்பொழுதும் ஏதாவது பிஸியாக இருக்கும்.

உண்மையில், இன்னும் முன்னேற்றத்திற்கான இடம் உள்ளது. எடுத்துக்காட்டாக, வீடியோ முழுவதுமாக நமக்கு வந்து சேரும் முன் அதன் துண்டுகளைச் செயலாக்கத் தொடங்கினால், குறிப்பிடத்தக்க நேரத்தைச் சேமிக்க முடியும். அவர்கள் சொல்வது போல், இன்னும் வரவிருக்கிறது.

வீடியோவுடன் பணிபுரியும் துறையில் நீங்கள் என்ன பணிகளைப் படிக்க விரும்புகிறீர்கள் என்பதை கருத்துகளில் எழுதுங்கள்.

தொழில்துறை சக ஊழியர்களின் அனுபவத்திற்கான பயனுள்ள இணைப்புகள்

ஆதாரம்: www.habr.com

கருத்தைச் சேர்