اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

حال ہی میں، ایک شوق کے طور پر، میں اپنے جاننے والے ایک ماہر نفسیات کے لیکچرز فلما رہا ہوں۔ میں فوٹیج میں ترمیم کرتا ہوں اور اسے اپنی ویب سائٹ پر شائع کرتا ہوں۔ ایک ماہ پہلے، مجھے یوٹیوب پر ان لیکچرز کی 24/7 نشریات کا اہتمام کرنے کا خیال آیا۔ ایک قسم کا موضوعاتی "ٹی وی چینل" جو ذاتی ترقی کے لیے وقف ہے۔

میں جانتا ہوں کہ باقاعدہ نشریات کیسے کی جاتی ہیں۔ لیکن اسے کیسے بنایا جائے تاکہ یہ ویڈیو فائلوں کا براڈکاسٹ ہو؟ تاکہ یہ 24/7 چلتا ہے، لچکدار ہے، جتنا ممکن ہو خود مختار ہے، اور اس کے ساتھ ساتھ میرے گھر کے کمپیوٹر پر کسی بھی طرح سے انحصار نہیں کرتا ہے۔ یہ وہی ہے جو مجھے تلاش کرنا تھا.

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

اس کا حل تلاش کرنے میں کئی دن لگے۔ میں نے بہت سے فورمز اور مختلف دستورالعمل کا مطالعہ کیا جن کے بغیر میرا براڈکاسٹ کام نہیں کر سکتا تھا۔ اور اب جب کہ مذاق کامیاب ہے، میں اپنے حل کو شیئر کرنے کی ضرورت محسوس کرتا ہوں۔ اس طرح یہ مضمون شائع ہوا۔

مختصر میں، حتمی حل مندرجہ ذیل تھا: VPS + ffmeg + bash اسکرپٹ. کٹ کے تحت، میں اٹھائے گئے اقدامات کی وضاحت کرتا ہوں اور ان خرابیوں کے بارے میں بات کرتا ہوں جو نشریات کو منظم کرتے وقت دریافت ہوئے تھے۔

مرحلہ 1 – براڈکاسٹ کہاں سے آئے گا؟

شروع ہی میں یہ طے کرنا ضروری تھا کہ نشریات کہاں سے ہوں گی اور اس کا ذریعہ کہاں ہو گا۔ سب سے پہلی بات جو ذہن میں آئی آپ کے گھر کے کمپیوٹر سے. ویڈیوز کو پلے لسٹ میں جمع کریں اور انہیں کسی بھی ویڈیو پلیئر میں چلانا شروع کریں۔ پھر اسکرین کی تصویر کیپچر کریں اور اسے یوٹیوب پر نشر کریں۔ لیکن میں نے فوراً ہی اس آپشن کو مسترد کر دیا کیونکہ... اسے لاگو کرنے کے لیے، آپ کو اپنے گھر کے کمپیوٹر کو مسلسل آن رکھنے کی ضرورت ہے، جس کا مطلب ہے کہ رات کے وقت بھی کولروں سے شور ہوتا ہے اور بجلی کی کھپت میں اضافہ ہوتا ہے (ہر ماہ +100-150 kWh)۔ اور یہ پتہ چلتا ہے کہ آپ نشریات کے دوران اپنے گھر کا کمپیوٹر استعمال نہیں کر پائیں گے۔ ماؤس کی کوئی حرکت براڈکاسٹ میں نظر آئے گی۔

پھر میں ایک طرف دیکھنے لگا کلاؤڈ سروسز. میں ایک ریڈی میڈ سروس کی تلاش میں تھا جہاں میں اپنے ویڈیوز اپ لوڈ کر سکوں یا مثال کے طور پر یوٹیوب سے ویڈیوز کے لنکس داخل کر سکوں اور یہ سب ایک نان سٹاپ براڈکاسٹ میں پیک کر دیا جائے گا۔ لیکن مجھے کچھ بھی مناسب نہیں ملا۔ شاید میں نے اچھی طرح تلاش نہیں کیا۔ واحد چیز جو فعالیت کے مطابق ہے وہ ہے restream.io، ایک ایسی سروس جو بیک وقت کئی پلیٹ فارمز پر نشر کرنے میں مدد کرتی ہے۔ ایسا لگتا ہے کہ وہ آپ کو اپنے ویڈیوز اپ لوڈ کرنے کی اجازت دیتے ہیں۔ لیکن یہ سروس بالکل مختلف مقاصد کے لیے بنائی گئی تھی اور وہ توقع کرتے ہیں کہ یہ نشریات صرف چند گھنٹے ہی چلے گی۔ میرا خیال ہے کہ اگر اس سروس کے ذریعے چوبیس گھنٹے نشریات کو منظم کرنا ممکن ہو جائے تو یہ دسیوں، یا یہاں تک کہ سینکڑوں ڈالر ماہانہ تک پہنچ جائے گی۔ لیکن میں پھر بھی براڈکاسٹ کو مفت یا کم سے کم مالی سرمایہ کاری کے ساتھ منظم کرنا چاہتا تھا۔

