سیستمهای پخش آنلاین فایلهای ویدئویی

IPTV

 

پخش رسانه

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

نرم افزارهای سمت سرور زیادی جهت این امر ارائه شده است که برخی از آنان را در این مقاله بررسی می نمائیم. از فواید Media Streaming می توان به نکات زیر اشاره کرد:

  • کاربر قادر می باشد با استفاده از نرم افزارهای مربوط فایل ویدئویی خود را جستجو و یا برای خود Play-List ایجاد نماید.
  • مدیر سرور قادر خواهد بود تا فایل در حال مشاهده و زمان مشاهده آن و … را مانیتور نماید.
  • بخشی از فایل که به سمت کاربر ارسال می شود همان بخش از ویدئو بوده که کاربر تمایل دارد آن را مشاهده نماید و این امر باعث مدیریت ترافیک سرور می شود.
  • از متدها و فرمتهای متنوع تصویری و صوتی جهت پیاده سازی بهترین استراتژی جهت حفظ کیفیت و پایداری سرور می توان بهره برد.

معمولا پخش رسانه از فایلهای از پیش ضبط شده می باشد هرچند می توان از Deviceهایی مانند دوربین تصویربرداری و یا ابزارهای ضبط صدا بصورت زنده رسانه را منتشر کرد. در پخش زنده یا Live سیگنالهای ویدئو بصورت دیجیتال تبدیل شده و توسط وب سرور بصورت Multicast به همه کاربران ارسال می شود. مدیای منتشر شده توسط  Server Application توسط کلاینت دریافت و بصورت Real-Time توسط Media Player برای کاربر پخش می شود. Media Player می تواند بصورت یک پلاگین در برنامه، بخشی از مرورگر یا یک Device اختصاصی (مانند IPod) برای این امر باشد. برای مثال YouTube از Flash Player استفاده می کند. کیفیت پخش کاملا به سرعت اینترنت کاربر وابسطه است.

فرمتهای پخش تصاویر

جهت تبدیل فایلهای تصویری و ویدئویی فرمتهای استانداردی مشخص شد که جهت Media Streaming می توان از فرمت مورد نیاز با توجه به شرایط استفاده نمود. فرمتها توسط کمپانیها و موسسات مختلفی منتشر شده است که دارای شاخصهای کیفیت در صدا یا تصویر و یا میزان فشرده سازی می باشند. انتخاب فرمت درست می تواند در لود سرور و میزان رضایت کاربران موثر باشد. با توجه به اهمیت این موضوع تعدادی از فرمتهای شاخص و پرکاربرد بصورت مختصر معرفی خواهد شد:

  • 3GP: این فرمت توسط Generation Partnership Project (3GPP) که یک سازمان برای هماهنگی بین شرکتهای ارتباطات از راه دور (Telecommunications) می باشد ارائه شد. از این فرمت در تلفنهای همراه 3G استفاده می شد، هرچند قابلیت استفاده در تلفنهای همراه 2G و 4G را نیز داراست. این فرمت در بسیاری از تلفنهای همراه و نرم افزار هایی مانند VLC, Quick Time, Totem, RealPlayer و GOM Player پشتیبانی می شود. در صورت نیاز می توانید با استفاده از نرم افزارهای تبدیل، 3GP را به فرمتهای دلخواه تبدیل کنید.
  • AVI: فرمت AVI یا Audio Video Interleaved در سال 1992 به عنوان بخشی از نرم افزارهای ویندوزی توسط مایکروسافت معرفی شد. فرمت AVI هم صدا و هم تصویر را در خود دارد و می تواند بصورت Multiple Streaming مورد استفاده قرار بگیرد. البته این فرمت دارای محدودیتهایی مانند عدم ارائه یک راهکار استاندارد برای Encode کردن اطلاعات Aspect Rate ، عدم فشرده سازی و… می باشد.
  • MP4: فرمت MP4 یا MPEG-4 Part 14 برای نگهداری تصویر و صدا استفاده می شود هرچند می توانید عکس و Subtitle را نیز در آن داشته باشید. مانند دیگر فرمتهای جدید این فرمت نیز قابلیت Stream شدن تحت اینترنت را داراست.
  • FLV: این فرمت جهت پخش فایلهای فلش با استفاده از 6 Flash Player و یا نسخه های جدیدتر می باشد. فایلهای FLV بصورت مناسبی فشرده شده و حجم مناسبی خواهد داشت. FLV می تواند توسط بسیاری ازPlayerهای تحت ویندوز و تحت لینوکس مانند VLC پخش و توسط بسیاری از ابزارها مانند FFMPEG تبدیل شود.
  • MPEG-TS: فرمت MPEG Transport Stream جهت انتقال صدا و تصویر برای سیستمهای Broad Cast مانند Digital Video Broadcasting بصورت اختصار DVB استفاده می شود. برای نمونه می توان به ATSC و IPTV  (سیستم پخش آنلاین تلویزیونی) اشاره کرد.

معرفی پروتکلهای Streaming

جهت Online Media Streaming پروتکلهای متفاوتی ارائه شده است که می توانید با توجه به نوع ارائه سرویس و زیرساخت نرم افزاری و یا سخت افزاری بهترین گزینه را انتخاب نمائید. باید توجه داشته باشید بعضی از پروتکلهای ارائه شده توسط شرکتهای بزرگ برای سرویسهای تحت اختیارشان ارائه شده است. برای شروع تعدادی از پرکاربرد ترین پروتکلها بصورت مختصر معرفی می شود تا آشنایی جزئی با این پروتکلها حاصل شود.

  • HTTP: این پروتکل برای اکثریت شناخته شده است و نیاز چندانی به توضیح ندارد. یکی از پروتکلهایی که می توانید با بهره گیری از آن پخش آنلاین داشته باشید http می باشد که تقریبا توسط اکثر Engineهای Streaming پشتیبانی می شود.
  • MPEG-DASH: پروتکل Dynamic Adaptive Streaming Over HTTP با نام MPEG-DASH نیز شناخته می شود یک تکنیک Adaptive Bitrate Streaming می باشد که با استفاده از وب سرور HTTP قابلیت پخش با کیفیت بالا را فراهم آورده است. همانند HLS که مخفف Http Live Streaming مربوط به شرکت Apple است در MPEG Dash نیز فایل به بخشهای کوچکتر http تقسیم شده که زمانهای کوتاه پخش را در خود دارد که می توان ساعات طولانی از یک فیلم و یا یک رویداد زنده را شامل شود. فایلها می تواند شامل Bit Rateهای مختلف باشد که Bit Rate مورد نظر می تواند توسط کاربر و یا بصورت اتوماتیک با توجه به سرعت اینترنت کاربر انتخاب شود. پروتکل مورد استفاده این متد TCP-IP می باشد.
  • RTMP: این متد مخفف Real-Time Messaging Protocol می باشد که توسط شرکت Macromedia جهت پخش فایلهای صوتی و تصویری با استفاده از Flash به وسیله Server ارائه شد. Macromedia هم اکنون توسط شرکت Adobe تصاحب شده است.
  • HLS: پروتکل HLS یا همان HTTP Live Streaming برای ارائه مدیا به Deviceهای شرکت Apple می باشد که توسط همین شرکت معرفی شده است.

غیر از متدهای معرفی شده متدهای دیگری مانند UDP, SRTP, WebRTC و … نیز قابل استفاده می باشد که هر کدام از روشهای مخصوص به خود برای Broadcast کردن اطلاعات استفاده می کنند. متدهای معرفی شده نیز در این مقاله بطور کامل معرفی نشده است. جهت برسی این پروتکلهای می توانید از جستجو در گوگل استفاده نمائید هرچند سعی شده تا پروتکلهای پرکاربر معرفی شود.

سرورهای پخش رسانه

سرورهای مختلفی جهت استفاده برای Media Streaming ارائه شده است که  می توان در شرایط مختلف با توجه به نیاز از آن استفاده نمود. برخی از این سیستمها در ادامه این مقاله بصورت مختصر برسی خواهد شد.

  • Red-5: این یک ابزار رایگان برای استفاده جهت Streaming می باشد. سرویس ارائه شده توسط این سیستم Streaming مانند ابزارهایی مانند Adobe Flash Media Server, Wowza Streaming Nginx می باشد. با استفاده از این ابزار می توانید فایلهایی با پسوند FLV, F4V, MP4, 3GP, MP3, AAC را Broadcast و یا Live Streaming نمائید. این ابزار پروتکلهای RTMPE, RTMPS, RTMPT و RTMP را پشتیبانی می کند.
  • Adobe Flash Media Server: سرور AMS یک مدیا سرور است که با استفاده از Flash Player Runtime جهت ارائه فایلهای تصویری به کاربر استفاده می نماید. Adobe Media Server یک هاب محسوب می شود که برنامه ها با استفاده از پروتکل RTMP به آن متصل می شوند. سرور می تواند با استفاده از FLV Player نصب شده اطلاعات را به کاربر ارسال و یا از کاربر دریافت کند.
  • IIS Media Services: پخش آنلاین بخشی از امکان IIS Media Service است و علاوه بر این امکانات دیگری نیز توسط این سرویس دهنده مانند Adaptive Streaming, Analytics, Scale to the Edge, Progressive Downloads, Convert with Ease, Perfect Control ارائه شده است.
  • Wowza: بدون شک یکی از بهترین Media Serverهای موجود بوده که با توجه به هزینه لایسنس نسبتا مناسب امکانات بسیاری را ارائه می کند. توسط این ابزار قادر خواهید بود تا ترافیک روی سرور را مانیتور کرده و حتی امکان Load Balancing را نیز فراهم کرده است. پروتکلهای HLS, RTMP, Live Streaming و Adaptive Bit Rate نیز در این ابزار پشتیبانی می شود. فرمتهای بسیاری مانند FLV, 3GP, MP4 و MP3 در این مدیا سرور قابل استفاده می باشد.
  • Open Broadcaster: یک سرویس دهنده تحت وب متن آزاد می باشد. این ابزار برای راه اندازی تلویزیون و رادیو بوده که با یک رابط کاربری ساده تحت وب مدیریت می شود. با استفاده از کامپونتهای موجود برای این ابزار می توآن آن را مدیریت کرد. از کامپونتهای آن می توان به Observer که یک ابزار HTML5 AJAX برای آپلود فایل و OB Player که یک ابزار تحت لینوکس برای مدیریت کاربران متصل به سرور است نام برد.
  • Nimble Streamer: ابزار رایگان Nimble امکان پخش زنده و Video On Demand (VOD) را به شما می دهد. این مدیا سرور برای پلتفرمهای لینوکس، مک و ویندوز ارائه شده است و از بسیاری از پروتکلها نظیر RTMP, HLS HTTP, MPEG DASH  پشتیبانی می کند.

تصویر زیر مربوط به پلتفرمهای پشتیبانی شده توسط مدیاسرورهای موجود می باشد:

فرمتهای پشتیبانی شده توسط مدیاسرورهای موجود:

پروتکلهای پشتیبانی شده توسط مدیاسرورهای موجود:

برچسب ها: Video, IPTV