بث HTTP المباشر
المحتويات

في البداية، يعد بروتوكول نقل النص الفائق Live Streaming (المعروف كذلك باسم HLS) بروتوكول اتصالات تدفق وسائط يعتمد على بروتوكول نقل النص الفائق يتم تنفيذه بواسطة أبل. يستعمل كجزء من برنامج QuickTime وSafari وOS X وiOS. كما أنها متوفرة في عدة تطبيقات مثل Microsoft Edge وFirefox وبعض إصدارات Google Chrome. الدعم واسع الانتشار في خوادم وسائط البث. ونتناول فيما يلي مزيدًا من التفاصيل.
من جهة ثانية، استنادًا إلى معايير بروتوكول نقل النص الفائق القياسية، يمكن لـ بروتوكول نقل النص الفائق Live Streaming أن يجتاز أي جدار ناري أو خادم وكيل يسمح عبر حركة بروتوكول نقل النص الفائق القياسية، على عكس البروتوكولات المستندة إلى UDP مثل RTP. يسمح هذا كذلك بعرض المحتوى من خوادم بروتوكول نقل النص الفائق التقليدية وتسليمه عبر شبكات تسليم المحتوى القائمة على بروتوكول نقل النص الفائق المتاحة على نطاق واسع. تتضمن المعيار كذلك آلية تشفير قياسية وتوزيع مفاتيح آمنة باستخدام بروتوكول نقل النص التشعبي الآمن، والتي توفر معًا نظام DRM بسيطًا. كما توفر الإصدارات اللاحقة من البروتوكول طريقة خدعة سريعة إلى الأمام والترجيع ولدمج العناوين الفرعية.
إضافةً إلى ذلك، HLS تشبه MPEG-DASH في أنها تعمل من خلال كسر مجرى البث الكلي إلى سلسلة من تنزيلات الملفات الصغيرة القائمة على بروتوكول نقل النص الفائق، كل تحميل يحمّل جزءًا قصيرًا من مجرى النقل الإجمالي المحتمل غير المحدود. يتم إرسال قائمة من التدفقات المتاحة، والمشفرة بمعدلات بت مختلفة، إلى العميل باستخدام قائمة تشغيل M3U موسعة.
ومن ناحية أخرى، قامت ابل بتوثيق بروتوكول نقل النص الفائق Live Streaming كمسودة إنترنت (إرسال فردي)، وهي المرحلة الأولى في عملية نشرها كطلب للتعليقات (RFC). اعتبارًا من ديسمبر 2015، طلب مؤلفو تلك الوثيقة من محرر الدفق المستقل (ISE) لنشر المستند كملف RFC إعلامي (غير قياسي) خارج عملية إجماع IETF. في أغسطس 2017، تم نشر RFC8216 لوصف الإصدار 7 من البروتوكول.
الموزع
وعلى صعيد آخر، يتم تكوينه بواسطة خادم ويب قياسي، ويقبل طلبات من العملاء ويقدم جميع الموارد (ملف قائمة التشغيل.m3u8 وملفات مقطع.ts) اللازمة للبث.
توفر
من جانب آخر، ويمكن الجمع بين هذا وبين القدرة على التكيف عن طريق إدراج تدفقات متباينة متعددة لكل مستوى جودة متميز.movieStream = fs.createReadStream(pathToFile);
وفي السياق ذاته، يمكن لقائمة التشغيل الرئيسية سرد تدفقات المتغير المتكررة التي لها نفس مستوى الجودة ولكن يتم استضافتها بواسطة خوادم مختلفة. يمكّن هذا اللاعب من التبديل إلى خادم آخر لمعدل البت المعين في حالة فشل أحد الخوادم. هذا يمنح درجة عالية من توافر لخدمة تيارات.
movieStream.on('open', function {
});
- // This just pipes the read stream to the response object (which goes
- //to the client)
- movieStream.pipe(res);
- });
- movieStream.on('error', function (err) {
- res.end(err);
- });
العميل
ومن جهة أخرى، يقوم بطلب وتنزيل جميع الملفات والموارد وتجميعها بحيث يمكن عرضها على المستعمل كفيديو تدفق مستمر. يقوم برنامج العميل بتنزيل ملف الفهرس من خلال عنوان URL ثم ملفات الوسائط المتعددة المتاحة. يقوم برنامج التشغيل بتجميع التسلسل للسماح بعرض مستمر للمستعمل.
استعمالات الخادم
ومن ناحية أخرى، أضافت Microsoft دعمًا لـ HTTP بث مباشر في خدمات الوسائط 4.0 IIS.
وفي السياق ذاته، flashls عبارة عن برنامج Adobe Flash / Adobe AIR المساعد مفتوح المصدر الذي يوفر دعم HTTP Live Streaming لبرنامج Chromeless Flash / Air Player و Flowplayer و Video.js و mediaelement.js و Open Source Media Framework 2.0.
تنفذ hasplayer.js HLS في المتصفحات المتوافقة مع MSE.
أضافت HP دعم HTTP بث مباشر في webOS 3.0.5.
علاوةً على ذلك، عرضت Adobe Systems تحديثًا على منتج Adobe Flash Media Server الذي يدعم تدفق HTTP Live في عرض NAB في أبريل 2011.
إضافةً إلى ذلك، يدعم Helix Universal Server من RealNetworks نظام تشغيل iPhone 3.0 والإصدارات الأحدث لبث HTTP المباشر عند الطلب أو عند الطلب من محتوى H.264 و AAC إلى الإصدار الأول من iPhone و iPad و iPod في أبريل 2010، أحدث إصدار نوفمبر 2012.
وفي هذا الصدد، استعملت شركة Apple Inc. هذا في 1 أيلول (سبتمبر) 2010 لتنظيم حدث iPod Keynote المباشر عبر الإنترنت، وفي 20 تشرين الأول (أكتوبر) 2010 لعرض الحدث الأساسي «الرجوع إلى Mac» مباشرة عبر الإنترنت.
علاوةً على ذلك، في عام 2014/15، قدمت هيئة الإذاعة البريطانية (BBC) تيارات HLS-AAC للإذاعة الحية عبر الإنترنت وخدمات الصوت عند الطلب، وتدعم هذه التدفقات مع عملاء iPlayer Radio.
في هذا الإطار، أضاف Sling Media دعم HTTP Live Streaming إلى Slingboxes وتطبيقات SlingPlayer الخاصة به.
أضافت جوجل دعم HTTP بث مباشر في Android 3.0 (قرص العسل).
وفي هذا السياق، hls.js تنفذ HLS في المتصفحات المتوافقة مع MSE. القدرة على قراءة ID3 من الفيديو PID.
وفي هذا الصدد، قام Yospace بإضافة دعم HTTP Live Streaming في مشغل YSpace HLS و SDK لإصدار الفلاش 1.0.
من جانب آخر، أضافت Microsoft دعمًا لـ HTTP Live Streaming في محرك عرض EdgeHTML في نظام التشغيل Windows 10 في عام 2015.
الخادم
إضافةً إلى ذلك، يقوم الخادم بتدوين وتغليف تدفق مدخلات الفيديو بتنسيق صحيح للتسليم. ثم يتم إعداده للتوزيع من خلال تقسيمه إلى ملفات مختلفة. في عملية الاستيعاب، يتم تشفير الفيديو وتقطيعه لتوليد أجزاء الفيديو وملف الفهرس.
وفي هذا السياق، Segmenter: يقسم ملف MPEG-2 TS إلى أجزاء متساوية الطول، ويتم الاحتفاظ بها كملفات.ts. كما يقوم كذلك بإنشاء ملف فهرس يحتوي على مراجع للملفات المجزأة، التي تم حفظها باسم.m3u8.
كذلك، Encoder: يتم تقنين ملفات الفيديو بتنسيق H.264 والصوت في AAC أو MP3 أو AC-3 أو EC-3. يتم تغليف هذا بواسطة MPEG-2 Transport Stream لحمله.
تطبيقات الخادم
كذلك، يدعم برنامج VLC Media Player نظام HLS لخدمة البث المباشر عند الطلب بدءًا من الإصدار 2.0.
ومن جهة أخرى، يدعم TVersity HLS بالتزامن مع تحويل الترميز على ذبابة لتشغيل أي محتوى فيديو على أجهزة iOS.
ومن جهة أخرى، Ustream يدعم تسليم HLS البث المباشر. يتم تحويل الترميز المُستَبدَل إذا تم ترميز الصوت والفيديو الأصلي خارج متطلبات HLS.
من جهة ثانية، تدعم Octive Media Solutions البث الحي والفيديو باستخدام تقنية HLS وتدمج حلولها مع Octipulse لتوصيل HLS على منصات مختلفة.
وفي هذا الصدد، يدعم ملقم وسائط غير واقعي HLS زمن وصول منخفض كما في الإصدار 9.5.
ومن جهة أخرى، يدعم Wowza Streaming Engine من Wowza Media Systems HLS و HLS المشفرة للبث المباشر (مع DVR) والبث حسب الطلب.
علاوةً على ذلك، يوفر bitmovin خدمة تحويل الشفرة bitcodin.com ، والتي تدعم HLS للبث حسب الطلب والبث المباشر.
يدعم Amazon CloudFront نظام HLS للتدفقات عند الطلب.
كذلك، ANEVIA تقوم Genova Live بتحويل كل من الترميز إلى H.264 و HEVC والتعبئة إلى HLS و MPEG-DASH و MS Smooth Streaming.
يدعم Akamai HLS للتيارات الحية وعند الطلب.
في هذا الإطار، يدعم Helix Universal Server من RealNetworks نظام تشغيل iPhone 3.0 والإصدارات الأحدث لبث HTTP Live أو عند الطلب من محتوى H.264 و AAC إلى iPhone و iPad و iPod.
تدعم CDNetworks HLS للتيارات الحية وعند الطلب.
الأصل الموحد يدعم HLS في الوضع المباشر و VOD.
في هذا الإطار، تدعم خدمات وسائط IIS من Microsoft البث المباشر وحسب الطلب وتدفق HTTP المباشر.
في هذا الإطار، توفر شركة CTU Systems Ltd خدمة تحويل الترميز Eludo ctusystems.com ، والتي تدعم HLS للبث حسب الطلب والبث المباشر.
وفي هذا الصدد، يدعم خادم Flussonic Media Server نظام HLS متعدد المراحل إما لتحويل الشفرة أو البث منذ إصدار 4.3.0.
- يدعم Nimble Streamer HLS في الوضع المباشر و VOD.
- ترميز الفيديو Qencode يدعم HLS.
- يدعم Tata Communications CDN HLS للتيارات الحية وعند الطلب.
في هذا الإطار، يدعم Nginx مع وحدة nginx-rtmp-HLS في الوضع المباشر. يدعم الإصدار التجاري Nginx Plus كذلك HLS / HDS VOD.
- تدعم EdgeCast Networks التدفق عبر الأجهزة باستخدام HLS.
- Edgeware: يدعم نهاية كاملة لإنهاء التسليم لـ Live / TSTV / VOD / HLS.
- Exterity: يدعم AvediaStream o7500 Origin Server HLS (بث مباشر لـ HTTP).
في هذا الإطار، Cisco Systems: يدعم نهاية كاملة لإنهاء التسليم لخدمات Live / TSTV / VOD / HLS و Cloud DVR.
يدعم Cloudflare HLS للتيارات الحية وعند الطلب.
علاوةً على ذلك، يدعم Adobe Media Server نظام HLS لأجهزة iOS (HLS) و Protected HTTP Live Streaming (PHLS).
- شركة Kollective Technology Inc. تدعم توصيل HLS.
- المستوى 3 يدعم تيارات HLS المباشرة وعند الطلب.
- يدعم Limelight Networks HLS لبعض الحسابات.
الميزات
علاوةً على ذلك، يوفر HTTP Live Streaming آليات للاعبين للتكيف مع ظروف الشبكة غير الموثوق بها دون التسبب في توقف تشغيل المستعمل المرئي. مثلًا، في شبكة لاسلكية لا يمكن الاعتماد عليها، تسمح HLS للاعب باستخدام فيديو منخفض الجودة، وبالتالي تقليل استخدام النطاق الترددي. يمكن توفير مقاطع فيديو HLS بدرجة عالية من خلال توفير خوادم متعددة لنفس الفيديو، مما يسمح بمبادلة اللاعب بسلاسة إذا فشل أحد الخوادم.
تكيف
من جهة ثانية، لتمكين لاعب من التكيف مع عرض النطاق الترددي للشبكة، يتم ترميز الفيديو الأصلي في عدة مستويات جودة متميزة. يخدم الخادم فهرسًا يسمى «قائمة التشغيل الرئيسية»، من هذه الترميزات، يطلق عليها «دفق متغير». يمكن للاعب فيما بعد الاختيار بين مسارات المتغيرات أثناء التشغيل، وتغييرها ذهابًا وإيابًا بسلاسة مع تغير ظروف الشبكة.
"Content-Length": chunksize,
"Content-Type": "video/mp4"
res.writeHead(206, {
ومن ناحية أخرى، "Content-Range": "bytes " + start + "-" + end + "/" + total,
"Accept-Ranges": "bytes",
أسلوب البناء
من جانب آخر، يستعمل HTTP Live Streaming خادم ويب تقليديًا لتوزيع المحتوى السمعي البصري ويتطلب برنامجًا محددًا ليتماشى مع تنسيق الإرسال المناسب في الوقت الفعلي. تتكون بنية الخدمة من:
باستخدام مجزأة MP4
إضافةً إلى ذلك، على WWDC2016 أعلنت شركة آبل عن تضمين عنونة النطاق البايت لملفات MP4 المجزأة، أو fMP4 ، مما يسمح بتشغيل المحتوى في HLS دون الحاجة إلى تعدد إرساله إلى MPEG-2 Transport Stream. نظرت الصناعة في هذا كخطوة نحو التوافق بين HLS و MPEG-DASH.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