یہ واضح ہو گیا کہ نشریات کے لیے ضروری تھا یا علیحدہ آلہ یا یہاں تک کہ ایک الگ کمپیوٹر۔ میں Raspberri Pi کی طرح کچھ سوچ رہا تھا۔ اور کیا؟ اس کے پاس کولر نہیں ہے۔ میں نے فلیش ڈرائیو پر ویڈیو ریکارڈ کی، ایتھرنیٹ کیبل لگا دی اور اسے کسی ویران جگہ پر پڑا رہنے دیا اور اسے نشر کیا۔ آپشن۔ لیکن میرے پاس نہ تو بورڈ تھا اور نہ ہی اس کے ساتھ کام کرنے کا تجربہ، اس لیے میں نے بھی اس اختیار سے انکار کر دیا۔

نتیجے کے طور پر، میں نے ایک خاص بحث کی جہاں انہوں نے تخلیق پر بحث کی۔ اپنا سرور نشریات یہ بالکل وہی نہیں تھا جس کی میں تلاش کر رہا تھا، لیکن مجھے بنیادی خیال ملا - آپ سرور استعمال کر سکتے ہیں! اس بحث میں، VPS + nginx + OBS کا مجموعہ استعمال کرنے کا مشورہ دیا گیا۔ یہ واضح ہو گیا کہ یہ امتزاج مجھے بھی سوٹ کر سکتا ہے۔ صرف ایک چیز جس نے مجھے الجھن میں ڈالا وہ یہ تھا کہ میں نے کبھی سرور کا انتظام نہیں کیا تھا اور مجھے ایسا لگتا تھا کہ میرا اپنا سرشار سرور ہونا مبہم اور مہنگا تھا۔ میں نے یہ معلوم کرنے کا فیصلہ کیا کہ کم سے کم ترتیب والے سرور کو کرایہ پر لینے میں کتنا خرچ آئے گا اور مجھے خوشگوار حیرت ہوئی۔

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

قیمتیں بیلاروسی روبل میں بتائی جاتی ہیں اور یہ صرف ٹکڑے ہیں۔ سمجھنے کے لیے، 8 بیلاروسی روبل تقریباً 3.5 ڈالر یا 240 روسی روبل ہیں۔ ایک مکمل کمپیوٹر استعمال کرنے کے ایک مہینے کے لیے جو 24/7 آن ہوتا ہے اور تیز رفتار انٹرنیٹ تک رسائی رکھتا ہے۔ کسی وجہ سے یہ دریافت میرے لیے بہت خوشی کا باعث بنی اور کئی دنوں تک میں اس بچے کی طرح بہت خوش ہوا، جس نے خلائی راکٹ دریافت کیے ہوں :)

ویسے، میں نے پہلی سائٹ کی پیشکش کا فائدہ اٹھایا جو گوگل نے مجھے "VPS رینٹل" کے سوال کے لیے دی تھی۔ شاید اس سے بھی زیادہ بجٹ کے حل ہیں، لیکن یہ قیمت میرے لیے موزوں تھی اور میں نے مزید نہیں دیکھا۔

سرور بناتے وقت، آپ وہ آپریٹنگ سسٹم منتخب کر سکتے ہیں جس کے تحت یہ چلے گا۔ آپ درج کردہ سسٹمز میں سے کسی پر براڈکاسٹ ترتیب دے سکتے ہیں اور اپنی ترجیحات اور مالی صلاحیتوں کی بنیاد پر انتخاب کر سکتے ہیں (ونڈوز والے سرور کے لیے وہ اضافی فیس مانگتے ہیں)۔ میں نے CentOS کا انتخاب کیا۔ صرف اس لیے کہ مجھے اس سے پہلے اس کا بہت کم تجربہ تھا۔

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

مرحلہ 2 - سرور سیٹ اپ

سرور بنانے کے بعد آپ کو سب سے پہلے جس چیز کی ضرورت ہے وہ SSH کے ذریعے اس سے جڑنا ہے۔ پہلے میں نے PuTTy استعمال کیا، لیکن پھر میں نے سیکیور شیل ایپ کا استعمال شروع کیا، جو گوگل کروم میں چلتی ہے۔ یہ میرے لیے زیادہ آسان نکلا۔

پھر میں نے میزبان نام تبدیل کیا، سرور پر ٹائم سنکرونائزیشن ترتیب دی، سسٹم کو اپ ڈیٹ کیا، iptables کے ساتھ ٹنکر کیا... اور دوسری چیزوں کا ایک گروپ کیا، لیکن اس لیے نہیں کہ یہ ضروری تھا۔ میں صرف سرور کو ترتیب دینے میں دلچسپی رکھتا تھا اور اس نے میرے لئے کام کیا۔ جب یہ کام کرتا ہے تو مجھے یہ پسند ہے :)

یہاں وہ اقدامات ہیں جو آپ کو اٹھانے کی ضرورت ہے:

  1. EPEL ذخیرہ کو مربوط کریں۔
  2. ایک FTP سرور مرتب کریں (میں نے vsftp کا انتخاب کیا)۔
  3. ffmpeg انسٹال کریں۔

میں تفصیل سے احکامات نہیں دوں گا؛ یہ ہدایات بلکہ تصوراتی ہیں، عمل کے عمومی منصوبے کو بیان کرنے کے لیے۔ اگر آپ کو کسی بھی مرحلے میں کوئی دشواری پیش آتی ہے، تو وہ سرچ انجن کے استفسار جیسے "CentOS connect EPEL" یا "CentOS install FTP سرور" استعمال کر کے فوری طور پر حل کیے جا سکتے ہیں۔ اور پہلے لنکس پر آپ تفصیلی مرحلہ وار ہدایات حاصل کر سکتے ہیں۔

لہذا، جیسا کہ میں نے پہلے لکھا تھا، مجھے VPS + nginx + OBS کے امتزاج کی ضرورت تھی۔ VPS - تیار ہے۔ لیکن دوسرے نکات پر سوالات اٹھنے لگے۔ OBS ایک نشریاتی پروگرام ہے، اوپن براڈکاسٹر سافٹ ویئر۔ اور یہ صرف اسٹریمز کے ساتھ کام کرتا ہے یعنی مثال کے طور پر، یہ ویب کیم سے تصویر لیتا ہے اور اسے نشر کرتا ہے۔ یا اسکرین ریکارڈنگ۔ یا پہلے سے جاری نشریات کو کسی اور سائٹ پر بھیج دیا جاتا ہے۔ لیکن میرے پاس کوئی سلسلہ نہیں ہے، میرے پاس صرف ویڈیو فائلوں کا ایک سیٹ ہے جسے اسٹریم میں بنانے کی ضرورت ہے۔

میں نے اس سمت کھودنا شروع کیا اور ffmpeg کے پاس آیا۔ FFmpeg مفت اور اوپن سورس لائبریریوں کا ایک سیٹ ہے جو آپ کو مختلف فارمیٹس میں ڈیجیٹل آڈیو اور ویڈیو کو ریکارڈ کرنے، تبدیل کرنے اور اسٹریم کرنے کی اجازت دیتا ہے۔

اور میں بہت حیران تھا کہ ffmpeg کتنا کر سکتا ہے۔ اگر آپ چاہیں تو یہ ویڈیو سے آواز نکال لے گا۔ اگر آپ چاہیں تو یہ ویڈیو کا ایک ٹکڑا دوبارہ کوڈ کیے بغیر کاٹ دے گا۔ اگر آپ چاہیں تو یہ ایک فارمیٹ سے دوسرے فارمیٹ میں بدل جائے گا۔ اور بہت کچھ، بہت کچھ۔ اس مقام تک کہ آپ اس میں ایک فائل کی وضاحت کر سکتے ہیں، یہ اسے سٹریم میں تبدیل کر دے گا اور اسے خود یوٹیوب پر منتقل کر دے گا۔ یہ ہے، زنجیر جمع ہے. جو کچھ باقی ہے وہ باریکیوں کو حتمی شکل دینا ہے۔

مرحلہ 3 - براڈکاسٹ سیٹ اپ

