শাকা প্লেয়ার মাইগ্রেশনে HLS

সংক্ষিপ্ত বিবরণ

কাস্ট ওয়েব রিসিভার এসডিকে বিভিন্ন ওয়েব স্ট্রিমিং প্রোটোকল ব্যবহার করে কন্টেন্ট প্লেব্যাক সমর্থন করে। ব্যবহৃত প্রোটোকলের উপর ভিত্তি করে, এসডিকে কন্টেন্ট প্লেব্যাকের জন্য একটি প্লেয়ার লোড করে। HLS কন্টেন্টের ক্ষেত্রে, মিডিয়া প্লেয়ার লাইব্রেরি ( MPL ) লোড করা হয়। DASH কন্টেন্টের ক্ষেত্রে, শাকা প্লেয়ার লোড করা হয়।

এখন থেকে, Cast SDK এবং Shaka Player ইঞ্জিনিয়ারিং টিমগুলো Shaka Player-এ HLS কন্টেন্ট প্লেব্যাকের সাপোর্ট বাড়ানোর জন্য তাদের প্রচেষ্টা একত্রিত করছে। MPL আর কোনো গুরুত্বপূর্ণ আপডেট পাবে না । আমরা আপনাকে আপনার অ্যাপ্লিকেশনের HLS কন্টেন্ট প্লেব্যাকের জন্য Shaka Player ব্যবহার করার পরামর্শ দিচ্ছি।

শাকা প্লেয়ারের সুবিধা

খেলোয়াড় পরিবর্তনের ক্ষেত্রে, অ্যাপ্লিকেশনগুলো নিম্নলিখিত সুবিধাগুলো গ্রহণ করে:

  • ব্যবহারকারীদের জন্য আরও শক্তিশালী স্ট্রিমিং সেশন , সেইসাথে লোড হওয়ার সময়কার ব্যর্থতা এবং ল্যাটেন্সির উন্নতি।
  • সর্বশেষ HLS বৈশিষ্ট্যগুলির অব্যাহত গ্রহণ।
  • শাকা প্লেয়ারের ওপেন সোর্স প্রকৃতির কারণে প্লেয়ার ও কন্টেন্টের সামঞ্জস্যজনিত সমস্যার মূল কারণ বিশ্লেষণে স্বচ্ছতা বৃদ্ধি পেয়েছে
  • ওপেন সোর্স প্লেয়ার কোডবেস অংশীদারদের শাকা প্লেয়ার প্রকল্পে অবদান রাখার সুযোগ দেয়।
  • শাকা প্লেয়ারের রিলিজ ঘন ঘন এবং ওয়েব রিসিভার এসডিকে-র রিলিজের ওপর নির্ভরশীল না হওয়ায়, প্রোডাকশনে ফিচার ও বাগ ফিক্স করার সময় উল্লেখযোগ্যভাবে কমে আসে
  • shakaVersion API-এর মাধ্যমে প্লেব্যাক পরিবেশের উপর অধিকতর নিয়ন্ত্রণ পাওয়া যায়
  • রোডম্যাপে যেমন দেখা যাচ্ছে, শাকা প্লেয়ারে এইচএলএস প্লেব্যাকের উপর ইঞ্জিনিয়ারিং রিসোর্স নিবদ্ধ করে গুগলের পক্ষ থেকে প্লেব্যাক সাপোর্ট বাড়ানো হয়েছে

সময়রেখা

ওয়েব রিসিভার এসডিকে এখন থেকে এইচএলএস কন্টেন্ট প্লেব্যাকের জন্য ডিফল্ট প্লেয়ার হিসেবে শাকা প্লেয়ার ব্যবহার শুরু করবে। পার্টনারদের এই মাইগ্রেশন প্রক্রিয়ায় পথনির্দেশনা দেওয়ার জন্য এই কাজটি পর্যায়ক্রমে করা হবে।

পর্যায় শুরুর তারিখ সংক্ষিপ্ত বিবরণ
অক্টোবর '২২ Cast Web Receiver SDK, Shaka Player-এ HLS কন্টেন্ট প্লে করার জন্য অপ্ট-ইন করার API চালু করেছে
১৮ মে '২৬ Cast Web Receiver SDK, HLS কন্টেন্ট প্লেব্যাকের জন্য ডিফল্ট প্লেয়ারকে Shaka Player-এ পরিবর্তন করেছে

ওয়েব রিসিভার এসডিকে ইঞ্জিনিয়ারিং টিমগুলো পারফরম্যান্স-কেন্দ্রিক একটি পদ্ধতি অনুসরণ করছে এবং শাকা প্লেয়ারের পারফরম্যান্স এমপিএল-এর বেসলাইন পারফরম্যান্সের সমতুল্য হলেই তারা পরবর্তী ধাপে অগ্রসর হবে। এই পরিবর্তনগুলো cast-sdk-announcements গুগল গ্রুপে ঘোষণা করা হবে এবং এই গাইডে আপডেট করা হবে।

অংশগ্রহণ করুন

CAF সংস্করণ 3.0.0105 থেকে শুরু করে, HLS প্লেব্যাকের জন্য Shaka Player ব্যবহার করতে অপ্ট-ইন করার একটি অ্যাপ্লিকেশন লেভেল কনফিগারেশন রয়েছে। এই সংস্করণে লোড করার জন্য Shaka Player সংস্করণগুলির একটি সমর্থিত পরিসর থেকে নির্বাচন করার জন্য একটি API-ও চালু করা হয়েছে। এই ফ্ল্যাগগুলি CastReceiverOptions ক্লাসে useShakaForHls এবং shakaVersion প্রপার্টির মাধ্যমে প্রদান করা হয় এবং CastReceiverContext শুরু করার সময় এগুলি মূল্যায়ন করা হয়। HLS-এর জন্য Shaka ব্যবহার করতে ইচ্ছুক যেকোনো অ্যাপ্লিকেশনের সর্বশেষ HLS উন্নতিগুলির সুবিধা নিতে অন্তত 4.15.35 সংস্করণের একটি Shaka Player সেট করা উচিত। অপ্ট-ইন করতে, নীচের কোড স্নিপেটটি অনুসরণ করুন:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = true;

context.start(castReceiverOptions);

বিষয়বস্তু যাচাই করুন

পার্টনারদের তাদের প্রোডাকশন অ্যাপে শাকা প্লেয়ার ব্যবহার করার জন্য সম্মতি দেওয়ার আগে, শাকা প্লেয়ারে তাদের কন্টেন্টের প্লেব্যাক যাচাই করে নেওয়া উচিত। আমরা নিচে তালিকাভুক্ত আপনার কন্টেন্টের প্রতিটি ভ্যারিয়েশন পরীক্ষা করার পরামর্শ দিচ্ছি:

  • স্ট্রিমের ধরণ: লাইভ অথবা ভিওডি
  • কন্টেইনার ফরম্যাট: TS, MP4, অথবা এলিমেন্টারি স্ট্রিম
  • ধারাবাহিকতাহীন বা অন্তর্নিহিত বিজ্ঞাপন সহ বিষয়বস্তু
  • নিম্নলিখিত ডিভাইসগুলিতে প্লেব্যাক করা যাবে: স্মার্ট ডিসপ্লে, গুগল কাস্ট ডংগল, অ্যান্ড্রয়েড টিভি ডিভাইস, গুগল কাস্ট সহ টিভি, স্মার্ট স্পিকার।

যদি আপনি কোনো ত্রুটি বা অপ্রত্যাশিত আচরণ খুঁজে পান, তাহলে একটি বাগ রিপোর্ট করুন । আপনার কন্টেন্টে কোনো গুরুতর প্লেব্যাক ব্যর্থতা নেই তা যাচাই করতে পারলেই, পরিবর্তনগুলো আপনার প্রোডাকশন এনভায়রনমেন্টে প্রয়োগ করুন।

অপ্ট আউট

সময়সূচী অনুযায়ী ওয়েব রিসিভার SDK, Shaka Player HLS কন্টেন্ট প্লেব্যাকের জন্য একটি অপ্ট-আউট মডেলে পরিবর্তিত হবে। useShakaForHls প্রপার্টিটির ডিফল্ট মান false থেকে true তে পরিবর্তিত হবে। সেই সময়ে, অ্যাপ্লিকেশনগুলো এই প্রপার্টিটি ম্যানুয়ালি ` false সেট করার মাধ্যমে HLS প্লেব্যাকের জন্য MPL ব্যবহার করতে পারবে। যখন ` CastReceiverContext চালু হবে, ওয়েব রিসিভার SDK আবার Shaka Player-এর পরিবর্তে MPL লোড করা শুরু করবে। কীভাবে অপ্ট-আউট করতে হয়, তার জন্য নিচের নমুনাটি দেখুন:

const context = cast.framework.CastReceiverContext.getInstance();

let castReceiverOptions = new cast.framework.CastReceiverOptions();
castReceiverOptions.useShakaForHls = false;

context.start(castReceiverOptions);

সমস্যা রিপোর্ট করুন

আমরা আমাদের পার্টনারদের HLS কন্টেন্ট খেলার সময় কোনো সমস্যা পেলে তা জানানোর জন্য উৎসাহিত করি। যেমনটি উল্লেখ করা হয়েছে, MPL আর কোনো গুরুত্বপূর্ণ আপডেট পাবে না। MPL-এ কোনো সমস্যা দেখা দিলে, Shaka Player-এ সুইচ করলে আপনার সমস্যার সমাধান হয় কিনা তা যাচাই করতে গাইডের 'Opt in' বিভাগের ধাপগুলো অনুসরণ করুন। প্লেয়ার পরিবর্তন করার পরেও যদি সমস্যাটি থেকে যায় অথবা আপনি ভিন্ন কোনো সমস্যার সম্মুখীন হন, তাহলে নিচের ধাপগুলো অনুসরণ করুন।

  1. সমস্যাটি সমাধান করতে shakaVersion একটি ভিন্ন ব্রাঞ্চ ভার্সনে সেট করার চেষ্টা করুন। উদাহরণস্বরূপ, যদি সমস্যাটি 4.15 ব্রাঞ্চে দেখা যায়, তবে এটিকে অন্য কোনো ব্রাঞ্চের সর্বশেষ রিলিজে সেট করার চেষ্টা করুন। সবচেয়ে প্রাসঙ্গিক আপডেটসহ রিলিজগুলো খুঁজে পেতে Shaka Player-এর রিলিজ নোটগুলো দেখুন। মনে রাখবেন যে, রেফারেন্স ডকুমেন্টেশনে বিস্তারিতভাবে বর্ণিত shakaVersion API-এর একটি সর্বনিম্ন এবং সর্বোচ্চ সমর্থিত ভার্সন রয়েছে। যদি আপনি কোনো রিগ্রেশন লক্ষ্য করেন, তবে Shaka Player-এর ইস্যুট্র্যাকারে সমস্যাটি রিপোর্ট করুন।
  2. প্লেয়ার কনফিগারেশন প্যারামিটারগুলো পরিবর্তন করে দেখুন। শাকা প্লেয়ারকে PlayerConfiguration অবজেক্টের মাধ্যমে কনফিগার করা যায়। ওয়েব রিসিভার এসডিকে কিছু ডিফল্ট মান নির্ধারণ করে দেয় এবং অ্যাপ্লিকেশনগুলোকে PlaybackConfig অবজেক্টের shakaConfig প্রপার্টির মাধ্যমে এই কনফিগারেশন পরিবর্তন করার সুযোগ দেয়। প্লেয়ার ইনস্ট্যান্স তৈরি হওয়ার সময় লোড হওয়ার মুহূর্তে এটি মূল্যায়ন করা হয়। অ্যাপ্লিকেশন কনফিগারেশন এবং অপশন অংশে আরও দেখুন। ওয়েব রিসিভার এসডিকে দ্বারা নির্ধারিত ডিফল্ট মানগুলোই প্রস্তাবিত মান।
  3. দেখুন সমস্যাটি Shaka Player-এর ইস্যুট্র্যাকার বা Cast-এর ইস্যুট্র্যাকারে রিপোর্ট করা হয়েছে কিনা। বাগটিতে মন্তব্য করুন এবং আপনার সমস্যার সাথে মিলে গেলে প্রাসঙ্গিক কোনো তথ্য যোগ করুন।
  4. শাকা প্লেয়ার ডেমো সাইটে আপনার কন্টেন্ট পরীক্ষা করুন। যদি দেখেন যে ডেমো সাইটে আপনার কন্টেন্টের ক্ষেত্রেও সমস্যাটি দেখা দিচ্ছে, তাহলে শাকা প্লেয়ার প্রজেক্টে একটি বাগ রিপোর্ট করুন
  5. কাস্ট এন্ডপয়েন্টগুলিতে শাকা প্লেয়ারের সাথে সম্পর্কিত কোনো স্বতন্ত্র সমস্যা থাকলে , কাস্ট ইস্যু ট্র্যাকারে একটি বাগ রিপোর্ট করুন

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

খেলোয়াড় পরিবর্তন করলে অনেক প্রশ্ন উঠতে পারে। মাইগ্রেশন প্রক্রিয়ায় আপনাকে পথ দেখাতে, নিচে সবচেয়ে সাধারণ প্রশ্নগুলোর উত্তর দেওয়া হলো।

আমার কি শাকা প্লেয়ারে স্থানান্তরিত হওয়া উচিত?

আমরা HLS কন্টেন্ট ব্যবহারকারী আমাদের পার্টনারদের যত তাড়াতাড়ি সম্ভব মাইগ্রেশন প্রক্রিয়া শুরু করতে উৎসাহিত করছি। এর ফলে, আপনার অ্যাপ ব্যবহারকারীদের জন্য আরও শক্তিশালী স্ট্রিমিং অভিজ্ঞতা প্রদান করবে। এই গাইডের 'শাকা প্লেয়ারের সুবিধা' বিভাগে আরও সুবিধাগুলি বিস্তারিতভাবে বর্ণনা করা হয়েছে। একটি মসৃণ রূপান্তর নিশ্চিত করতে পার্টনারদের যাচাই করে নেওয়া উচিত যে তাদের অ্যাপগুলি শাকা প্লেয়ার ব্যবহার করে সঠিকভাবে কাজ করছে কিনা। যদি পার্টনাররা আগে থেকে যাচাই না করেন যে তাদের কন্টেন্ট শাকা প্লেয়ারে সঠিকভাবে প্লে হচ্ছে, তাহলে ওয়েব রিসিভার SDK যখন একটি অপ্ট-আউট মডেলে রূপান্তরিত হবে, তখন কিছু অ্যাপ ঝুঁকির মধ্যে পড়তে পারে।

খেলোয়াড় পরিবর্তনের সময় কী পরিমাণ পরিশ্রমের প্রয়োজন হয়?

পার্টনারদের তাদের অ্যাপ্লিকেশন এবং কন্টেন্ট একটি টেস্ট এনভায়রনমেন্টে পরীক্ষা করতে হবে, যাতে HLS-এর তুলনায় ইউজার এক্সপেরিয়েন্স একই রকম বা উন্নত হয়। এটি করার জন্য, পার্টনারদের একটি অভ্যন্তরীণ পরিবেশে ফিচারটিতে অপ্ট-ইন করতে হবে এবং শাকা প্লেয়ার ব্যবহার করে তাদের কন্টেন্ট প্লে করা যাচ্ছে কিনা তা পুঙ্খানুপুঙ্খভাবে পরীক্ষা করতে হবে। আপনার কন্টেন্টের কোন দিকগুলোর উপর মনোযোগ দিতে হবে, সে সম্পর্কে বিস্তারিত জানতে ‘কন্টেন্ট যাচাইকরণ’ দেখুন। যাচাই হয়ে গেলে, শাকা প্লেয়ারের সুবিধাগুলো গ্রহণ শুরু করার জন্য পার্টনারদের তাদের প্রোডাকশন অ্যাপ্লিকেশন এনভায়রনমেন্টে অপ্ট-ইন করার ফ্ল্যাগটি যোগ করতে হবে। উচ্চস্তরে, আমাদের পার্টনারদের সফলভাবে মাইগ্রেট করার জন্য সফটওয়্যার ডেভেলপমেন্টে ন্যূনতম পরিবর্তন এবং প্রধানত QA প্রয়োজনীয়তা রয়েছে।

আমার অ্যাপ্লিকেশনটি শীঘ্রই কন্টেন্ট স্ট্রিম করার জন্য HLS ব্যবহার করবে, আমার কী করা উচিত?

নতুন ইন্টিগ্রেশনগুলোর প্লেব্যাকের জন্য শাকা প্লেয়ার ব্যবহার করতে অপ্ট-ইন করা উচিত। এতে আপনার অ্যাপ্লিকেশনটি দীর্ঘমেয়াদে আরও ভালোভাবে সমর্থিত হবে এবং নতুন HLS ফিচার ও পারফরম্যান্সের উন্নতির সুবিধাও পাবে। আপনার নতুন ইন্টিগ্রেশনে কোনো সমস্যা হলে, যত তাড়াতাড়ি সম্ভব একটি বাগ রিপোর্ট করুন, যাতে ইঞ্জিনিয়ারিং টিম সমস্যাটি সমাধানের জন্য যথেষ্ট সময় পায়। আপনার অ্যাপ্লিকেশনের যদি কোনো নির্দিষ্ট ডেডলাইন থাকে, তবে বাগ রিপোর্টে সেই তথ্য এবং এর প্রভাব উল্লেখ করুন, যাতে সেই অনুযায়ী অগ্রাধিকার দেওয়া যায়। আমাদের ইঞ্জিনিয়ারিং টিম আপনার ব্যবহারকারীদের যথাযথভাবে সাপোর্ট দেওয়ার জন্য একটি সমাধান প্রদানে কাজ করবে।

আমার কন্টেন্ট বা অ্যাপ শাকা প্লেয়ারের সাথে কাজ করছে না, এখন কী করব?

আপনাকে শাকা প্লেয়ার প্রজেক্ট অথবা কাস্ট প্রজেক্টে একটি বাগ রিপোর্ট করতে হবে ( রিপোর্ট ইস্যুজ দেখুন)। কাস্ট এসডিকে ইঞ্জিনিয়ারিং টিম সক্রিয়ভাবে এই ট্র্যাকারগুলো পর্যবেক্ষণ করছে এবং যেকোনো সমস্যা সমাধানে আপনার সাথে কাজ করবে। যত তাড়াতাড়ি এই সমস্যাগুলো শনাক্ত করা হবে, সমাধান দেওয়ার জন্য তারা তত বেশি সময় পাবে।

MPL আর গুরুত্বপূর্ণ আপডেট পাচ্ছে না, এর ঠিক কী মানে?

ঐতিহাসিকভাবে, MPL গুরুত্বপূর্ণ আপডেটের মাধ্যমে নতুন HLS ফিচার গ্রহণ করেছে এবং বড় বাগগুলো ঠিক করেছে। এখন যেহেতু MPL আর সেগুলো পাবে না, তাই প্লেয়ারটিতে নতুন কোনো HLS ফিচার যোগ করা হবে না। একইভাবে, MPL-এ HLS প্লেব্যাকের জন্য রিপোর্ট করা কোনো সমস্যাও MPL-এ সমাধান করা হবে না। প্লেব্যাকের জন্য Shaka Player ব্যবহার করে এই সমস্যাগুলোর সমাধান করা উচিত। যদি সমস্যা চলতে থাকে, তাহলে Shaka Player-এ সম্মুখীন হওয়া প্রাসঙ্গিক সমস্যা(গুলো) উল্লেখ করে একটি বাগ রিপোর্ট করা উচিত। পার্টনারদের MPL ব্যবহার করা থেকে সরে আসা উচিত।

আমার কন্টেন্ট স্মুথ স্ট্রিমিং প্রোটোকল ব্যবহার করে, এটি আমার অ্যাপ্লিকেশনকে কীভাবে প্রভাবিত করে?

MPL বাইনারিগুলো আপনার রিসিভার অ্যাপ্লিকেশনের জন্য হোস্ট করা এবং অ্যাক্সেসযোগ্য থাকবে। তবে, Smooth Streaming সম্পর্কিত কোনো ফিচার রিকোয়েস্ট এবং বাগ ফিক্স সাপোর্ট করা হবে না, কারণ Smooth Streaming স্পেসিফিকেশনটি চার বছরেরও বেশি সময় ধরে আপডেট করা হয়নি। আপনার কন্টেন্টের জন্য পারফরম্যান্স আপডেট এবং সাপোর্ট পেতে, আমরা DASH বা HLS স্ট্রিমিং প্রোটোকল ব্যবহার করার জন্য আপনার কন্টেন্ট মাইগ্রেট করার পরামর্শ দিচ্ছি।

আমার কন্টেন্টে HLS বা Smooth Stream প্রোটোকল ব্যবহার করা হয় না, এটি আমার অ্যাপ্লিকেশনকে কীভাবে প্রভাবিত করে?

যদি আপনার কন্টেন্ট লাইব্রেরি এই স্ট্রিমিং প্রোটোকলগুলোর কোনোটি ব্যবহার না করে, তাহলে এই মাইগ্রেশনের ফলে আপনি প্রভাবিত হবেন না। আপনার অ্যাপ্লিকেশনে কোনো পরিবর্তনের প্রয়োজন নেই।