Adaptive Bitrate (ABR) একটি স্ট্রিমিং প্রযুক্তি যা ব্যবহারকারীর চ্যানেল ব্যান্ডউইথের উপর ভিত্তি করে ভিডিওর গুণমান গতিশীলভাবে পরিবর্তন করে। প্রগ্রেসিভ ডাউনলোডের বিপরীতে, ABR ভিডিওকে 2–10 সেকেন্ডের ছোট সেগমেন্টে বিভক্ত করে এবং চলার পথে তাদের মধ্যে সুইচ করে। Bitmovin ভিডিও ডেভেলপার রিপোর্ট (2025) অনুসারে, 86% স্ট্রিমিং পরিষেবা মোবাইল ডিভাইসে মসৃণ প্লেব্যাক নিশ্চিত করতে ABR ব্যবহার করে।
মূল বিষয়
Adaptive Bitrate (ABR) মিডিয়া সামগ্রী স্ট্রিম করার একটি পদ্ধতি যেখানে একটি ভিডিও ফাইল বিভিন্ন বিটরেট এবং রেজোলিউশন সহ একাধিক ভেরিয়েন্টে এনকোড করা হয় এবং প্লেয়ার রিয়েল টাইমে স্বয়ংক্রিয়ভাবে উপযুক্ত ভেরিয়েন্ট নির্বাচন করে। ব্যবহারকারী তাদের বর্তমান ইন্টারনেট গতি অনুযায়ী বাফারিং ছাড়াই সর্বোচ্চ সম্ভাব্য গুণমান পান।
প্রথাগত প্রগ্রেসিভ ডাউনলোডের বিপরীতে, ABR সম্পূর্ণ ফাইল লোড করার প্রয়োজন হয় না — প্লেয়ার পছন্দসই গুণমানে ছোট সেগমেন্ট অনুরোধ করে এবং সেগমেন্টের মধ্যে অন্য বিটরেটে সুইচ করতে পারে। এটি প্রযুক্তিটিকে মোবাইল অ্যাপ্লিকেশনের জন্য অপরিহার্য করে তোলে, যেখানে নেটওয়ার্ক গতি ক্রমাগত পরিবর্তিত হয়।
অভিযোজিত স্ট্রিমিং প্রযুক্তি প্রথম 2006 সালে Move Networks দ্বারা ABC টেলিভিশন চ্যানেল সম্প্রচারের জন্য বাণিজ্যিকভাবে বাস্তবায়িত হয়েছিল। 2009 সালে, Apple HTTP Live Streaming (HLS) প্রবর্তন করে, যা HTTP-ভিত্তিক প্রথম ব্যাপকভাবে গৃহীত ABR মান হয়ে ওঠে এবং আজও iOS ইকোসিস্টেমে আধিপত্য বিস্তার করে।
2012 সালে, MPEG MPEG-DASH (Dynamic Adaptive Streaming over HTTP) মান প্রকাশ করে, যা কোনো নির্দিষ্ট বিক্রেতার সাথে আবদ্ধ নয়। DASH সমস্ত প্রধান প্ল্যাটফর্ম দ্বারা সমর্থিত এবং ISO দ্বারা গৃহীত একমাত্র ABR মান।
ABR স্ট্রিমিং প্রক্রিয়া সামগ্রী প্রস্তুতি পর্যায়ে শুরু হয়: সোর্স ভিডিও বিভিন্ন বিটরেট সহ একাধিক ভেরিয়েন্টে এনকোড করা হয় — উদাহরণস্বরূপ, 144p, 360p, 720p, 1080p এবং 4K। প্রতিটি ভেরিয়েন্ট সমান সময়ের সেগমেন্টে বিভক্ত হয়, সাধারণত 2, 4, 6 বা 10 সেকেন্ড।
সার্ভারে একটি ম্যানিফেস্ট ফাইল তৈরি করা হয় যা উপলব্ধ ভেরিয়েন্ট, তাদের বিটরেট, রেজোলিউশন, কোডেক এবং সেগমেন্ট URL বর্ণনা করে। প্লেয়ার ম্যানিফেস্ট ডাউনলোড করে, এটি বিশ্লেষণ করে এবং দ্রুত শুরুর জন্য সর্বনিম্ন বিটরেটে প্লেব্যাক শুরু করে।
<!-- MPEG-DASH MPD manifest -->
<MPD profiles="urn:mpeg:dash:profile:isoff-live:2011">
<Period>
<AdaptationSet mimeType="video/mp4">
<Representation id="720p" bandwidth="2800000"
width="1280" height="720">
<SegmentTemplate duration="4"
media="seg_$Number$.m4s"/>
</Representation>
</AdaptationSet>
</Period>
</MPD>
প্লেব্যাকের সময়, ক্লায়েন্ট পাশের ABR অ্যালগরিদম ক্রমাগত নেটওয়ার্ক অবস্থা এবং বাফার অবস্থা পর্যবেক্ষণ করে। যদি ব্যান্ডউইথ কমে যায়, প্লেয়ার বাফারিং এড়াতে নিম্ন বিটরেটে পরবর্তী সেগমেন্টের অনুরোধ করে। নেটওয়ার্ক উন্নত হলে, বিটরেট বৃদ্ধি পায়।
বিটরেটের মধ্যে সুইচিং সেগমেন্ট সীমানায় ঘটে, যা গুণমান পরিবর্তনকে ব্যবহারকারীর কাছে প্রায় অদৃশ্য করে তোলে। আধুনিক প্লেয়াররা বিভিন্ন ভেরিয়েন্টের মধ্যে কী ফ্রেম সিঙ্ক্রোনাইজ করতে পারে যাতে সুইচিং ভিজ্যুয়াল আর্টিফ্যাক্ট ছাড়াই ঘটে।
তিনটি প্রধান ABR প্রোটোকল স্ট্রিমিং ভিডিও বাজারে আধিপত্য বিস্তার করে: Apple-এর HLS, মুক্ত মান হিসাবে MPEG-DASH এবং Microsoft-এর Smooth Streaming। প্রতিটি প্রোটোকল ম্যানিফেস্ট ফরম্যাট, সেগমেন্টেশন পদ্ধতি এবং এনক্রিপশন প্রক্রিয়া নির্ধারণ করে।
| প্রোটোকল | ডেভেলপার | ম্যানিফেস্ট | সেগমেন্ট | এনক্রিপশন |
|---|---|---|---|---|
| HLS | Apple | .m3u8 (M3U প্লেলিস্ট) | .ts বা .fmp4 | AES-128, SAMPLE-AES |
| MPEG-DASH | ISO/MPEG | .mpd (XML) | .m4s বা .webm | CENC (সাধারণ এনক্রিপশন) |
| Smooth Streaming | Microsoft | .ismc (XML, IIS) | .ismv / .isma | PlayReady (AES-128 CT) |
HLS সবচেয়ে ব্যাপক ABR প্রোটোকল, যা iOS, tvOS এবং macOS-এ Safari-তে নির্মিত। ম্যানিফেস্ট ফরম্যাট বর্ধিত M3U প্লেলিস্টের উপর ভিত্তি করে, যেখানে মাস্টার প্লেলিস্টে বিভিন্ন বিটরেট এবং রেজোলিউশন সহ ভেরিয়েন্ট স্ট্রিমের লিঙ্ক থাকে।
প্রতিটি ভেরিয়েন্ট সেগমেন্টের তালিকা সহ নিজস্ব মিডিয়া প্লেলিস্ট উল্লেখ করে। HLS স্লাইডিং উইন্ডো প্রক্রিয়ার মাধ্যমে লাইভ সম্প্রচার সমর্থন করে, যেখানে পুরানো সেগমেন্ট সরানো হয় এবং আসার সাথে সাথে নতুন যোগ করা হয়।
MPEG-DASH একমাত্র ABR মান যা 2012 সালে ISO/IEC 23009-1 হিসাবে গৃহীত হয়েছে। HLS-এর বিপরীতে, DASH একটি XML ম্যানিফেস্ট (MPD — Media Presentation Description) ব্যবহার করে এবং কোনো নির্দিষ্ট কন্টেইনার ফরম্যাটের সাথে আবদ্ধ নয় — এটি fMP4, WebM এবং অন্যান্য সমর্থন করে।
DASH নমনীয় সেগমেন্টেশন প্রদান করে: সেগমেন্টের একই স্ট্রিমের মধ্যে বিভিন্ন সময়কাল থাকতে পারে, যা লেটেন্সি এবং HTTP অনুরোধ ওভারহেডের মধ্যে ভারসাম্য অপ্টিমাইজ করে। লাইভ সম্প্রচারের জন্য, DASH SegmentTemplate প্যাটার্ন সমর্থন করে।
Bitmovin পরীক্ষা (2025) অনুসারে, HLS এবং DASH স্টার্টআপ সময় এবং বিটরেট সুইচিং ফ্রিকোয়েন্সিতে তুলনীয় পারফরম্যান্স দেখায়। HLS হার্ডওয়্যার সমর্থনের কারণে iOS-এ কম লেটেন্সি প্রদান করে, যখন আরও নমনীয় ABR অ্যালগরিদম কনফিগারেশনের কারণে Android-এ DASH পছন্দ করা হয়।
ABR-এর হৃদয় হল বিটরেট নির্বাচন অ্যালগরিদম যা নির্ধারণ করে পরবর্তী কোন ভেরিয়েন্ট অনুরোধ করতে হবে। অ্যালগরিদমের তিনটি প্রধান পরিবার রয়েছে: থ্রুপুট-ভিত্তিক, বাফার-ভিত্তিক এবং হাইব্রিড। প্রতিটি পদ্ধতির নিজস্ব শক্তি এবং সীমাবদ্ধতা রয়েছে।
থ্রুপুট-ভিত্তিক অ্যালগরিদম পূর্ববর্তী সেগমেন্টের ডাউনলোড গতির উপর ভিত্তি করে নেটওয়ার্ক ব্যান্ডউইথ অনুমান করে। অ্যালগরিদম সর্বোচ্চ বিটরেট নির্বাচন করে যা পরিমাপিত থ্রুপুটের 80–90% অতিক্রম না করে, ওঠানামার জন্য মার্জিন রেখে।
এই পদ্ধতির ত্রুটি হল স্বল্পমেয়াদী গতি স্পাইকের প্রতি এর সংবেদনশীলতা। যদি সেগমেন্ট ডাউনলোডের সময় নেটওয়ার্ক তীব্রভাবে কমে যায়, থ্রুপুট অনুমান খুব কম হয়ে যায়, অপ্রয়োজনীয়ভাবে গুণমান হ্রাস করে।
বাফার-ভিত্তিক অ্যালগরিদম প্লেয়ারের বাফার পূর্ণতার উপর ভিত্তি করে সিদ্ধান্ত নেয়। যদি বাফার 70% এর বেশি পূর্ণ থাকে, অ্যালগরিদম বিটরেট বাড়ায়; যদি বাফার 20% এর নিচে নেমে যায়, বাফারিং প্রতিরোধ করতে গুণমান তীব্রভাবে হ্রাস করে।
প্রধান সুবিধা হল স্বল্পমেয়াদী নেটওয়ার্ক পতনের সময় কোন মিথ্যা হ্রাস নেই, কারণ বাফার ওঠানামা মসৃণ করে। অসুবিধা হল টেকসই ব্যান্ডউইথ পরিবর্তনে ধীর প্রতিক্রিয়া।
ExoPlayer এবং AVPlayer-এর মতো আধুনিক প্লেয়াররা হাইব্রিড অ্যালগরিদম ব্যবহার করে যা থ্রুপুট অনুমান এবং বাফার অবস্থা একত্রিত করে। ExoPlayer ডিফল্ট DefaultTrackSelector ABR অ্যালগরিদম ব্যবহার করে, যা উভয় প্যারামিটার বিবেচনা করে।
2024–2025 সালে, ML-ভিত্তিক অ্যালগরিদম সক্রিয়ভাবে স্থাপন করা হচ্ছে, যা ঐতিহাসিক ডেটার উপর ভিত্তি করে ভবিষ্যতের নেটওয়ার্ক পরিবর্তনের পূর্বাভাস দেয়। Netflix, YouTube এবং Twitch বিটরেট নির্বাচন অপ্টিমাইজ করতে তাদের নিজস্ব মেশিন লার্নিং মডেল ব্যবহার করে, যা সুইচের সংখ্যা 30–40% কমিয়ে দেয়।
মোবাইল অ্যাপ্লিকেশনগুলি সেলুলার নেটওয়ার্কের (4G/LTE, 5G) অস্থিরতা এবং সীমিত ডিভাইস কম্পিউটিং শক্তির কারণে ABR-তে বিশেষ চাহিদা রাখে। প্লেয়ারকে শক্তি খরচ এবং ডেটা ব্যবহার কমিয়ে নেটওয়ার্ক পরিবর্তনের সাথে দ্রুত খাপ খাইয়ে নিতে হবে।
OpenSignal (2025) অনুসারে, শহরাঞ্চলে গড় 4G গতি 5 থেকে 50 Mbps পর্যন্ত হয় এবং চলার সময় 1 Mbps-এ নেমে যেতে পারে। ABR অ্যালগরিদমকে টানেল বা লিফটে প্রবেশ করার সময় বাফারিং এড়াতে 1–2 সেগমেন্টের মধ্যে বিটরেটের মধ্যে সুইচ করতে হবে।
val trackSelector = DefaultTrackSelector(context).apply {
setParameters(buildUponParameters {
setMaxVideoSizeSd()
setAllowVideoMixedMimeTypeAdaptiveness(true)
setPreferredVideoRoleFlags(
roleFlags(C.ROLE_FLAG_DESCRIBES_VIDEO_AND_AUDIO)
)
})
}
val adaptiveTrackSelectionFactory =
AdaptiveTrackSelection.Factory()
val player = ExoPlayer.Builder(context)
.setTrackSelector(trackSelector)
.setMediaSourceFactory(
DashMediaSource.Factory(dataSourceFactory)
)
.build()
মোবাইল অ্যাপ্লিকেশনের জন্য, দ্রুত প্রাথমিক লোডিং (প্রথম ফ্রেমের সময় 2 সেকেন্ডের কম) গুরুত্বপূর্ণ। সর্বনিম্ন উপলব্ধ বিটরেটে প্লেব্যাক শুরু করার এবং তারপর বাফার পূর্ণ হলে গুণমান বাড়ানোর সুপারিশ করা হয় — start-low-and-rise কৌশল।
শক্তি খরচও গুরুত্বপূর্ণ: হার্ডওয়্যার-त्वरित ডিকোডিং সমস্ত বিটরেটের জন্য ব্যবহার করা উচিত। পুরানো ডিভাইসে উচ্চ বিটরেটের (1080p এবং তার বেশি) সফ্টওয়্যার ডিকোডিং অতিরিক্ত গরম এবং থ্রটলিং হতে পারে।
মূল ABR গুণমান মেট্রিক: বিটরেট সুইচের সংখ্যা, প্রথম ফ্রেমের সময় (TTFF), এবং মোট দেখার সময়ের সাথে সুইচ অনুপাত। QoE (গুণমান অভিজ্ঞতা) সূচক বিটরেট, সুইচ জরিমানা এবং বাফারিং জরিমানার ভরযুক্ত যোগফল হিসাবে গণনা করা হয়।
ABR মনিটরিংয়ের জন্য, প্লেয়ার থেকে বিশ্লেষণ সংগ্রহ করার সুপারিশ করা হয়: বর্তমান বিটরেট, বাফার আকার, ব্যান্ডউইথ, সুইচের সংখ্যা এবং প্রকার। এই ডেটা সামগ্রী সরবরাহকারীদের উপলব্ধ বিটরেটের সেট অপ্টিমাইজ করতে এবং তাদের নির্দিষ্ট দর্শকদের জন্য সেগমেন্টেশন কনফিগার করতে সহায়তা করে।
সচরাচর জিজ্ঞাস্য
Adaptive Bitrate (ABR) একটি স্ট্রিমিং প্রযুক্তি যা নেটওয়ার্ক অবস্থার উপর ভিত্তি করে ভিডিও গুণমান গতিশীলভাবে পরিবর্তন করে। প্লেয়ার ভিডিওকে সেগমেন্টে বিভক্ত করে এবং প্রতিটির জন্য সর্বোত্তম বিটরেট নির্বাচন করে, মোবাইল ডিভাইসে বাফারিং ছাড়াই মসৃণ প্লেব্যাক নিশ্চিত করে।
HLS একটি Apple প্রোটোকল যা M3U প্লেলিস্ট এবং ট্রান্সপোর্ট স্ট্রিম (.ts) ব্যবহার করে। MPEG-DASH একটি XML ম্যানিফেস্ট (.mpd) এবং নমনীয় সেগমেন্ট ফরম্যাট সহ একটি উন্মুক্ত ISO মান। HLS iOS-এ সবচেয়ে ভাল কাজ করে, DASH Android এবং ওয়েবে।
ABR বাফারিং দূর করে অনুভূত গুণমান উন্নত করে: নেটওয়ার্ক খারাপ হলে ভিডিও সাময়িকভাবে রেজোলিউশন কমাতে পারে, কিন্তু থামে না। ব্যবহারকারীরা ক্রমাগত বাফারিং সহ অস্থির 4K-এর চেয়ে মসৃণ 720p ভিডিও পছন্দ করেন।
ExoPlayer একটি হাইব্রিড অ্যালগরিদম DefaultTrackSelector ব্যবহার করে যা নেটওয়ার্ক ব্যান্ডউইথ এবং বাফার পূর্ণতা বিবেচনা করে। AdaptiveTrackSelection.Factory-এর মাধ্যমে কাস্টমাইজেশন সহ থ্রুপুট-ভিত্তিক এবং বাফার-ভিত্তিক কৌশলও উপলব্ধ।
সেগমেন্ট সময়কাল অভিযোজন ফ্রিকোয়েন্সি নির্ধারণ করে: ছোট সেগমেন্ট (2 সেকেন্ড) নেটওয়ার্ক পরিবর্তনে দ্রুত প্রতিক্রিয়া জানায় কিন্তু আরও HTTP অনুরোধ তৈরি করে। 4–6 সেকেন্ডের সেগমেন্টগুলি অভিযোজন গতি এবং ওভারহেডের ভারসাম্য বজায় রাখার জন্য মোবাইল ডিভাইসের জন্য সর্বোত্তম।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন