انتشار رسانه یا مدیای تطابق پذیر، تکنیکی است که در انتشار چند رسانه ای (فایلهای ویدیو و صوتی) از طریق شبکه کامپیوتری استفاده می شود. تطابق پذیری این تکنیک، به این شیوه عمل می کند که که پهنای باند کاربر و توانایی CPU را تشخیص می دهد و کیفیت ویدیو را بر طبق آنها تغییر می دهد تا نمایش آن بی وقفه و با کیفیت مناسب صورت پذیرد. در گذشته بیشتر تکنولوژیهای انتشار ویدیو از پروتوکلهایی نظیر RTP و RTSP استفاده می شد. امروزه، تکنولوژی غالب مورد استفاده، انتشار تطابق پذیر است که منحصرا بر پایه HTTP بنا شده است و طراحی ویژه آن، اجازه می دهد تا بر روی شبکه های پراکنده HTTP مانند اینترنت با بازده بالا عمل کند.
مقدمه ای بر انتشار رسانه تطابق پذیر (Adaptive Bitrate Streaming)
عملکرد انتشار رسانه تطابق پذیر ینگونه است که پهنای باند کاربر و توانایی CPU را تشخیص می دهد و کیفیت ویدیو را بر طبق آنها تغییر می دهد. این شیوه، نیاز به استفاده از یک Encoder دارد که یک ویدیوی اصلی را با چند Bitrate متفاوت تبدیل می نماید. برنامه نمایش دهنده در روی کلاینت بر اساس منابع قابل استفاده کلاینت، بین ویدیوها با Bitrateهای متفاوت سویچ می کند. نتیجه حاصل، ویدیویی با زمان بافر کردن بسیار کم، استارت اولیه سریع، و تجربه یک نمایش خوب برای هردو نوع کلاینت سطح بالا و سطح پایین است.
Bitrate چیست:
در هنگام نمایش فایلهای صوتی و یا تصویری، برنامه پخش کننده، در هر ثانیه تعدادی از بایتهای فایل مورد نظر را پردازش و پخش می کنند. این تعداد بایت، به صورت یک جریان مداوم، تا پایان تمایش و پخش فایل ادامه دارد. به این جریان مداوم و دائمی، Bitrate گفته می شود و واحد اندازه گیری آن، تعداد بیت بر ثانیه (هر هشت بیت، برابر یک بایت است) جریان فایل را نشان می دهد. واضح است که هرچه Bitrate یک فایل بیشتر باشد، کیفیت پخش آن بیشتر خواهد بود و حجم بیشتری را نیز اشغال می کند. به عنوان مثال، در هنگام پخش یک فایل MP3 با فرمت ۱۲۸kbps ، در هر ثانیه ۱۲۸۰۰۰ بیت (۱۶۰۰۰ بایت بر ثانیه که هر بایت، معادل هشت بیت است) خوانده و پخش می شود. چنانچه از روی شبکه و اینترنت در حال دریافت و پخش همزمان این فایل باشید، باید پهنای باند اینترنت شما بیش از این مقدار باشد و به اندازه ۱۶ کیلوبایت بر ثانیه آزاد باشد. با اینترنتی که پهنای باند آن کمتر از ۱۲۸kbps است، امکان پخش بدون وقفه آنلاین این فایل وجود ندارد. در صورت استفاده از پهنای باند کمتر از ۱۲۸kbps چنین فایلی با بافر شدن های پیآپی و پر وقفه اجرا خواهد شد.
امروزه، شیوه کار کمی تغییر یافته است. در جهت بهتر شدن سرویس نمایش آنلاین، فایل ویدیو به صورت قطعه های چند ثانیه ای تفکیک می شود. در حین نمایش آنلاین، اولین قطعه ویدیو با کمترین حجم و کیفیت ارسال و نمایش داده می شود و چنانچه سرعت لود شدن این قطعه بالاتر از سرعت نمایش آن باشد، قطعه بعدی ویدیو با کیفیت بالاتری ارسال می شود. این کار تا زمانی ادامه می یابد که سرعت لود شدن قطعه ویدیو با سرعت نمایش آن برابر شود. همچنین، چنانچه به دلایلی در حین نمایش، سرعت انتقال در شبکه افت کند، کیفیت و حجم قطعه های ارسالی ویدیو تا جایی کاهش می یابد که سرعت نمایش با سرعت انتقال شبکه همسان شود. این روند به صورت تطابق پذیر تا پایان نمایش ویدیو ادامه پیدا می کند و به این ترتیب، میزان زمانهای بافر شدن و وقفه در نمایش کاهش می یابد و تغییرات ایجاد شده در کیفیت ویدیو نیز تدریجی و نامحسوس است.
اندازه قطعه های ویدیو قابل تعیین است. اندازه های معمول قطعات فایل ویدیو بین ۲ تا ۱۰ ثانیه هستند.
از نمونه های این تکنولوژی می توان:
Adobe Dynamic Streaming for Flash ، Apple HTTP Adaptive Streaming for iPhone/iPad ، Octoshape Multi-BitRate ، Dynamic Adaptive Streaming over HTTP ، Digital Interactive Television via Internet یا ( (DiTi Vision، و Microsoft Smooth Streaming را نام برد.
برای مشاهده عملکرد Smooth Streaming می توانید به آدرس Experience Smooth Streaming Web page مراجعه نمایید.
جهت Encode کردن فایلهای مدیا برای استفاده در مدیا سرور می توانید از نرم افزار Microsoft Expression Encoder 4 Pro استفاده نمایید. همچنین بسیاری از برنامه های کاربردی Encoder دیگر نیز وجود دارند که برای این منظور می توان از آنها استفاده کرد.
پیش نیازها:
پیش نیازهای نرم افزاری سرور مدیا:
– Microsoft Expression Encoder 4 Pro جهت encode نمودن فایلهای مدیا
– Microsoft Silverlight 4 جهت مشاهده فایهای مدیای Encode شده
– Desktop Experience (فقط ویژه سیستم عاملهای سرور)
سیستم عاملها: ویندوز سرور ۲۰۰۸ R2 ، ویندوز سرور ۲۰۰۸، ویندوز ۷، ویندوز ویستا، ویندوز XP-SP3
پیش نیازهای سخت افزاری سرور مدیا:
پردازنده: ۱.۰ GHz یا بالاتر (۲.۶ GHz با ۶ هسته مجازی پیشنهاد می گردد)
حافظه: ۱ GB RAM (4 GB پیشنهاد می شود)
هارد دیسک: ۲ GB یا بیشتر
پردازنده گرافیکی: Microsoft DirectX ۹. با ۱۲۸ MB گرافیکی RAM
مونیتور: ۱۰۲۴×۷۶۸ با عمق رنگ ۲۴ بیت
فرمت فایلهای مدیای Encode شده:
هنگامی که فایلها را Encode می کنید، با چهار نوع فایل سروکار دارید.
*.ismv یک فایل نگهدار فرمت MP4 است و قطعات فایلهای مدیای ویدیو را نگهداری می کند. چنانچه شما فایل ویدیو یی را با ۲۰ کیفیت مختلف Encode کنید، ۲۰ فایل مختلف حاوی قطعات آنها در اختیار شما قرار می گیرد.
*.isma یک فایل نگهدار قطعات صوتی فایل مدیا است. تعداد فایلهای *.isma نیز بسته به تعداد فرمتهای تعیین شده برای Encoder است.
*.ism یک فایل xml است که لیست فایلها با Bitrate های مختلف موجود بر روی سرور را نشان می دهد. مدیا سرور از این فایل اطلاعاتی استفاده می کند.
*.ismc یک فایل xml است که لیست فایلها با Bitrate های مختلف موجود بر روی سرور را نشان می دهد. کلاینت از این فایل اطلاعاتی استفاده می کند.
جهت اطلاع از چگونگی Encode کردن فایلهای مدیا توسط Microsoft Expression Encoder 4 Pro به آدرس http://www.microsoft.com/en-us/download/details.aspx?id=2547 مراجعه نمایید و فایل راهنما را دانلود نمایید.
ارائه سرویس انتشار رسانه طی درخواست کاربر (on-demand smooth streaming presentation)
سرویس Smooth Streaming Presentation به صورت پیش فرض بر روی IIS فعال است و کاربران می توانند با ورود به صفحه دارای فایل مدیا از این سرویس استفاده کنند.
مشاهده جزئیات Smooth Streaming Presentation
۱- در کادر Connections از IIS Manager، بر روی فولدر ارائه فایل رسانه کلیک کنید و در کادر میانی صفحه، بر روی آیکان Smooth Streaming Presentation کلیک کنید.
جزئیات آن در Feature View قابل مشاهده است:
File Name: نام فایل مدیا (که دارای پسوند *.ism است) را نشان می دهد.
Title: شرح فایل مدیا
Video Bit Rates: تعداد فایلهای ویدیو با Bitrate های مختلف را نشان می دهد(که همگی کپی ویدیوی یک فایل مدیا هستند با حجمهای متفاوت).
Audio Bit Rates: تعداد فایلهای صوتی با Bitrate های مختلف را نشان می دهد(که همگی کپی صدای یک فایل مدیا هستند با حجمهای متفاوت).
Text Streams: تعداد فایلهای متنی (زیر نویس) ارائه شده با فایل مدیا را نشان می دهد.
Duration: مدت زمان پخش مدیا را نمایش می دهد.
Last Modified: تاریخ آخرین تغییرات را نمایش می دهد.
۲- برای مشاهده فایلهای مدیا که توسط Encoder ایجاد شده اند، بر روی Content View در زیر صفحه Home کلیک کنید.
فایلهای موجود در این نما، شامل فایلهای مدیا (.ism، .ismc، و .ismv) و فایلهای Template اجرا کننده سیلورلایت(Silverlight) شامل فایلهای Default.html، MediaPlayerTemplate.xap، و SmoothStreaming.xap) هستند. اگر دایرکتوری مذکور حاوی فایلهای Template نباشد، می توان یک فایل نمونه Smooth Streaming Player را در آن دایرکتوری قرار داد.
حذف فایل در Smooth Streaming Presentation
برای حذف یکی از فایلهای حاوی ویدیو با Bitrate مشخص، به شکل زیر عمل می کنیم.
۱- در کادر Connections از IIS Manager، بر روی فولدر ارائه فایل رسانه کلیک کنید و در کادر میانی صفحه، بر روی آیکان Smooth Streaming Presentation کلیک کنید.
۲- در صفحه Smooth Streaming Presentation، فایل مدیای مربوطه را نتخاب نمایید و در کادر Actions بر روی Edit Smooth Stream کلیک کنید.
۳- در صفحه Smooth Streaming Presentation به این ترتیب عمل نمایید:
الف. قطعه ویدیوی مورد نظر را انتخاب کنید.
ب. بر روی Remove کلیک کنید.
پ. در کادر Actions بر روی Apply کلیک کنید.
کپی کردن یک Smooth Streaming Presentation
می توان یک کپی از فایلهای ارائه مدیا (.ism و .ismc) تهیه نمود. این کپی، باعث ایجاد یک فایل مدیای جدید (.ismv) نمی شود. فایلهای اصلی و فایلهای کپی به طور مشترک از فایل مدیا استفاده می کنند. برای ایجاد یک کپی از فایل ارائه مدیا، طبق زیر عمل کنید:
۱- در صفحه Smooth Streaming Presentation فایل مربوطه را انتخاب کنید و در کادر Actions بر روی Clone کلیک کنید.
۲- در کادر محاوره ای Clone Presentation یک نام برای فایل کپی جدید وارد کنید.
۳- در فایل کپی شده در صفحه Smooth Streaming Presentation قابل مشاهده است.
۴- در نمای Content View، فایلهای .ism و .ismc جدید برای کپی ایجاد شده، ساخته شده اند و فایل مدیا (.ismv) میان فایلهای اصلی و فایلهای کپی (.ism و .ismc) مشترکا استفاده می شود.
انتشار محتوای رسانه ای از طریق ماژول Smooth Streaming در IIS7.5