এই পৃথিবীতে দুই ধরনের মানুষ আছে: যারা ক্যাপশন সহ টিভি শো দেখেন এবং যারা অদ্ভুত। সমস্ত কৌতুক একপাশে, ভিডিওর জন্য বন্ধ ক্যাপশনের গুরুত্বকে ছোট করা যাবে না। বধির এবং শ্রবণে অক্ষম ব্যক্তিদের জন্য গুরুত্বপূর্ণ হওয়ার পাশাপাশি, অডিও অনুপলব্ধ বা স্পষ্টভাবে শ্রবণযোগ্য না হলে ক্যাপশনগুলিও গুরুত্বপূর্ণ৷ হতে পারে আপনি একটি সর্বজনীন স্থানে একটি ভিডিও দেখছেন এবং অডিওটি পরিবেষ্টিত গোলমালের দ্বারা ডুবে গেছে। অথবা হতে পারে যে ব্যক্তি ভিডিওতে কথা বলছেন এমন একটি মাইক্রোফোন ব্যবহার করছেন যা সর্বোত্তম মানের নয়, অথবা এমন উচ্চারণ বা উপভাষায় কথা বলছেন যা দর্শকের কাছে অপরিচিত। ক্যাপশন একটি ভাল জিনিস. দুর্ভাগ্যবশত, একটি লাইভ স্ট্রিমে অডিও ক্যাপশন করা কঠিন। সবসময় লাইভ স্ট্রীম ক্যাপশন করার সমস্যায় পড়ার আগে, আসুন শব্দার্থবিদ্যা সম্পর্কে একটু কথা বলি। আপনি কি জানেন এবং শব্দের মধ্যে পার্থক্য আছে? বর্ণনা করে: ক্লোজড ক্যাপশন সাবটাইটেল এইচটিএমএল স্পেক সাবটাইটেল সংলাপের ট্রান্সক্রিপশন বা অনুবাদ, যখন সাউন্ড পাওয়া যায় কিন্তু বোঝা যায় না তার জন্য উপযুক্ত (যেমন কারণ ব্যবহারকারী মিডিয়া রিসোর্সের অডিও ট্র্যাকের ভাষা বোঝেন না)। ভিডিওতে ছাপানো। স্পেক এভাবে বর্ণনা করে: ক্যাপশনগুলিকে সংলাপের ট্রান্সক্রিপশন বা অনুবাদ, সাউন্ড এফেক্ট, প্রাসঙ্গিক বাদ্যযন্ত্রের সংকেত এবং অন্যান্য প্রাসঙ্গিক অডিও তথ্য, যখন শব্দ অনুপলব্ধ বা স্পষ্টভাবে শোনা যায় না তার জন্য উপযুক্ত (উদাহরণস্বরূপ এটি নিঃশব্দ, পরিবেষ্টিত শব্দ দ্বারা ডুবে যাওয়া, বা ব্যবহারকারী বধির ) ভিডিওর উপর আবৃত; হার্ড-অফ-শ্রবণের জন্য উপযুক্ত হিসাবে লেবেলযুক্ত। এর মানে হল যে যখন আমরা লাইভ ভিডিওগুলির জন্য "বন্ধ ক্যাপশন" সম্পর্কে কথা বলি, তখন আমরা সাধারণত উল্লেখ করি কারণ সাধারণত বর্ণনামূলক তথ্য থাকে৷ একটি টিভি অনুষ্ঠানের একটি দৃশ্যের কথা চিন্তা করুন যেখানে একজন অভিনেতা বাড়ি থেকে বের হতে গাড়িতে ওঠেন এবং তাদের স্ত্রীকে বিদায় জানান। এই দৃশ্যের ক্যাপশনে লেখা হতে পারে "বিদায়, প্রিয়। [গাড়ির ইঞ্জিন শুরু হয়]।" সাবটাইটেলগুলি ক্যাপশনগুলিতে আমরা AI সিস্টেম আমাদের জন্য এই ধরনের প্রাসঙ্গিক তথ্য বর্ণনা করার কাছাকাছি নই, তাই আমরা আমাদের লাইভ স্ট্রীমে বিশুদ্ধ "স্পিচ-টু-টেক্সট" সাবটাইটেল ক্যাপশন যোগ করার মধ্যে সীমাবদ্ধ; আমরা নীচের পদ্ধতি ব্যবহার করে তা করতে পারি। আপনি লক্ষ্য করবেন যে এই ব্লগ পোস্টের শিরোনাম এবং মূল অংশে 'ক্যাপশন' বা 'ক্লোজড ক্যাপশন' শব্দগুলি ব্যবহার করা হয়েছে যদিও আমরা এখানে আসলে যে বিষয়ে কথা বলছি তা উপরের সংজ্ঞাগুলির উপর ভিত্তি করে সাবটাইটেল। দুর্ভাগ্যবশত, যেহেতু 'ক্লোজড ক্যাপশন' শব্দটি খুব সাধারণভাবে অপব্যবহার করা হয়, তাই ডেভেলপারদের এই ব্লগ পোস্টটি খুঁজে পেতে এবং তাদের লাইভ স্ট্রিমগুলিতে এই বৈশিষ্ট্যটি কীভাবে যুক্ত করতে হয় তা শিখতে সাহায্য করার জন্য এই শব্দটি অনুপযুক্তভাবে ব্যবহার করা সবচেয়ে বেশি অর্থবহ৷ শুধু জেনে রাখুন যে আমরা এখানে আসলেই যে বিষয়ে কথা বলছি তা হল সাবটাইটেল! দ্রষ্টব্য: Amazon IVS লাইভ স্ট্রিমগুলিতে ক্যাপশন যোগ করা হচ্ছে আমরা এই পোস্টে যে সমাধানটি দেখছি তা একটি অ্যামাজন ইন্টারেক্টিভ ভিডিও পরিষেবা (Amazon IVS) থেকে লাইভ স্ট্রিমে সম্প্রচারের উপর দৃষ্টি নিবদ্ধ করে . OBS ক্যাপশনিং এর জন্য নেটিভ সমর্থন অফার করে না, তবে এমন বেশ কয়েকটি প্লাগইন রয়েছে যা প্রয়োজনীয় স্পিচ-টু-টেক্সট রূপান্তর করতে পারে এবং ক্যাপশনগুলিকে একটি RTMP স্ট্রীমে প্রকাশ করতে পারে . ওবিএস স্টুডিও CEA-708/EIA-608 ফর্ম্যাট Amazon IVS দ্বারা সমর্থিত এই ডেমোর জন্য, আমি ( এবং ) এই প্লাগইন দিয়ে শুরু করতে, এবং . একবার আপনি এটি OBS-এ ইনস্টল করা হয়ে গেলে, নির্বাচন করুন এবং নিশ্চিত করুন যে ডক সক্রিয় আছে। OBS-captions-plugin গিটহাব প্লাগইন পৃষ্ঠা এটি ডাউনলোড করুন এটি ইনস্টল করুন ডক্স ক্যাপশন এরপরে, সেটিংস পরিবর্তন করতে ডকে 'গিয়ার' আইকনটি নির্বাচন করুন। ক্যাপশন নিশ্চিত করুন যে একটি নির্বাচন করা হয়েছে, এবং আপনার প্রয়োজন অনুসারে প্লাগইন কনফিগারেশন পরিবর্তন করুন। উদাহরণস্বরূপ, আমার জন্য ডিফল্ট সেকেন্ডে সেট করা হয়েছিল, কিন্তু আমি সেকেন্ডকে আরও ভাল মান হিসাবে পেয়েছি। ক্যাপশন উৎস ক্যাপশন টাইমআউট 15.0 5.0 একবার আপনি আপনার কনফিগারেশন সংরক্ষণ করে এবং একটি নতুন লাইভ স্ট্রিম শুরু করলে, প্লাগইনটি আপনার বক্তৃতাকে পাঠ্যে রূপান্তরিত করে এবং লাইভ স্ট্রীমে প্রয়োজনীয় ক্যাপশন তথ্য তৈরি করে। Amazon IVS প্লেয়ারের সাথে ক্যাপশন ডেটা প্লে ব্যাক করতে, আমরা ইভেন্টটি শোনার জন্য একটি ইভেন্ট শ্রোতা যোগ করতে পারি ( ) TextCue ডক্স ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); } উপরে কনফিগার করা হ্যান্ডলার সমস্ত ইনকামিং ইভেন্টগুলি কনসোলে লগ করে। TextCue ইভেন্টের বৈশিষ্ট্যে ক্যাপশন ডেটা রয়েছে। TextCue text কিছু HTML এবং CSS এর সাথে, আমরা ক্যাপশন ডেটাকে এলিমেন্টে ওভারলে হিসাবে রেন্ডার করতে পারি। এই বাস্তবায়নটি আপনার প্রয়োজনের উপর অত্যন্ত নির্ভরশীল, কিন্তু কোনো ক্যাপশন ডেটা ছাড়াই একটি নির্দিষ্ট সময়ের পরে ওভারলে স্বয়ংক্রিয়ভাবে লুকানোর বিষয়টি আপনার বিবেচনায় নেওয়া উচিত। <video> https://youtu.be/spFpCIqGSm8?embedable=true সারসংক্ষেপ এই পোস্টে, আমরা কীভাবে স্পিচকে টেক্সটে রূপান্তর করতে একটি OBS প্লাগইন ব্যবহার করব এবং সেই টেক্সটটিকে একটি Amazon IVS লাইভ স্ট্রীমে ক্যাপশন ডেটা হিসাবে প্রকাশ করব তা দেখেছি।