ہم یوٹیوب پر براڈکاسٹ بناتے ہیں۔ اس مرحلے پر ہمیں صرف لنک اور براڈکاسٹ کلید کی ضرورت ہے۔ ذیل میں اسکرین شاٹ میں وہ سرخ رنگ میں نمایاں ہیں۔

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

مزید سرور پر ویڈیو فائلیں اپ لوڈ کریں، جسے ہم نشر کرنے کا ارادہ رکھتے ہیں۔ دراصل، FTP صرف اس مرحلے کے لیے ضروری ہے۔ اگر آپ کے پاس سرور پر فائلیں اپ لوڈ کرنے کا کوئی اور آسان طریقہ ہے، تو آپ کو FTP سرور قائم کرنے کی ضرورت نہیں ہے۔

ہم سلسلہ کو یوٹیوب پر منتقل کرتے ہیں۔ نشریات شروع کرنے کے لیے، آپ کو کئی صفات کے ساتھ ffmpeg چلانے کی ضرورت ہے۔ مجھے جو مختصر ترین کمانڈ ملا ہے وہ یہ ہے:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%

انتساب ضابطہ کشائی-re - اشارہ کرتا ہے کہ فائل کو اسٹریم میں تبدیل کرنا ضروری ہے۔

-i - اشارہ کرتا ہے کہ کون سی فائل چلائی جانی چاہئے۔ یہ ضروری ہے کہ کمانڈ اسی ڈائرکٹری سے شروع کی جائے جہاں ویڈیو فائل خود واقع ہے۔ بصورت دیگر، آپ کو فائل کا ایک مطلق لنک بتانا چاہیے، جیسے /usr/media/lecture1.mp4.

-f - آؤٹ پٹ فائل فارمیٹ سیٹ کرتا ہے۔ میرے معاملے میں، یہ پتہ چلتا ہے کہ ffmpeg میری فائل کو mp4 سے flv میں تبدیل کرتا ہے۔

اور آخر میں ہم اس ڈیٹا کی نشاندہی کرتے ہیں جو ہم نے یوٹیوب سے براڈکاسٹ سیٹنگز پیج پر لیا تھا، یعنی وہ پتہ جس پر آپ کو ڈیٹا منتقل کرنے کی ضرورت ہے، اور براڈکاسٹ کلید، تاکہ براڈکاسٹ خاص طور پر آپ کے چینل پر ظاہر ہو۔

اگر آپ نے سب کچھ صحیح طریقے سے کیا ہے، تو اس کمانڈ کو چلانے کے بعد، یوٹیوب کو منتقل شدہ سلسلہ نظر آئے گا۔ براڈکاسٹ شروع کرنے کے لیے، آپ کو یوٹیوب میں ہی "شروع کریں براڈکاسٹ" بٹن پر کلک کرنے کی ضرورت ہے۔

مرحلہ 4 - خودمختاری شامل کریں۔

مبارک ہو! اب آپ جانتے ہیں کہ ویڈیو فائل سے براڈکاسٹنگ کیسے شروع کی جائے۔ لیکن یہ XNUMX/XNUMX نشریات کے لیے کافی نہیں ہے۔ یہ ضروری ہے کہ پہلی ویڈیو کے چلنے کے بعد، اگلی ویڈیو فوراً شروع ہو جائے، اور جب تمام ویڈیوز دکھائی جائیں، پلے بیک دوبارہ شروع ہو جائے۔

میں مندرجہ ذیل آپشن لے کر آیا ہوں: ایک .sh فائل بنائیں جس میں میں نے ہر ویڈیو فائل کے لیے ایک کمانڈ لکھا اور بالکل آخر میں اسی اسکرپٹ کو دوبارہ چلانے کے لیے کمانڈ کا اشارہ کیا۔ نتیجہ اس طرح کی تکرار ہے:

Команда 1... (запуск трансляции файла lecture1.mp4)
Команда 2... (запуск трансляции файла lecture2.mp4)
Команда 3... (запуск трансляции файла lecture3.mp4)
bash start.sh

اور، ہاں، اس نے کام کیا۔ اپنے آپ سے مطمئن ہو کر، میں نے ایک ٹیسٹ براڈکاسٹ شروع کیا اور بستر پر چلا گیا۔

