نرخ بیت تطبیقی در برنامه‌های موبایل — چیست، الگوریتم‌ها و پروتکل‌ها

نویسنده: IT Sectr منتشر شده: 2026-05-24 زمان مطالعه: 8 دقیقه

Adaptive Bitrate (ABR) — فناوری پخش جریانی است که کیفیت ویدیو را بسته به پهنای باند کانال کاربر به صورت پویا تغییر می‌دهد. برخلاف دانلود تدریجی، ABR ویدیو را به بخش‌های کوچک ۲–۱۰ ثانیه‌ای تقسیم می‌کند و در لحظه بین آن‌ها سوئیچ می‌کند. بر اساس گزارش Bitmovin Video Developer Report (2025)، ۸۶٪ از سرویس‌های استریمینگ از ABR برای پخش روان در دستگاه‌های موبایل استفاده می‌کنند.

نکات اصلی

  • ABR — فناوری انتقال با نرخ بیت تطبیقی که کیفیت ویدیو را با توجه به شرایط شبکه تغییر می‌دهد.
  • بخش‌بندی — ویدیو به قطعات ۲–۱۰ ثانیه‌ای تقسیم می‌شود که هر کدام در چند نرخ بیت در دسترس است.
  • HLS و MPEG-DASH — پروتکل‌های اصلی استریمینگ ABR در برنامه‌های موبایل.
  • الگوریتم‌ها انتخاب نرخ بیت شامل رویکردهای مبتنی بر توان عملیاتی، مبتنی بر بافر و ترکیبی هستند.
  • ABR تجربه کاربری را بهبود می‌بخشد با به حداقل رساندن بافرینگ و شروع سریع پخش.

Adaptive Bitrate چیست؟

Adaptive Bitrate (ABR) — روشی برای پخش جریانی محتوای رسانه‌ای است که در آن فایل ویدیویی به چندین نسخه با نرخ بیت و وضوح متفاوت کدگذاری می‌شود و پخش‌کننده به طور خودکار نسخه مناسب را در زمان واقعی انتخاب می‌کند. کاربر حداکثر کیفیت ممکن را بدون بافرینگ با سرعت اینترنت فعلی خود دریافت می‌کند.

برخلاف دانلود تدریجی سنتی (progressive download)، ABR نیاز به بارگیری کل فایل ندارد — پخش‌کننده بخش‌های کوتاه با کیفیت مورد نیاز را درخواست می‌کند و می‌تواند بین بخش‌ها به نرخ بیت دیگری سوئیچ کند. این فناوری را برای برنامه‌های موبایل که سرعت شبکه دائماً در حال تغییر است ضروری می‌سازد.

تاریخچه پیدایش ABR

فناوری استریمینگ تطبیقی اولین بار در سال ۲۰۰۶ توسط Move Networks برای پخش کانال ABC به صورت تجاری پیاده‌سازی شد. در سال ۲۰۰۹، اپل HTTP Live Streaming (HLS) را معرفی کرد که اولین استاندارد پرکاربرد ABR مبتنی بر HTTP شد و هنوز در اکوسیستم iOS غالب است.

در سال ۲۰۱۲، MPEG استاندارد MPEG-DASH (Dynamic Adaptive Streaming over HTTP) را به عنوان فرمت جهانی ABR منتشر کرد که به فروشنده خاصی وابسته نیست. DASH توسط تمام پلتفرم‌های بزرگ پشتیبانی می‌شود و تنها استاندارد ABR است که توسط ISO پذیرفته شده است.

ABR چگونه کار می‌کند؟

فرآیند استریمینگ ABR از مرحله آماده‌سازی محتوا آغاز می‌شود: ویدیوی اصلی به چندین نسخه با نرخ بیت متفاوت — مثلاً ۱۴۴p، ۳۶۰p، ۷۲۰p، ۱۰۸۰p و ۴K — کدگذاری می‌شود. هر نسخه به بخش‌هایی با طول یکسان، معمولاً ۲، ۴، ۶ یا ۱۰ ثانیه تقسیم می‌شود.

در سرور یک فایل مانیفست ایجاد می‌شود که نسخه‌های موجود (representations)، نرخ بیت، وضوح، کدک و پیوندهای بخش‌ها را توصیف می‌کند. پخش‌کننده مانیفست را دانلود می‌کند، آن را تحلیل می‌کند و برای شروع سریع با کمترین نرخ بیت پخش را آغاز می‌کند.

ساختار مانیفست ABR (MPEG-DASH MPD)

xml
<!-- 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 در سمت کلient به طور مداوم وضعیت شبکه و بافر را پایش می‌کند. اگر پهنای باند کاهش یابد، پخش‌کننده بخش‌های بعدی را با نرخ بیت پایین‌تر درخواست می‌کند تا از بافرینگ جلوگیری کند. با بهبود شبکه، نرخ بیت افزایش می‌یابد.

سوئیچینگ بین نرخ‌های بیت در مرزهای بخش‌ها انجام می‌شود که تغییر کیفیت را برای کاربر تقریباً نامحسوس می‌کند. پخش‌کننده‌های مدرن می‌توانند فریم‌های کلیدی را بین نسخه‌های مختلف همگام‌سازی کنند تا سوئیچینگ بدون مصنوعات بصری انجام شود.

پروتکل‌های ABR: HLS، MPEG-DASH، Smooth Streaming

سه پروتکل اصلی ABR در بازار ویدیوی جریانی غالب هستند: HLS از اپل، MPEG-DASH به عنوان استاندارد باز و Smooth Streaming از مایکروسافت. هر پروتکل فرمت مانیفست، روش بخش‌بندی و مکانیزم رمزنگاری را تعیین می‌کند.

پروتکلتوسعه‌دهندهمانیفستبخش‌هارمزنگاری
HLSApple.m3u8 (M3U playlist).ts یا .fmp4AES-128، SAMPLE-AES
MPEG-DASHISO/MPEG.mpd (XML).m4s یا .webmCENC (Common Encryption)
Smooth StreamingMicrosoft.ismc (XML، IIS).ismv / .ismaPlayReady (AES-128 CT)

HTTP Live Streaming (HLS)

HLS — رایج‌ترین پروتکل ABR است که در iOS، tvOS و Safari در macOS تعبیه شده است. فرمت مانیفست بر اساس پلی‌لیست‌های توسعه‌یافته M3U است، جایی که پلی‌لیست اصلی (master playlist) شامل پیوندهایی به نسخه‌های مختلف (variant streams) با نرخ بیت و وضوح متفاوت است.

هر نسخه به پلی‌لیست رسانه‌ای خود با فهرست بخش‌ها اشاره می‌کند. HLS از پخش زنده از طریق مکانیزم پنجره کشویی (sliding window) پشتیبانی می‌کند، جایی که بخش‌های قدیمی حذف و بخش‌های جدید با ورود اضافه می‌شوند.

MPEG-DASH

MPEG-DASH — تنها استاندارد ABR است که در سال ۲۰۱۲ توسط ISO/IEC 23009-1 پذیرفته شده است. برخلاف HLS، DASH از مانیفست XML (MPD — Media Presentation Description) استفاده می‌کند و به فرمت کانتینر خاصی وابسته نیست — از fMP4، WebM و غیره پشتیبانی می‌کند.

DASH بخش‌بندی منعطف را فراهم می‌کند: بخش‌ها می‌توانند در یک جریان طول متفاوت داشته باشند که نسبت تأخیر به سربار درخواست‌های HTTP را بهینه می‌کند. برای پخش زنده، DASH از الگوهای بخش (SegmentTemplate) پشتیبانی می‌کند.

مقایسه عملکرد پروتکل‌ها

بر اساس آزمایش‌های Bitmovin (2025)، HLS و DASH عملکرد قابل مقایسه‌ای از نظر زمان راه‌اندازی و تعداد سوئیچ‌های نرخ بیت نشان می‌دهند. HLS در iOS به دلیل پشتیبانی سخت‌افزاری تأخیر کمتری دارد، DASH در Android به دلیل تنظیمات منعطف‌تر الگوریتم‌های ABR ترجیح داده می‌شود.

الگوریتم‌های نرخ بیت تطبیقی

قلب ABR — الگوریتم انتخاب نرخ بیت است که تعیین می‌کند کدام نسخه بعدی درخواست شود. سه خانواده اصلی از الگوریتم‌ها وجود دارد: مبتنی بر توان عملیاتی (throughput-based)، مبتنی بر بافر (buffer-based) و ترکیبی (hybrid). هر رویکرد نقاط قوت و محدودیت‌های خود را دارد.

الگوریتم‌های مبتنی بر توان عملیاتی

Throughput-based الگوریتم‌ها پهنای باند شبکه را بر اساس سرعت دانلود بخش‌های قبلی تخمین می‌زنند. الگوریتم حداکثر نرخ بیتی را انتخاب می‌کند که از ۸۰–۹۰٪ پهنای باند اندازه‌گیری‌شده تجاوز نکند و برای نوسانات ذخیره باقی بگذارد.

عیب این رویکرد حساسیت به افزایش‌های کوتاه‌مدت سرعت است. اگر شبکه در طول دانلود یک بخش به شدت کاهش یابد، تخمین پهنای باند پایین می‌آید و کیفیت به طور غیرضروری کاهش می‌یابد.

الگوریتم‌های مبتنی بر بافر

Buffer-based الگوریتم‌ها تصمیمات را بر اساس میزان پر بودن بافر پخش‌کننده اتخاذ می‌کنند. اگر بافر بیش از ۷۰٪ پر باشد، الگوریتم نرخ بیت را افزایش می‌دهد؛ اگر بافر به زیر ۲۰٪ برسد — برای جلوگیری از بافرینگ، کیفیت را به شدت کاهش می‌دهد.

مزیت اصلی عدم کاهش‌های کاذب در افت‌های کوتاه‌مدت شبکه است، زیرا بافر نوسانات را هموار می‌کند. عیب — واکنش آهسته به تغییرات پایدار پهنای باند.

الگوریتم‌های ترکیبی و یادگیری ماشین

پخش‌کننده‌های مدرن مانند ExoPlayer و AVPlayer از الگوریتم‌های ترکیبی استفاده می‌کنند که تخمین پهنای باند و وضعیت بافر را ترکیب می‌کنند. ExoPlayer به طور پیش‌فرض از الگوریتم ABR DefaultTrackSelector استفاده می‌کند که هر دو پارامتر را در نظر می‌گیرد.

در سال‌های ۲۰۲۴–۲۰۲۵، الگوریتم‌های مبتنی بر یادگیری ماشین که تغییرات آینده شبکه را بر اساس داده‌های تاریخی پیش‌بینی می‌کنند، به طور فعال در حال پیاده‌سازی هستند. Netflix، YouTube و Twitch از مدل‌های یادگیری ماشین خود برای بهینه‌سازی انتخاب نرخ بیت استفاده می‌کنند که تعداد سوئیچ‌ها را ۳۰–۴۰٪ کاهش می‌دهد.

ABR در برنامه‌های موبایل

برنامه‌های موبایل به دلیل ناپایداری شبکه‌های سلولی (4G/LTE، 5G) و قدرت محاسباتی محدود دستگاه‌ها، الزامات خاصی برای ABR دارند. پخش‌کننده باید سریعاً با تغییرات شبکه سازگار شود و در عین حال مصرف انرژی و ترافیک را به حداقل برساند.

بر اساس OpenSignal (2025)، میانگین سرعت 4G در شرایط شهری از ۵ تا ۵۰ مگابیت بر ثانیه متغیر است و در حرکت می‌تواند به ۱ مگابیت بر ثانیه کاهش یابد. الگوریتم‌های ABR باید بین نرخ‌های بیت در ۱–۲ بخش سوئیچ کنند تا از بافرینگ هنگام ورود به تونل یا آسانسور جلوگیری شود.

پیکربندی ABR در ExoPlayer (Android)

kotlin
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()

بهینه‌سازی ABR برای دستگاه‌های موبایل

برای برنامه‌های موبایل، بارگذاری اولیه سریع (time-to-first-frame کمتر از ۲ ثانیه) حیاتی است. توصیه می‌شود پخش را با کمترین نرخ بیت موجود شروع کنید و سپس با پر شدن بافر کیفیت را افزایش دهید — استراتژی start-low-and-rise.

مصرف انرژی نیز مهم است: شتاب‌دهی سخت‌افزاری رمزگشایی باید برای همه نرخ‌های بیت استفاده شود. رمزگشایی نرم‌افزاری نرخ‌های بیت بالا (۱۰۸۰p و بالاتر) در دستگاه‌های قدیمی می‌تواند منجر به داغ شدن و کاهش فرکانس شود.

ABR و تحلیل عملکرد

متریک‌های کلیدی کیفیت ABR: تعداد سوئیچ‌های نرخ بیت (switches)، زمان تا اولین فریم (TTFF)، نسبت سوئیچ‌ها به کل زمان تماشا. شاخص کیفیت QoE (Quality of Experience) به عنوان مجموع وزنی نرخ بیت، جریمه سوئیچ‌ها و جریمه بافرینگ محاسبه می‌شود.

برای پایش ABR توصیه می‌شود تحلیل از پخش‌کننده جمع‌آوری شود: نرخ بیت فعلی، اندازه بافر، پهنای باند، تعداد و انواع سوئیچ‌ها. داده‌ها به ارائه‌دهندگان محتوا کمک می‌کند مجموعه نرخ‌های بیت موجود را بهینه کرده و بخش‌بندی را برای مخاطب خاص تنظیم کنند.

سوالات متداول

Adaptive Bitrate در برنامه‌های موبایل چیست؟

Adaptive Bitrate (ABR) — فناوری پخش جریانی که کیفیت ویدیو را به صورت پویا با توجه به شرایط شبکه تغییر می‌دهد. پخش‌کننده ویدیو را به بخش‌ها تقسیم کرده و برای هر کدام نرخ بیت بهینه را انتخاب می‌کند و پخش روان بدون بافرینگ را در دستگاه‌های موبایل تضمین می‌کند.

تفاوت HLS با MPEG-DASH چیست؟

HLS — پروتکل اپل که از پلی‌لیست‌های M3U و جریان‌های حمل و نقل (.ts) استفاده می‌کند. MPEG-DASH — استاندارد باز ISO با مانیفست XML (.mpd) و فرمت‌های بخش منعطف. HLS در iOS بهتر است، DASH در Android و وب.

ABR چگونه بر کیفیت ویدیو تأثیر می‌گذارد؟

ABR بهبود می‌بخشد کیفیت درک شده را با حذف بافرینگ: ویدیو می‌تواند موقتاً وضوح را هنگام بدتر شدن شبکه کاهش دهد، اما متوقف نمی‌شود. کاربر ویدیوی روان ۷۲۰p را به ۴K متناوب با بافرینگ مداوم ترجیح می‌دهد.

چه الگوریتم‌های ABR در ExoPlayer استفاده می‌شود؟

ExoPlayer از الگوریتم ترکیبی DefaultTrackSelector استفاده می‌کند که پهنای باند شبکه و میزان پر بودن بافر را در نظر می‌گیرد. همچنین استراتژی‌های Throughput-based و Buffer-based با قابلیت سفارشی‌سازی از طریق AdaptiveTrackSelection.Factory در دسترس هستند.

بخش‌بندی چگونه بر ABR تأثیر می‌گذارد؟

طول بخش‌ها تعداد تطبیق‌ها را تعیین می‌کند: بخش‌های کوتاه (۲ ثانیه) سریع‌تر به تغییرات شبکه واکنش نشان می‌دهند اما درخواست‌های HTTP بیشتری ایجاد می‌کنند. بخش‌های ۴–۶ ثانیه از نظر نسبت سرعت تطبیق به سربار برای دستگاه‌های موبایل بهینه هستند.

خلاصه

  • Adaptive Bitrate — فناوری کلیدی استریمینگ که کیفیت ویدیو را به صورت پویا با پهنای باند شبکه تطبیق می‌دهد.
  • HLS و MPEG-DASH — پروتکل‌های اصلی ABR؛ HLS در iOS غالب است، DASH در Android و پلتفرم‌های وب.
  • الگوریتم‌های ABR به مبتنی بر توان عملیاتی، مبتنی بر بافر و ترکیبی تقسیم می‌شوند؛ الگوریتم‌های ML نسل جدید تعداد سوئیچ‌ها را ۳۰–۴۰٪ کاهش می‌دهند.
  • بخش‌بندی به قطعات ۲–۱۰ ثانیه به پخش‌کننده اجازه می‌دهد بدون اطلاع کاربر بین نرخ‌های بیت سوئیچ کند.
  • بهینه‌سازی موبایل نیاز به شروع سریع (start-low-and-rise) و در نظر گرفتن مصرف انرژی در رمزگشایی دارد.
  • متریک‌های QoE شامل تعداد سوئیچ‌ها، زمان تا اولین فریم و تعداد بافرینگ است.
  • الگوریتم‌های ترکیبی تخمین پهنای باند و وضعیت بافر را برای انتخاب بهینه نرخ بیت ترکیب می‌کنند.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید