ڪيئن اسان اٺ ڀيرا وڊيو انڪوڊنگ کي تيز ڪيو

ڪيئن اسان اٺ ڀيرا وڊيو انڪوڊنگ کي تيز ڪيو

هر روز، لکين ناظرین انٽرنيٽ تي وڊيوز ڏسندا آهن. پر وڊيو دستياب ٿيڻ لاءِ، ان کي نه رڳو سرور تي اپلوڊ ڪيو وڃي، پر پروسيس به ڪيو وڃي. جيترو جلدي اهو ٿئي ٿو، بهتر خدمت ۽ ان جي استعمال ڪندڙن لاءِ.

منهنجو نالو Askar Kamalov آهي، هڪ سال اڳ مون Yandex وڊيو ٽيڪنالاجي ٽيم ۾ شامل ٿيو. اڄ آئون مختصر طور تي Habr پڙهندڙن کي ٻڌايان ٿو ته ڪيئن، انڪوڊنگ جي عمل کي متوازي ڪندي، اسان صارف کي وڊيو جي پهچائڻ کي تيز ڪرڻ ۾ مدد ڪئي.

هي پوسٽ بنيادي طور تي انهن لاءِ دلچسپي رکي ٿي جن اڳ ۾ نه سوچيو آهي ته وڊيو سروسز جي هود هيٺ ڇا ٿئي ٿو. تبصرن ۾ توهان سوال پڇي سگهو ٿا ۽ مستقبل جي پوسٽن لاءِ موضوع تجويز ڪري سگهو ٿا.

ڪم پاڻ جي باري ۾ چند لفظن. Yandex نه صرف توهان کي ٻين سائيٽن تي وڊيوز ڳولڻ ۾ مدد ڪري ٿي، پر ان جي پنهنجي خدمتن لاء وڊيوز پڻ محفوظ ڪري ٿي. چاهي اهو اصل پروگرام هجي يا اسپورٽس ميچ آن ايئر، KinoPoisk تي فلم هجي يا Zen ۽ News تي وڊيوز - هي سڀ اسان جي سرورز تي اپ لوڊ ٿيل آهن. صارفين لاء وڊيو ڏسڻ لاء، ان کي تيار ڪرڻ جي ضرورت آهي: گهربل فارميٽ ۾ تبديل، هڪ ڏيک ٺاهي، يا ٽيڪنالاجي ذريعي هلائي ڊيپ ايڇ ڊي. هڪ اڻڄاتل فائل صرف جاء وٺندو آهي. ان کان علاوه، اسان نه رڳو هارڊويئر جي بهترين استعمال بابت ڳالهائي رهيا آهيون، پر صارفين تائين مواد جي پهچائڻ جي رفتار بابت پڻ. مثال: هاڪي ميچ جي فيصلي واري لمحي جي رڪارڊنگ کي ڳولهي سگهجي ٿو هڪ منٽ اندر واقعي کان پوءِ.

تسلسل واري انڪوڊنگ

تنهن ڪري، صارف جي خوشي گهڻو ڪري ان تي منحصر آهي ته وڊيو ڪيئن جلدي دستياب ٿي وڃي ٿي. ۽ اهو خاص طور تي ٽرانسڪوڊنگ جي رفتار سان طئي ڪيو ويندو آهي. جڏهن وڊيو اپلوڊ جي رفتار لاءِ ڪي سخت ضرورتون نه آهن، ته پوءِ ڪو مسئلو ناهي. توهان هڪ واحد، ناقابل تقسيم فائل وٺو، ان کي تبديل ڪريو، ۽ ان کي اپلوڊ ڪريو. اسان جي سفر جي شروعات ۾، هن طريقي سان اسان ڪم ڪيو:

ڪيئن اسان اٺ ڀيرا وڊيو انڪوڊنگ کي تيز ڪيو

ڪلائنٽ وڊيو کي اسٽوريج تي اپلوڊ ڪري ٿو، تجزيي وارو حصو ميٽا معلومات گڏ ڪري ٿو ۽ وڊيو کي ڪم ڪندڙ جزو کي تبديل ڪرڻ لاء منتقل ڪري ٿو. سڀئي مرحلا ترتيب سان ڪيا ويندا آهن. انهي حالت ۾، اتي ڪيترائي انڪوڊنگ سرور ٿي سگهن ٿا، پر صرف هڪ هڪ مخصوص وڊيو پروسيسنگ ۾ مصروف آهي. سادو، شفاف خاڪو. اهو آهي جتي ان جا فائدا ختم ٿي ويا آهن. هي اسڪيم صرف عمودي طور تي ماپ ڪري سگهجي ٿو (وڌيڪ طاقتور سرور جي خريداري جي ڪري).

وچولي نتيجن سان ترتيب وار انڪوڊنگ

ڪنهن به طرح ڏکوئيندڙ انتظار کي هموار ڪرڻ لاءِ ، صنعت هڪ تيز ڪوڊنگ آپشن سان آئي. نالو گمراهه ڪندڙ آهي، ڇاڪاڻ ته حقيقت ۾، مڪمل ڪوڊنگ ترتيب سان ٿيندي آهي ۽ صرف ايترو ڊگهو وٺندو آهي. پر هڪ وچولي نتيجو سان. خيال هي آهي: وڊيو جو گهٽ ريزوليوشن ورجن تيار ۽ شايع ڪريو جيترو جلدي ٿي سگهي، ۽ صرف پوءِ اعليٰ ريزوليوشن ورجن.

هڪ طرف، وڊيو تيزيء سان دستياب ٿي ويندي آهي. ۽ اهو اهم واقعن لاء مفيد آهي. پر ٻئي طرف، تصوير ڦٽي نڪرندي آهي، ۽ اهو ڏسندڙن کي پريشان ڪري ٿو.

اهو ظاهر ٿئي ٿو ته توهان کي نه رڳو جلدي وڊيو کي پروسيس ڪرڻ جي ضرورت آهي، پر ان جي معيار کي پڻ برقرار رکڻو پوندو. اھو اھو آھي جيڪو صارفين ھڪڙي ويڊيو سروس مان توقع ڪري ٿو. اهو لڳي سگھي ٿو ته اهو تمام گهڻي پيداوار سرور خريد ڪرڻ لاء ڪافي آهي (۽ باقاعده انهن سڀني کي هڪ ڀيرو اپڊيٽ ڪريو). پر اهو هڪ مئل آخر آهي، ڇاڪاڻ ته اتي هميشه هڪ وڊيو آهي جيڪو به تمام طاقتور هارڊويئر کي سست ڪري ڇڏيندو.

متوازي انڪوڊنگ

اهو هڪ پيچيده مسئلي کي ڪيترن ئي گهٽ پيچيده مسئلن ۾ ورهائڻ ۽ انهن کي مختلف سرورن تي متوازي حل ڪرڻ تمام گهڻو ڪارائتو آهي. ھي آھي MapReduce وڊيو لاءِ. انهي حالت ۾، اسان هڪ سرور جي ڪارڪردگي تائين محدود نه آهيون ۽ افقي طور تي ماپ ڪري سگهون ٿا (نئين مشين کي شامل ڪندي).

رستي جي ذريعي، وڊيوز کي ننڍن ٽڪرن ۾ ورهائڻ جو خيال، انهن کي متوازي ۾ پروسيسنگ ڪرڻ ۽ انهن کي گڏ ڪرڻ جو ڪو راز ناهي. توهان هن طريقي سان ڪيترائي حوالا ڳولي سگهو ٿا (مثال طور، Habré تي آئون پروجيڪٽ بابت پوسٽ جي سفارش ڪريان ٿو DistVIDc). پر اهو ان کي مجموعي طور تي آسان نٿو بڻائي، ڇو ته توهان صرف تيار ٿيل حل نه وٺي سگهو ٿا ۽ ان کي پنهنجي گهر ۾ ٺاهي سگهو ٿا. اسان کي اسان جي انفراسٽرڪچر، اسان جي وڊيو ۽ جيتوڻيڪ اسان جي لوڊ ڪرڻ جي ضرورت آهي. عام طور تي، پنهنجو پاڻ کي لکڻ آسان آهي.

تنهن ڪري، نئين اڏاوت ۾، اسان ورهايو monolithic ورڪر بلاڪ کي ترتيب واري ڪوڊنگ سان microservices Segmenter، Tcoder، Combiner ۾.

ڪيئن اسان اٺ ڀيرا وڊيو انڪوڊنگ کي تيز ڪيو

  1. سيگمينٽر وڊيو کي ٽوڙي ٿو تقريبن 10 سيڪنڊن جي ٽڪرن ۾. ٽڪرا هڪ يا وڌيڪ GOPs تي مشتمل آهن (تصويرن جو گروپ). هر GOP آزاد آهي ۽ الڳ الڳ انڪوڊ ٿيل آهي ته جيئن ان کي ٻين GOPs جي فريم جي حوالي کان بغير ڊيڪوڊ ڪري سگهجي. اهو آهي، ٽڪرا هڪ ٻئي کان آزاديء سان ادا ڪري سگھجن ٿيون. هي شارڊنگ دير سان گھٽائي ٿو، پروسيسنگ کي اڳ شروع ڪرڻ جي اجازت ڏئي ٿو.
  2. Tcoder هر ٽڪرا تي عمل ڪري ٿو. اهو قطار مان هڪ ٽاسڪ وٺندو آهي، اسٽوريج مان هڪ ٽڪرو ڊائون لوڊ ڪري ٿو، ان کي مختلف قراردادن ۾ انڪوڊ ڪري ٿو (ياد رهي ته پليئر ڪنيڪشن جي رفتار جي بنياد تي هڪ نسخو چونڊي سگهي ٿو)، پوء نتيجو واپس اسٽوريج ۾ رکي ٿو ۽ ٽڪڙي کي پروسيس ٿيل طور نشان لڳايو. ڊيٽابيس ۾. سڀني ٽڪرن تي عمل ڪرڻ کان پوء، Tcoder ايندڙ جزو لاء نتيجا پيدا ڪرڻ لاء ڪم موڪلي ٿو.
  3. Combiner نتيجن کي گڏ ڪري ٿو: Tcoder پاران ٺاهيل سڀئي ٽڪرا ڊائون لوڊ ڪري ٿو، مختلف قراردادن لاء وهڪرو ٺاهي ٿو.

آواز جي باري ۾ چند لفظ. سڀ کان وڌيڪ مشهور AAC آڊيو ڪوڊيڪ هڪ ناپسنديده خصوصيت آهي. جيڪڏهن توهان ٽڪڙن کي الڳ الڳ انڪوڊ ڪيو ٿا، ته پوءِ توهان آسانيءَ سان انهن کي گڏ ڪري نه سگهندا. تبديليون قابل ذڪر هوندا. وڊيو ڪوڊيڪس وٽ اهو مسئلو ناهي. نظرياتي طور تي، توهان هڪ پيچيده ٽيڪنيڪل حل ڳولي سگهو ٿا، پر هي راند صرف موم بتي جي قيمت نه آهي (آڊيو وزن ويڊيو کان گهڻو گهٽ آهي). تنهن ڪري، صرف وڊيو متوازي ۾ انڪوڊ ٿيل آهي، ۽ سڄو آڊيو ٽريڪ پروسيس ڪيو ويندو آهي.

نتيجا

متوازي وڊيو پروسيسنگ جي مهرباني، اسان هڪ وڊيو اسان تي اپلوڊ ٿيڻ ۽ استعمال ڪندڙن لاءِ دستياب هجڻ جي وچ ۾ دير کي گهٽائي ڇڏيو آهي. مثال طور، اڳ ۾ هڪ ڪلاڪ ۽ اڌ ڪلاڪ جي هڪ FullHD فلم لاءِ مختلف معيار جا ڪيترائي مڪمل ورجن ٺاهڻ ۾ ٻه ڪلاڪ لڳي سگهن ٿا. هاڻي اهو سڀ ڪجهه 15 منٽ وٺندو آهي. ان کان علاوه، متوازي پروسيسنگ سان، اسان هڪ اعلي ريزوليوشن ورزن ٺاهيندا آهيون جيتوڻيڪ گهٽ ريزوليوشن ورزن جي ڀيٽ ۾ پراڻي وچولي نتيجن واري طريقي سان.

۽ هڪ ٻي ڳالهه. پراڻي طريقي سان، يا ته ڪافي سرور نه هئا، يا اهي ڪم کان سواء بيڪار هئا. متوازي ڪوڊنگ توهان کي لوهه جي ريزائنگنگ جي حصيداري کي وڌائڻ جي اجازت ڏئي ٿي. ھاڻي ھزارن کان وڌيڪ سرورن جو اسان جو ڪلستر ھميشه ڪنھن نه ڪنھن ڪم ۾ مصروف آھي.

حقيقت ۾، اڃا به بهتري لاء ڪمرو آهي. مثال طور، اسان اهم وقت بچائي سگهون ٿا جيڪڏهن اسان پروسيسنگ شروع ڪريون ٿا وڊيو جي ٽڪرن کي مڪمل طور تي اسان وٽ پهچڻ کان اڳ. جيئن اهي چون ٿا، وڌيڪ اچڻو آهي.

تبصرن ۾ لکو ته وڊيو سان ڪم ڪرڻ جي فيلڊ ۾ ڪهڙا ڪم جيڪي توهان پڙهڻ چاهيندا.

صنعت جي ڀائيوارن جي تجربن لاء مفيد لنڪ

جو ذريعو: www.habr.com

تبصرو شامل ڪريو