صبح ایک ناخوشگوار حیرت میرے منتظر تھی۔ پتہ چلا کہ یہ نشریات صرف چند منٹ تک جاری رہی اور میں نے اپنے کمپیوٹر کو آف کرتے ہی تقریباً فوراً ہی ختم کر دیا۔ تحقیقات سے معلوم ہوا کہ اس طرح شروع کی گئی کمانڈز اس وقت عمل میں آتی ہیں جب صارف سرور میں لاگ ان ہوتا ہے۔ جیسے ہی میں نے رابطہ منقطع کیا، میں جو کمانڈ چلا رہا تھا ان میں خلل پڑ گیا۔ ایسا ہونے سے روکنے کے لیے ٹیم کے سامنے کافی ہے۔ bash کمانڈ شامل کریں nohup. یہ آپ کی موجودگی سے قطع نظر چلنے کے عمل کو چلانے کی اجازت دے گا۔

اسکرپٹ کا آخری کم سے کم ورژن اس طرح لگتا ہے:

ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%
nohup bash start.sh $

جہاں start.sh وہ فائل ہے جس میں یہ اسکرپٹ لکھا گیا ہے۔ اور یہ فائل ویڈیو فائلوں کے طور پر اسی ڈائریکٹری میں واقع ہونا ضروری ہے.

آخر میں ڈالر کا نشان شامل کرنے سے یہ عمل پس منظر میں چلنے دیتا ہے تاکہ آپ نشریات میں خلل ڈالے بغیر کنسول کا استعمال جاری رکھ سکیں۔

بونس میں درج ذیل سامان شامل تھے:

  • آپ فائل پلے بیک کو دستی طور پر سوئچ کر سکتے ہیں۔ ایسا کرنے کے لیے، آپ کو فی الحال چل رہے ffmpeg عمل کو "مارنے" کی ضرورت ہے۔ اس کے بعد فہرست سے اگلی فائل کا پلے بیک خود بخود شروع ہو جائے گا۔
  • نشریات کو روکے بغیر نشریات میں نئی ​​ویڈیوز شامل کی جا سکتی ہیں۔ بس ویڈیو کو سرور پر اپ لوڈ کریں، اس فائل کو اسکرپٹ میں چلانے کے لیے کمانڈ شامل کریں، اور اسے محفوظ کریں۔ بس۔ پلے بیک کے اگلے دور پر، نئی فائل پرانی فائلوں کے ساتھ نشر کی جائے گی۔

مرحلہ 5 - ffmpeg کو اپنی مرضی کے مطابق بنائیں

اصولی طور پر، ہم وہاں رک سکتے تھے۔ لیکن میں براڈکاسٹ کو ناظرین کے لیے کچھ زیادہ دوستانہ بنانا چاہتا تھا۔

مان لیں کہ ایک شخص براڈکاسٹ پر گیا، دیکھنا شروع کیا، اسے پسند کیا اور شروع سے اس لیکچر کو دیکھنا چاہتا تھا، لیکن براڈکاسٹ ری وائنڈنگ کی اجازت نہیں دیتا۔ شروع سے لیکچر دیکھنے کے لیے، ایک شخص کو میری ویب سائٹ پر جانا ہوگا اور دلچسپی کے لیکچر کی ریکارڈنگ حاصل کرنی ہوگی۔ آپ کیسے بتا سکتے ہیں کہ کون سا لیکچر اسے دلچسپی رکھتا ہے؟ سائٹ پر پہلے سے ہی 16 لیکچرز ہیں اور ہر ہفتے ان میں سے صرف زیادہ ہوتے ہیں۔ میرا خیال ہے کہ میں نے بھی، جس نے ان تمام لیکچرز کو فلمایا اور اس میں ترمیم کی، بے ترتیب ٹکڑے سے یہ تعین نہیں کر پاوں گا کہ یہ کون سا لیکچر ہے۔ اس لیے ضروری ہے کہ ہر لیکچر کو کسی نہ کسی طرح نامزد کیا جائے۔

ایڈیٹنگ پروگرام میں سورس ویڈیو فائلوں میں کیپشنز شامل کرنے کا آپشن میرے مطابق نہیں تھا۔ یہ یقینی بنانا ضروری تھا کہ اصل فائلوں کا استعمال کیا گیا تھا۔ تاکہ نشریات کو سپورٹ کرنے کے لیے میری طرف سے جسم کی کم سے کم حرکت کی ضرورت ہے۔

یہ پتہ چلا کہ ffmpeg اس میں بھی میری مدد کر سکتا ہے۔ اس کی ایک خاص صفت ہے۔ -vf، جو متن کو ویڈیو پر رکھنے کی اجازت دیتا ہے۔ ویڈیو میں متن شامل کرنے کے لیے، آپ کو کمانڈ میں درج ذیل ٹکڑا شامل کرنے کی ضرورت ہے:

-vf drawtext="fontfile=OpenSans.ttf:text='Лекция 13: Психология эмоций. Как создавать радость?':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670"

پیرامیٹرز کی وضاحتfontfile= - فونٹ فائل سے لنک کریں۔ اس کے بغیر، ویڈیو میں کیپشن شامل نہیں کیا جائے گا۔ سب سے آسان طریقہ یہ ہے کہ فونٹ فائل کو اسی فولڈر میں رکھیں جس میں ویڈیو ہے۔ یا آپ کو فائل کا پورا راستہ بتانے کی ضرورت ہوگی۔

text= - اصل میں، وہ متن جسے ویڈیو کے اوپر رکھنے کی ضرورت ہے۔

fontsize= - پکسلز میں فونٹ کا سائز۔

fontcolor= - لکھائی کا رنگ.

borderw= - متن کے ارد گرد خاکہ کی موٹائی پکسلز میں (میرے پاس سفید متن ہے جس میں سیاہ خاکہ 1 پکسل موٹا ہے)۔

bordercolor= - خاکہ رنگ.

x= и y= - ٹیکسٹ کوآرڈینیٹ۔ ڈاٹ 0;0 اوپری بائیں کونے میں واقع ہے۔ میرے نقاط کو اس طرح منتخب کیا گیا ہے کہ متن کو 1280x720 پکسلز کی ویڈیو ریزولوشن کے ساتھ نیچے بائیں کونے میں رکھا گیا ہے۔

ایسا لگتا ہے:

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

مرحلہ 6 - نشریات کے معیار کا تعین کریں۔

بس، نشریات تیار ہیں۔ FFmpeg نشریات، فائلیں چلائی جاتی ہیں، نشریات کے لیے میری موجودگی کی ضرورت نہیں ہے۔ یہاں تک کہ ہر لیکچر پر دستخط ہوتے ہیں۔ دیکھو ایسا ہی ہے۔

لیکن ایک اور بات سامنے آئی - میں نے سرور کی کم سے کم ترتیب کا انتخاب کیا اور اس نے براڈکاسٹ کو نہیں کھینچا۔ سرور کنفیگریشن: 1 کور (جیسے 2.2 گیگا ہرٹز)، 1 گیگا بائٹ ریم، 25 جی بی ایس ایس ڈی۔ کافی RAM تھی، لیکن پروسیسر تقریباً مکمل طور پر 100% پر لوڈ ہو گیا تھا (اور بعض اوقات 102-103% بھی :) جس کی وجہ سے ہر چند سیکنڈ میں براڈکاسٹ منجمد ہو جاتا تھا۔ اچھا نہیں تھا۔

آپ آسانی سے دو کوروں کے ساتھ زیادہ مہنگی ترتیب لے سکتے ہیں، خوش قسمتی سے، کلاؤڈ ٹیکنالوجیز کے ساتھ، سرور کی ترتیب کو تبدیل کرنا چند بٹنوں کو دبانے سے ہوتا ہے۔ لیکن میں کم از کم کنفیگریشن کی گنجائش میں فٹ ہونا چاہتا تھا۔ میں نے ffmpeg دستاویزات کا مطالعہ شروع کیا اور ہاں، وہاں ایسی ترتیبات بھی موجود ہیں جو آپ کو سسٹم پر بوجھ کو منظم کرنے کی اجازت دیتی ہیں۔

اعلیٰ تصویری معیار کو دو طریقوں سے حاصل کیا جا سکتا ہے: یا تو زیادہ CPU لوڈ یا زیادہ جانے والی ٹریفک۔ یہ پتہ چلتا ہے کہ پروسیسر جتنا زیادہ بوجھ لے سکتا ہے، کم چینل بینڈوڈتھ کی ضرورت ہوگی۔ یا آپ پروسیسر کو بہت زیادہ لوڈ نہیں کر سکتے، لیکن پھر آپ کو ایک بڑے ٹریفک ہیڈ روم کے ساتھ ایک وسیع چینل کی ضرورت ہوگی۔ اگر پروسیسر اور باہر جانے والے چینل/ٹریفک کے سائز دونوں پر پابندیاں ہیں، تو آپ کو تصویر کے معیار کو کم کرنا پڑے گا تاکہ نشریات آسانی سے چل سکے۔

