
_START_ARTICLE_
بث HTTP المباشر
_START_PARAGRAPH_
يعد بروتوكول نقل النص الفائق Live Streaming (المعروف أيضًا باسم HLS ) بروتوكول اتصالات تدفق وسائط يعتمد على بروتوكول نقل النص الفائق يتم تنفيذه بواسطة أبل . يستخدم كجزء من برنامج QuickTime و Safari و OS X و iOS. كما أنها متوفرة في عدة تطبيقات مثل Microsoft Edge و Firefox وبعض إصدارات Google Chrome. الدعم واسع الانتشار في خوادم وسائط البث ._NEWLINE_HLS تشبه MPEG-DASH في أنها تعمل من خلال كسر مجرى البث الكلي إلى سلسلة من تنزيلات الملفات الصغيرة القائمة على بروتوكول نقل النص الفائق ، كل تحميل يحمّل جزءًا قصيرًا من مجرى النقل الإجمالي المحتمل غير المحدود. يتم إرسال قائمة من التدفقات المتاحة ، والمشفرة بمعدلات بت مختلفة ، إلى العميل باستخدام قائمة تشغيل M3U موسعة._NEWLINE_استنادًا إلى معايير بروتوكول نقل النص الفائق القياسية ، يمكن لـ بروتوكول نقل النص الفائق Live Streaming أن يجتاز أي جدار ناري أو خادم وكيل يسمح عبر حركة بروتوكول نقل النص الفائق القياسية ، على عكس البروتوكولات المستندة إلى UDP مثل RTP. يسمح هذا أيضًا بعرض المحتوى من خوادم بروتوكول نقل النص الفائق التقليدية وتسليمه عبر شبكات تسليم المحتوى القائمة على بروتوكول نقل النص الفائق المتاحة على نطاق واسع. تتضمن المعيار أيضًا آلية تشفير قياسية وتوزيع مفاتيح آمنة باستخدام بروتوكول نقل النص التشعبي الآمن ، والتي توفر معًا نظام DRM بسيطًا. كما توفر الإصدارات اللاحقة من البروتوكول طريقة خدعة سريعة إلى الأمام والترجيع و لدمج العناوين الفرعية ._NEWLINE_قامت تفاح بتوثيق بروتوكول نقل النص الفائق Live Streaming كمسودة إنترنت (إرسال فردي) ، وهي المرحلة الأولى في عملية نشرها كطلب للتعليقات (RFC). اعتبارًا من ديسمبر 2015 ، طلب مؤلفو تلك الوثيقة من محرر الدفق المستقل (ISE) لنشر المستند كملف RFC إعلامي (غير قياسي) خارج عملية إجماع IETF. في أغسطس 2017 ، تم نشر RFC8216 لوصف الإصدار 7 من البروتوكول.
_START_SECTION_
أسلوب البناء
_START_PARAGRAPH_
يستخدم HTTP Live Streaming خادم ويب تقليديًا لتوزيع المحتوى السمعي البصري ويتطلب برنامجًا محددًا ليتماشى مع تنسيق الإرسال المناسب في الوقت الفعلي. تتكون بنية الخدمة من:
_START_SECTION_
الموزع
_START_PARAGRAPH_
يتم تكوينه بواسطة خادم ويب قياسي ، ويقبل طلبات من العملاء ويقدم جميع الموارد (ملف قائمة التشغيل .m3u8 وملفات مقطع .ts) اللازمة للبث.
_START_SECTION_
العميل
_START_PARAGRAPH_
يقوم بطلب وتنزيل جميع الملفات والموارد وتجميعها بحيث يمكن عرضها على المستخدم كفيديو تدفق مستمر. يقوم برنامج العميل بتنزيل ملف الفهرس من خلال عنوان URL ثم ملفات الوسائط المتعددة المتاحة. يقوم برنامج التشغيل بتجميع التسلسل للسماح بعرض مستمر للمستخدم.
_START_SECTION_
الميزات
_START_PARAGRAPH_
يوفر HTTP Live Streaming آليات للاعبين للتكيف مع ظروف الشبكة غير الموثوق بها دون التسبب في توقف تشغيل المستخدم المرئي. على سبيل المثال ، في شبكة لاسلكية لا يمكن الاعتماد عليها ، تسمح HLS للاعب باستخدام فيديو منخفض الجودة ، وبالتالي تقليل استخدام النطاق الترددي. يمكن توفير مقاطع فيديو HLS بدرجة عالية من خلال توفير خوادم متعددة لنفس الفيديو ، مما يسمح بمبادلة اللاعب بسلاسة إذا فشل أحد الخوادم.
_START_SECTION_
تكيف
_START_PARAGRAPH_
لتمكين لاعب من التكيف مع عرض النطاق الترددي للشبكة ، يتم ترميز الفيديو الأصلي في عدة مستويات جودة متميزة. يخدم الخادم فهرسًا يسمى "قائمة التشغيل الرئيسية" ، من هذه الترميزات ، يطلق عليها "دفق متغير". يمكن للاعب بعد ذلك الاختيار بين مسارات المتغيرات أثناء التشغيل ، وتغييرها ذهابًا وإيابًا بسلاسة مع تغير ظروف الشبكة.
_START_SECTION_
توفر
_START_PARAGRAPH_
يمكن لقائمة التشغيل الرئيسية سرد تدفقات المتغير المتكررة التي لها نفس مستوى الجودة ولكن يتم استضافتها بواسطة خوادم مختلفة. يمكّن هذا اللاعب من التبديل إلى خادم آخر لمعدل البت المعين في حالة فشل أحد الخوادم. هذا يمنح درجة عالية من توافر لخدمة تيارات._NEWLINE__NEWLINE_ويمكن الجمع بين هذا وبين القدرة على التكيف عن طريق إدراج تدفقات متباينة متعددة لكل مستوى جودة متميز._NEWLINE_movieStream = fs.createReadStream(pathToFile);_NEWLINE_ movieStream.on('open', function () {_NEWLINE_     res.writeHead(206, {_NEWLINE_         "Content-Range": "bytes " + start + "-" + end + "/" + total,_NEWLINE_         "Accept-Ranges": "bytes",_NEWLINE_         "Content-Length": chunksize,_NEWLINE_         "Content-Type": "video/mp4"_NEWLINE_     });_NEWLINE_     // This just pipes the read stream to the response object (which goes _NEWLINE_     //to the client)_NEWLINE_     movieStream.pipe(res);_NEWLINE_ });_NEWLINE__NEWLINE_ movieStream.on('error', function (err) {_NEWLINE_     res.end(err);_NEWLINE_ });
_START_SECTION_
باستخدام مجزأة MP4
_START_PARAGRAPH_
على WWDC2016 أعلنت شركة آبل عن تضمين عنونة النطاق البايت لملفات MP4 المجزأة ، أو fMP4 ، مما يسمح بتشغيل المحتوى في HLS دون الحاجة إلى تعدد إرساله إلى MPEG-2 Transport Stream. نظرت الصناعة في هذا كخطوة نحو التوافق بين HLS و MPEG-DASH.