محدود نمودن پهنای باند استریمینگ در Bitrate Throttling – IIS7.5
افزونه Bitrate Throttling در IIS قابلیت کنترل جریان دانلودهای افزایشی فایلهای مدیا را (که پخش زنده آنها به محض اینکه داده دانلود شونده به اندازه مورد نیاز بر روی کلاینت بافر شود، آغاز می گردد.) بر اساس Bitrate ارائه می نماید. برای سایتهایی که فایلهای صوتی و تصویری ارائه می دهند که ممکن است به طور کامل مشاهده نشوند، این افزونه می تواند هزینه های مرتبط با پهنای باند ویژه فایلهای رسانه ای شما را کاهش دهد. کاربرد دوم افزونه Bitrate Throttling استفاده جهت کنترل جریان فایلهای غیر از مدیا (فایلهای دیتا) با Bitrate تعیین شده، است.
کار با افزونه Bitrate Throttling
برای فایلهای مدیا، تشخیص خودکار Bitrate و کنترل جریان بر اساس تنظیمات انجام شده در IIS7 اجرا می شود.در صورتی که با iss آشنا نیستید به شما پیشنهاد می شود مقاله ی ما با موضوع iss چیست را مطالعه نمایید.امکان افزودن تنظیمات جدید و امکان ویرایش تنظیمات قبلی، جهت کاهش چشمگیر پهنای باند، بدون کاهش کیفیت ارائه مدیا به کاربر، وجود دارد. تنظیمات کنترل جریان مدیا تنها می تواند برای فایلهای مدیای تعریف شده اعمال شود. لذا، افزونه Bitrate Throttling (کنترل Bitrate) نیز شامل راهی برای افزایش پشتیبانی برای انواع دیگر فایلهای مدیا و یا ایجاد تغییراتی، فرای تعریفهای پیش فرض فایلهای موجود، توسط یک رابط قابل گسترش با الگوی XML است.
لیست فایلهای پشتیبانی شده، از روی فایل تنظیمات IIS خوانده می شود. به صورت پیش فرض، فایلهای زیر در لیست پشتیبانی این سرویس وجود دارد:
.asf
.avi
.flv
.m4v
.mov
.mp3
.mp4
.rm
.rmvb
.wma
.wmv
در این متن، جزئیات قدم به قدم مورد نیاز برای تنظیمات افزونه Bitrate Throttling در سطح سرور، سایت، دایرکتوری مجازی، و فایل شرح داده می شود و شامل بخشهای زیر می شود:
پیش نیازها
آزمایش صحت کارکرد Bitrate Throttling
تنظیم کنترل جریان در سطح سرور
تنظیم کنترل جریان در سطح سایت
تنظیم کنترل جریان در سطح دایرکتوری مجازی
تنظیم کنترل جریان در سطح فایل
تنظیم پیشرفته کنترل جریان در سطح سایت
پیش نیازها
برای نصب افزونه Bitrate Throttling برای IIS7، بخش Installation Notes در IIS Media Services Readme را مشاهده کنید.
برای تکمیل دستورالعمل این متن، همچنین نیاز است که درک مناسبی از تنظیمات IIS7 داشته باشید. (یک نقطه شروع مناسب می تواند لینک Deep Dive into IIS 7.0 Configuration باشد)
آزمایش صحت کارکرد Bitrate Throttling
برای حصول اطمینان از اینکه شما Bitrate Throttling را به صورت نصب شده دارید، پنجره IIS Manager را باز نمایید (تصویر زیر). سروری را در کادر Connections با کلیک کردن، انتخاب کنید. در صفحه اصلی (در کادر وسط نمایش داده می شود)، بخشی را خواهید دید که با عنوان Medfia Services دیده می شود و آیکانی با نام افزونه Bitrate Throttling در زیر آن قرار دارد.
این آیکان نشان دهنده آن است که Bitrate Throttling آماده آزمایش کارکرد است.
اگر شما هنوز وب سایت پیش فرض را بر روی IIS7 دارید، مطابق ای دستورالعمل پیش بروید تا افزونه Bitrate Throttling را آزمایش نمایید. ابتدا یک فایل ویدیوی نمونه را که دست کم یک دقیقه زمان پخش دارد، بر روی سرور خود بگذارید. اگر چنین فایلی در دسترس ندارید، میتوانید از طریق این لینک فایل نمونه ای را دانلود نمایید و استفاده کنید. کافیست دکمه راست را بر روی لینک Serving New Content with IIS7 بزنید و Save As را انتخاب نمایید.
در پنجره محاوره ای Save As :
۱- مسیر ذخیره سازی را فولدر وب سایت خود انتخاب نمایید (برای مثال، C:inetpubwwwroot).
۲- برای راحت شدن کارها، نام فایل را به test.wmv تغییر دهید.
۳- دکمه Save را کلیک کنید.
وقتی دانلود کامل شد، دکمه Close را کلیک کنید.
در سرور IIS7 خود، Task Manager را باز کنید (برای مثال میتوانید دکمه های Ctrl+Shift+Esc را با هم بفشارید). بر روی زبانه Networking کلیک کنید. بر فرض اینکه شما فعالیت شبکه کمی دارید، شما باید چیزی شبیه به این تصویر را مشاهده کنید.
بر روی کامپیوتر کلاینت که ارتباط شبکه با سرور IIS7 شما دارد، Windows Media Player را باز کنید و پنجره محاوره ای Open URL را باز کنید. (برای مثال، کلیدهای Ctrl+U را همزمان بفشارید). آدرس پیش فرض سرور IIS7 را در قسمت Open وارد نمایید(برای مثال، Http://<server_name>/test.wmv). همانگونه که در تصویر زیر نشان داده شده است، بر روی OK کلیک نمایید.
پس از تقریبا ۲ دقیقه از نمایش کلیپ بر روی ماشین کلاینت، نمودار Networking بر روی سرور IIS7 باید چیزی مشابه این باشد.
مشاهده می کنید که یک پیک نمودار داده ابتدایی برای پر کردن بافر پیش از نمایش Windows Media Player وجود داشته است ودر پی آن؛ یک جریان کنترل شده از محتوا در حدود ۱Mbps مشاهده می شود که Bitrate محتوای کدشده فایل test.wmv است.
اگر این نتایج با آنچه شما مشاهده کردید، مشابه بود، تبریک می گوییم. شما با موفقیت افزونه Bitrate Throttling را در IIS7 نصب کرده اید. حال به بررسی تغییرات در تنظیمات پیش فرض می پردازیم.
تنظیم کنترل جریان (Bitrate Throttling) در سطح سرور
ابتدا ما تنظیمات پیش فرض Bitrate Throttling را بررسی می کنیم و سپس، چگونگی افزودن تنظیمات جدید و چگونگی تغییر تنظیمات موجود را بررسی می کنیم.
۱- در پنجره IIS Manager 7در کادر Connections سرور خود کلیک کنید. بر روی آیکان Bitrate Throttling در کادر صفحه اصلی کلیک کنید و سپس، Feature را در کادر Actions باز نمایید.
۲- در صفحه افزونه Bitrate Throttling به ۱۰ نوع فایلی که به صورت پیش فرض در این ماژول تعریف شده اند ، توجه کنید. (قسمت زیر را مشاهده کنید)
۳- توجه کنید که هر File Type چهار مشخصه دارد.:
الف. Throttle Type، که می تواند از میان دو نوع Media و یا Data انتخاب شود. (در اینجا، همه از نوع Media هستند)
ب. Fast Start، که تعیین می کند زمان و یا حجم ارسال اولیه، که بدون محدودیت پهنای باند است، چه مدت باشد. می تواند هم بر حسب زمان و هم بر حسب حجم باشد.
پ. Throttle Rate، که سرعت دانلود، پس از پایان استارت سریع اولیه را تعیین می کند. (در صورت امکان)
ت. Entry Type، (مشخصه محلی و یا به ارث برده)
۴- بر روی Add Throttle Setting … در کادر Action کلیک کنید. پنجره Add Throttle Setting باز می شود.
۵- توجه داشته باشید که لیست بازشوی File Type هیچ ورودی ندارد. این مورد از روی عمد اینگونه طراحی شده است. ۱۰ نوع فایل مدیا تعریف شده اند. هر کدام از آنها یک تنظیم پیش فرض دارد.افزودن یک نوع جدید فایل مدیا، مستلزم آن است که ابتدا آن فرمتهای مدیا را در فایل ApplicationHost.config تعریف نمود. برای مطالعه بیشتر در این مورد، به لینک Bit Rate Throttling Extensibility Walkthrough مراجعه نمایید.
۶- در پنجره File Type پسوند فایل جدید را وارد کنید. برای مثال، .jpg را وارد کنید. (برای این منظور، یک فایل ۶MB Progressive JPEG را در نظر بگیرید. اولین پاس فایل، میتواند توسط Fast Start ارائه شود و پاسهای دیگر فایل، با شیوه جریان کنترل شده ارائه شود. به این صورت، کاربر پس از دیدن اولین پاس از تصویر، تصمیم میگیرد که تصویر دلخواه وی هست، یا خیر. لذا در صورت حذف دانلود پس از نمایش اولین پاس، پهنای باند، به اندازه مابقی حجم فایل، صرفه جویی می شود.)
از آنجا که پسوند .jpg به عنوان فایل صوتی و یا تصویری شناخته نمی شود، به صورت فایل نوع Data(غیر مدیا) در نظر گرفته می شود و تنها بازه های Data Type Settings، قابل ویرایش هستند.
۷- از آنجایی که انتظار می رود که تصاویر JPEG progressive دانلود شوند، و خواهان نمایش پاس اول تصویر ، با سرعت بالا هستید، بازه Fast Start را ۱۰ بگذارید که بر حسب کیلوبایت است.
۸- میزان Throttle Rate را به مقدار ۵ تنظیم نمایید که باعث می شود مابقی فایل، با سرعت ۵ کیلو.بایت در ثانیه دانلود شود.
۹- بر روی OK کلیک کنید.
توجه کنید که .jpg به لیست اضافه شده است.
۱۰- حال، می توان تنظیمات محدودیت جریان مشابهی را برای jpg با استفاده از MIME Typeاضافه کنید. بر روی Add Throttling Setting … در کادر Action کلیک کنید. کادر محاوره ای Add Throttle Setting نمایان می شود.
نکته: گروه بندی زیر بر اساس Throttle Type ست شده است.
۱۱- آیتم MIME type برای .jpg (image/jpeg) تنظیمات محدودیت جریان را مطابق تنظیمات بالا انجام دهید.
۱۲- بر روی OK کلیک کنید.
۱۳- بر روی نوع فایل .wmv کلیک کنید. توجه داشته باشید که وقتی که یک نوع فایل انتخاب می شود، گزینه های Edit و Remove در کادر Actions فعال می شوند.
۱۴- در کادر Actions بر روی Edit کلیک کنید. کادر محاوره ای Edit Throttle Setting باز می شود(تصویر زیر).
توجه داشته باشید که منوی بازشوی File Type در Media Type Settings از پیش با تنظیمات پیش فرض .wmv تعیین شده اند. همچنین توجه داشته باشید که می توانید .wmv را به نوع Data Type تغییر دهید.
۱۵- می توانید برای نمونه، تنظیمات .wmv را ا تغییر Fast Start را از ۲۰ به ۲۵ تغییر دهید و Throttle Rate را از ۱۰۰ به ۱۱۰ تغییر دهید. (تصویر بالا) این تنظیمات، باعث لود شدن سریعتر از نیاز (و بافر شدن آن) برای نمایش آنلاین فایلهای .wmv خواهد شد.
۱۶- بر روی OK کلیک کنید. توجه کنید که حالا نوع فایل .wmv در لیست File Type نمایش داده می شود.
۱۷- حال با کلیک بر روی Enabe در کادر Actions قابلیت Bit Rate Throttlingٍ را فعال کنید.
تنظیم کنترل جریان در سطح سایت
تنظیمات مربوط به این قسمت تفاوت چندانی با تنظیمات، در سطح سرور ندارد. با انتخاب یکی از وب سایتها در لیست موجود در کادر Connestions یک وب سایت را از زیر شاخه های سایت انتخاب کنید و مشابه سطح سرور بقیه تنظیمات را انجام دهید. مد نظر داشته باشید که تغییرات در این سطح، بر سطح های بالاتر آن ، اعمال نمی شود.
تنظیم کنترل جریان در سطح دایرکتوری مجازی
تنظیمات مربوط به این قسمت تفاوت چندانی با تنظیمات، در سطح سرور ندارد. با انتخاب یکی از فولدرهای زیر شاخه سرورها، در لیست موجود در کادر Connestions یک وب سایت را از زیر شاخه های سایت انتخاب کنید و مشابه سطح سرور بقیه تنظیمات را انجام دهید. مد نظر داشته باشید که تغییرات در این سطح، بر سطح های بالاتر آن ، اعمال نمی شود.
تنظیم کنترل جریان در سطح فایل
تنظیمات مربوط به این قسمت تفاوت چندانی با تنظیمات، در سطح سرور ندارد. با انتخاب یکی از فایلهای داتخل شاخه های یکی از سرورهای لیست موجود در کادر Connestions یک وب سایت را از زیر شاخه های سایت انتخاب کنید و مشابه سطح سرور بقیه تنظیمات را انجام دهید. مد نظر داشته باشید که تغییرات در این سطح، بر سطح های بالاتر آن ، اعمال نمی شود.