میرے سرور کو 10 Mbit/s چوڑے چینل تک رسائی حاصل ہے۔ یہ چوڑائی بالکل درست ہے۔ لیکن ٹریفک کی حد ہے - 1 ٹی بی فی مہینہ۔ لہذا، ٹریفک کی پابندیوں کو پورا کرنے کے لیے، میرا باہر جانے والا بہاؤ ~300 KB فی سیکنڈ سے زیادہ نہیں ہونا چاہیے یعنی آؤٹ گوئنگ اسٹریم کا بٹ ریٹ 2,5 Mbit/s سے زیادہ نہیں ہونا چاہیے۔ یوٹیوب، ویسے، اس بٹ ریٹ پر نشریات کی تجویز کرتا ہے۔

سسٹم پر بوجھ کو منظم کرنے کے لیے، ffmpeg مختلف طریقے استعمال کرتا ہے۔ اس بارے میں اچھا لکھا ہے۔ یہاں. میں نے دو صفات کا استعمال کرتے ہوئے ختم کیا: -crf и -preset.

مستقل شرح فیکٹر (CRF) - یہ ایک گتانک ہے جس کی بدولت آپ تصویر کے معیار کو ایڈجسٹ کر سکتے ہیں۔ CRF کی قدریں 0 سے 51 تک ہوسکتی ہیں، جہاں 0 سورس فائل کا معیار ہے، 51 بدترین ممکنہ معیار ہے۔ 17 سے 28 تک ویلیوز استعمال کرنے کی سفارش کی جاتی ہے، ڈیفالٹ 23 ہے۔ 17 کے گتانک کے ساتھ، ویڈیو بصری طور پر اصل سے مماثل ہوگی، لیکن تکنیکی طور پر یہ ایک جیسی نہیں ہوگی۔ دستاویزات میں یہ بھی کہا گیا ہے کہ حتمی ویڈیو کا سائز، مخصوص CRF پر منحصر ہے، تیزی سے تبدیل ہوتا ہے، یعنی گتانک میں 6 پوائنٹس کا اضافہ آؤٹ گوئنگ ویڈیو کے بٹ ریٹ کو دوگنا کر دے گا۔

اگر CRF استعمال کر رہے ہیں تو آپ باہر جانے والی تصویر کا "وزن" منتخب کر سکتے ہیں، پھر استعمال کر کے پیش سیٹ (-پیش سیٹ) آپ اس بات کا تعین کر سکتے ہیں کہ پروسیسر کو کتنا بھاری بھرکم کیا جائے گا۔ اس وصف میں درج ذیل پیرامیٹرز ہیں:

  • ultrafast
  • superfast
  • veryfast
  • faster
  • fast
  • medium - پہلے سے طے شدہ قیمت
  • slow
  • slower
  • veryslow

"تیز" پیرامیٹر کی وضاحت کی جائے گی، پروسیسر پر بوجھ اتنا ہی زیادہ ہوگا۔

میں نے پہلے ایک پیش سیٹ کا انتخاب کیا جو بنیادی طور پر میرے پروسیسر کے لیے بہت سخت تھا، اور پھر CRF کا استعمال کرتے ہوئے زیادہ باریک طریقے سے لوڈ کا انتخاب کیا۔ میرے معاملے میں، پیش سیٹ نے کام کیا۔ fast، اور crf کے لیے میں نے قیمت 24 پر طے کیا۔

حاصل يہ ہوا

بس۔ نشریات شروع کرنے کا حتمی حکم یہ تھا:

ffmpeg -re -i lecture1.mp4 -vf drawtext="fontfile=OpenSans.ttf:text='Лекция 1: Жонглирование картинами мира':fontsize=26:fontcolor=white:borderw=1:bordercolor=black:x=40:y=670" -c:v libx264 -preset fast -crf 24 -g 3 -f flv rtmp://a.rtmp.youtube.com/live2/%КЛЮЧ_ТРАНСЛЯЦИИ%

یہاں صرف دو غیر وضاحتی نکات رہ گئے ہیں:

1) -c:v libx264 - سورس فائل کے ساتھ کام کرنے کے لیے ایک مخصوص کوڈیک کی وضاحت کرنا۔
2) -g 3 - کلیدی فریموں کی تعداد کا واضح اشارہ۔ اس صورت میں، یہ وضاحت کی گئی ہے کہ ہر تیسرا فریم ایک کلیدی فریم ہونا چاہئے۔ معیاری قدر یا تو 5 یا 8 ہے، لیکن YouTube قسم کھاتا ہے اور کم از کم 3 مانگتا ہے۔

آپ دیکھ سکتے ہیں کہ نشریات کس معیار کی نکلی ہیں۔ یہاں.

سرور پر بوجھ اس طرح تھا:

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

اپنے ویڈیوز یوٹیوب پر XNUMX/XNUMX نشر کریں۔

مانیٹرنگ ڈیٹا کی بنیاد پر، یہ واضح ہے کہ پروسیسر کا بوجھ 70% سے 95% تک ہے اور ہفتے کے دوران براڈکاسٹ کبھی بھی 100% تک نہیں پہنچا۔ اس کا مطلب ہے کہ ان ترتیبات کے ساتھ پروسیسر کافی ہے۔

ڈسک کو لوڈ کرنے سے، میں کہہ سکتا ہوں کہ یہ تقریباً لوڈ نہیں ہے اور براڈکاسٹنگ کے لیے باقاعدہ HDD کافی ہونا چاہیے۔

لیکن باہر جانے والی ٹریفک کی مقدار مجھے پریشان کرتی ہے۔ یہ پتہ چلتا ہے کہ میرا باہر جانے والا سلسلہ 450 سے 650 KB فی سیکنڈ تک ہے۔ ایک مہینے میں یہ تقریباً 1,8 ٹیرا بائٹس ہو جائے گا۔ آپ کو اضافی ٹریفک خریدنا پڑ سکتا ہے یا دو کور والی کنفیگریشن پر جانا پڑ سکتا ہے کیونکہ... میں تصویر کے معیار کو کم نہیں کرنا چاہوں گا۔

***

نتیجے کے طور پر، میں یہ کہوں گا کہ شروع سے اس طرح کی نشریات ترتیب دینے میں تقریباً 1-2 گھنٹے لگتے ہیں۔ مزید یہ کہ ویڈیو کو سرور پر اپ لوڈ کرنے میں زیادہ تر وقت لگے گا۔

اس طرح کی نشریات کے آغاز نے خود کو مارکیٹنگ کے آلے کے طور پر درست ثابت نہیں کیا۔ شاید، اگر ہم ملاحظات میں اضافہ کریں تاکہ یوٹیوب کے الگورتھم اس براڈکاسٹ کو اٹھا لیں اور اسے سفارشات میں فعال طور پر دکھانا شروع کر دیں، تو کچھ کام آئے گا۔ میرے معاملے میں، مسلسل نشریات کے 16 دنوں میں اسے 58 بار دیکھا گیا۔

وہ ٹھیک ہے. نشریات میری ویب سائٹ کے مرکزی صفحہ پر ہم آہنگی سے فٹ بیٹھتی ہیں۔ اس سے مجھے فوری طور پر لیکچرر اور خود لیکچرز کے بارے میں اپنی رائے قائم کرنے کا موقع ملا۔

اور ایک لمحہ۔ یہ ضروری ہے کہ براڈکاسٹ کسی کے کاپی رائٹ کی خلاف ورزی نہ کرے، ورنہ اسے بلاک کر دیا جائے گا۔ میں اپنی نشریات کے بارے میں پرسکون ہوں کیونکہ... میں نے خاص طور پر مفت استعمال کے ساتھ میوزک انسرٹس کا انتخاب کیا، اور مواد کا مصنف قریبی کمپیوٹر پر بیٹھتا ہے اور اس کے مواد کو استعمال کرنے کے میرے خلاف نہیں ہے :)

لیکن اگر آپ کی نشریات میں کہیں بیک گراؤنڈ میں ریڈیو چل رہا ہے، یا آپ نے ایڈیٹنگ کے دوران اپنا پسندیدہ ٹریک استعمال کیا ہے، یا کسی مشہور میوزک ویڈیو، ٹی وی سیریز یا فلم سے ویڈیو سیکوئنس لیا ہے، تو آپ کی نشریات خطرے میں ہیں۔ یہ بھی ضروری ہے کہ براڈکاسٹ میں کم از کم سیمنٹک بوجھ ہو، بصورت دیگر اسے سپیم کے طور پر بلاک کیا جا سکتا ہے۔

***

میرے پاس بس اتنا ہی ہے۔ مجھے امید ہے کہ یہ دستی کسی کی اچھی طرح خدمت کرے گی۔ ٹھیک ہے، اگر آپ کے پاس شامل کرنے، لکھنے کے لیے کچھ ہے، تو مجھے مضمون میں اضافے اور وضاحتیں پڑھ کر خوشی ہوگی۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں