
معرفی استریم
رسانهٔ جاری، استریم (به انگلیسی: streaming media) به آن دسته از محتوای چندرسانهای گفته میشود؛ که همزمان با ارسالش از طرف فرستندهٔ محتوا، توسط گیرندهٔ محتوا قابل نمایش است. به بیان دیگر، گیرندهٔ محتوا نیاز ندارد که ابتدا تمام محتوا را بارگیری کند تا بتواند آن را نمایش بدهد، بلکه فرستنده میتواند محتوا را به صورت جاری ارسال کند، یا به اصطلاح «استریم» (به انگلیسی: stream) کند.
کاربردها
کاربردهای استریم در زندگی امروز بسیار گسترده است از مدرسه مجازی گرفته تا استریم ویدئو در پلتفرمهای محبوب مانند اینستاگرام و یا تماس تلفنی و ... همه و همه نموههایی از کاربرد استریم در زندگی امروز ما هستند.
با توجه به گسترش روز افزون استریم در زندگی ما نیاز به توسعه پلتفرمهای استریم به شدت احساس میشود. در همین راستا شرکتهای پیشرو در حوزه خدمات ابری و اینترنتی پلتفرمهای استریم خود را برای استفاده عموم مردم توسعه دادند اما این بازار با توجه به گستردگی هنوز جای کار بسیاری دارد برای مثال ارائه خدمات هوش مصنوعی و اعمال بلادرنگ بر روی ویدئو اعمال فیلتر های تصویری بر روی ویدئو و ... که هنوز توسط پلتفرمهای استریم به صورت کامل پشتیبانی نمیشود یا استریم دوباره که توسط سایت masterstream.ir ارائه میشود. در ادامه نتیجه تحقیقات تیم ModernCpp در مورد استریم را در اختیار شما قرار میدهیم.
معرفی پروتکلهای استریم
از انواع پروتکلهای استریم میتوان به موارد زیر اشاره کرد که در ادامه به توضیح این پروتکلها میپردازیم:
- RTMP
- HLS
- WebRTC
- FLV Stream
معرفی RTMP
RTMP در واقع Adobe RTMP است، ای پروتکل مناسب برای تاخیر پایین استریم زنده و پروتکل استاندارد encoding اینترنت و بهترین پروتکل برای فلش در PC است. همینطور RTMP را می توان برای ارائه پخش زنده برای هزاران یا حتی میلیون ها مخاطب مقیاس بندی کرد.
HLS
HLS در واقع Apple HLS (استریم زنده HTTP) است، که در هر دو سناریو پخش زنده و VOD(ویدئو در اینترنت) پاسخگوست و پروتکل استاندارد پلتفرمهای اپل و اندروید است در واقع با HLS تقریبا میتوانید استریم خود را در هرکجا پخش کنید از موبایل و کامپیوترهای شخصی گرفته تا تلوزیون هوشمند.
دلایل اصلی استفاده از HLS:
- کراس پلتفرم: پروتکل پیشفرض PC برای پخش زنده RTMP است، همچنین بعضی کتابخانهها میتوانند در فلش از HLS پشتیبانی کنند. اندروید 3.0+ میتوانند HLS را پخش کند و IOS همیشه از HLS پشتیبای میکرده است.
- قدرت صنعتی در پلتفرمهای اپل: پایدارترین پروتکل پخش زنده برای OSX/IOS پروتکل HLS است، مانند RTMP برای فلش یا Windows PC.
- دوست CDN: چون HLS یک استریم بر روی HTTP است یک پروتکل پخش CDN-friendly است.
- سادگی: HLS یک پروتکل باز است و ابزارهای زیادی برای TS(MPEG transport stream (که یک کانتینر فرمت است که در HLS از آن استفاده شده است) وجود دارند.
در واقع HLS بهترین پروتکل ارائه برای PC و موبایل است تا زمانی که تاخیر برای کاربر اهممیتی ندارد.
WebRTC
WebRTC در مقایسه با RTMP تجربیه استریم سریعتری با تاخیر تقریبا نزدیک به ریلتایم ارائه میدهد. علاوه بر ین توسط بسیاری از مرورگرهای بروز به صورت پیشفرض پشتیبانی میشود و توسعه آن برای توسعه دهندگان وب با مهارتهای جاوا اسکریپت و ... آسان تر است. از نظر مقیاس پذیری بر خلاف RTMP، پروتکل WebRTC امکان پشتیبانی از تعداد کمتری از مشتریها را دارد دلیل اصلی این مورد این است که WebRTC یک پروتکل یک به یک است و برای استفاده توسط افراد مختلف برای استریم باید پیاده سازی آن به شکل سرور به کلاینت باشد و برای هر کلاینت سربار اتصال و هندشیک را داراست و در واقع این پروتکل به صورت ذاتی یک پروتکل برای برودکست نیست اما با توجه به پیشرفتهای اخیر بسیاری این پروتکل را پروتکل نسل بعدی استریم میدانند.
FLV Stream
FLV Stream بر خلاف دو پروتکل قبل بیشتر برای VOD(ویدئو در اینترنت) استفاده میشود و به دلیل تاخیر بالاتر، کمتر برای استریم زنده مورد توجه قرار میگیرد. این روش استریم میتواند از قابلیت عقب زدن ویدئو پشتیبانی کند به شرطی که سروری که نوشته میشود امکان دریافت فاصله از ابتدا (offset) را داشته باشد.
در صورتی که به این موضوع علاقمند هستی میتوانید با نظارت خود به ما اطلاع دهید تا ادامه موضوع استریم مدیا با عنوانهای زیر را برای شما آماده کنیم
- جزئیات استریم مدیا
- نگاهی بر ابزارهای استریم مدیا
- توسعه استریم مدیا