في الصورة - أول دراجة رباعية الدفع. المصدراليوم ، نظرًا لتوفر الخدمات اللازمة ، فإن نشر مقاطع الفيديو على الشبكة ليس بالمهمة الصعبة. ومع ذلك ، لا توجد الكثير من المواد المتعلقة بالهيكل الداخلي لهذه الأنظمة ، وخاصة في الجزء باللغة الروسية.
لقد شاركت في تصميم وتطوير منصة فيديو عالية الجودة لبعض الوقت. في هذه المقالة أود أن أصف تلك اللحظات التي أود أن أعرفها بنفسي في بداية التطور.
لا تطالب المقالة بوضع القيادة ، حيث سأحاول وصف النقاط المثيرة للاهتمام أو غير الواضحة التي تؤثر على معالجة وتسليم محتوى الفيديو المستند إلى HTML5.
تم تصميم المادة لأولئك الذين هم بالفعل في هذا الموضوع ، أو على استعداد للبحث عن انهيار الاختصارات والمصطلحات والمفاهيم.
الجزء الثاني.تنسيق
H264 High-profile ، على الرغم من شعبيته ، اتضح أنه لا يعمل في كل مكان - بعض المتصفحات لا تشمل دعمها. لحسن الحظ ، على الأجهزة الحديثة ، في كل مكان تقريبًا حيث H264 غير مدعوم ، يعمل VP8 / 9. VP9 هو الأفضل للاستخدام ، منذ ذلك الحين لم أر الإصدارات القديمة من وحدات فك التشفير التي يمكنها استخدام VP8 ، ولكن لا أرى VP9 أو H264. يوفر VP9 جودة صورة مماثلة لـ H264 مع معدل بت أقل من 30٪ - وهذا أمر مهم لتقليل الحمل على القنوات. بالإضافة إلى ذلك ، إذا كان استخدام برنامج الترميز MPEG يمكن أن يكون له مطالبات قانونية (قصة معقدة للغاية) ، عندها يكون VP9 على ما يرام مع هذا. صحيح أن سرعة ترميز VP9 تدور حول ترتيب أقل حجمًا ، وبالتالي ، يجب تخصيص المزيد من الموارد لمعالجتها.
إذا كانت هناك حاجة لدعم المعدات القديمة التي لا تستطيع التعامل مع H264 High ، فيمكنك إضافة 480p H264 Main بتقليل معدل البت كتنسيق ثالث.
Hi10P هو الأفضل بشكل كبير عدم استخدام بسبب دعم فك تشفير الأجهزة الفقراء.
من الواضح أن H265 سيتطلب رسوم ترخيص ، وهي ليست للجميع.
لينة مقابل الصعب
لا تستخدم أجهزة تشفير الأجهزة معظم الميزات المتقدمة في برامج الترميز (توفير مساحة على الرقائق) ، مما يؤدي إلى إنتاج ملفات مشفرة دون المستوى الأمثل. يعد اختيار التنسيق محدودًا ، ولا يمكن تهيئته جميعًا باستخدام معلمات ترميز - غالبًا ، من القيم التي تؤثر فعليًا على النتيجة ، لا يوجد سوى معدل البت ، وحتى يتم النظر إلى ذلك بشكل خاص للغاية. إذا تم كل شيء كما يجب ، فيمكنك الحصول على نتيجة عاقلة تمامًا على الرقائق العادية باستخدام خط (تأثير في المشاهد الحيوية) ومعدل بت أعلى قليلاً.
وبطبيعة الحال ، لكي يعمل برنامج تشفير الأجهزة ، فأنت بحاجة إلى جهاز - بطاقة فيديو أو معالج به فيديو أساسي ، لا تتوفر به جميع الخوادم.
لكنها سريعة. جدا مقارنةً بمعالجة البرامج ، يمكن أن تزيد السرعة بضع مئات من المرات ، إلى مستوى قد لا يكون فيه القرص IO كافيًا.
تعتمد المعالجة بواسطة أساليب الأجهزة اعتمادًا كبيرًا على مزود الحلول - كل بائع لديه مجموعة المكتبات والأدوات المساعدة الخاصة به ، وهناك الكثير للاختيار من بينها: Intel Quick Sync و NVenc و AMD VCE.
مع معالجة البرامج ، لا توجد مثل هذه القيود ، ومع معدل البت المكافئ ، تكون النتيجة أفضل. للعمل مع مختلف أشكال وبرامج الترميز هناك ffmpeg. "apparatchiks" ليس لديهم مثل هذا الرفاهية (مع التحفظات).
معايير جودة الفيديو
لتحديد الجودة المستهدفة ، من الأسهل قراءتها بالبت لكل بكسل ، BPP. هذا الإعداد مستقل عن الدقة ومعدل الإطار والمدة. منه بالفعل النظر في معدل البت وفقا للصيغة
BPP * Framerate * Width * Height
يتم اختيار أفضل قيم BPP من خلال تجارب مستقلة للفيديو الذي تخطط لمعالجته. قيمة أولية جيدة ل H264 حوالي 0.09 نقطة أساس. بالنسبة إلى برامج الترميز عالية الأداء ، مثل H265 و VP9 ، يمكن تخفيض هذه المعلمة بما يتناسب مع نسبة الضغط المقارنة. أيضًا ، يمكن تقليل BPP قليلاً للفيديو عالي الدقة ، مثل تزداد كفاءة برامج الترميز بدرجة طفيفة مع الدقة ، ولكن في هذا التصحيح ، يجب أن تأخذ في الاعتبار دقة قسم الترميز (الشرائح ، وهي ميزة من برامج الترميز التي تتيح لك تشفير الفيديو باستخدام كتل شبه مستقلة من الدقة الكسرية).
بالنسبة إلى معدل البت الذي تم الحصول عليه بواسطة الصيغة أعلاه ، يُنصح بتحديد الحد الأقصى للقيم مسبقًا وفقًا لسرعة الإنترنت المتوقعة للعميل - قلة من الناس ستشعر بالراحة عند مشاهدة مقطع فيديو عالي الجودة ولكن يتم تخزينه مؤقتًا باستمرار.
هذا هو السبب في أنه من غير المناسب استخدام معلمات Q من برامج الترميز (ببغاوات الجودة) - القيم الثابتة تعطي معدل بت نهائي غير متوقع.
يتم MaxRate أفضل مع هامش ، لأنه قد لا تحافظ برامج الترميز على القيم المطلوبة بدقة ، حتى مع الترميز ثنائي المسار.
للحفاظ على جودة المشاهد الديناميكية ، من الأفضل تمكين وضع VBR من برامج الترميز ، ومع ذلك ، فمن الأفضل أن تحدد minRate 90٪ على الأقل من إجمالي معدل البتات حتى لا تؤدي ذروة الأسعار إلى تجاوزات مؤقتة.
الأدوات المساعدة مثل Intel VPA و ffprobe و Python مفيدة في مراقبة الجودة. باستخدام هذا الأخير ، من المناسب إجراء مقارنات بين المصدر والفيديو المحول ، وقراءة المقاييس التعسفية ، مثل الانحراف المتوسط للبكسل.
حساب PSNR و SSIM في الممارسة العملية غير فعال للغاية بسبب التحسينات النفسية المرئية ، والتي يتم تضمينها في برامج الترميز بشكل افتراضي. إذا كنت تريد حساب هذه المقاييس بشكل أو بآخر ، فيمكنك إيقاف تشغيل التحسينات عن طريق
-tune [psnr|ssim]
ومع ذلك ، سيكون الملف النهائي ، بالطبع ، مختلفًا عن الملف الذي تم إنشاؤه بدون هذه العلامات.
معاينة
المشكلة الرئيسية لتوليد الصور المصغرة هي مصدر غامض. يعد التعريف والبحث عن الصور الواضحة مهمة غير تافهة وكثيفة الاستخدام للموارد. لحسن الحظ ، يتم تضمين حل هذه المشكلة في معظم برامج الترميز في عملية ترميز الفيديو. يمكنك أن تأخذ الإطار الرئيسي الأقرب إلى موضع معين ؛ ومن بين كل الإطارات المحيطة به ، سيكون الأوضح. في ffmpeg ، يمكن القيام بذلك مثل هذا:
-ss [] -vf \"select='eq(pict_type,PICT_TYPE_I)'\" -vsync vfr
لا تضغط الترميزات القياسية بأفضل طريقة ، لذا فمن الأفضل بعد الضغط على الصورة أن تضغط عليها بشيء مثل optipng - توفير 500 كيلو بايت في المتوسط عند معاينة FHD.
من الأفضل القيام بالصور عالية الدقة المتداخلة. وبالتالي ، سوف نقوم بزيادة الحجم قليلاً (بنسبة 5 إلى 10٪) ، ولكننا سنقلل بشكل خطير من وقت العرض على صفحة التحميل.
لقد تحول المقال بالفعل إلى كثيفة ، ولدي شكوك في أن كل المعلومات تحتاج إلى تجميعها في نص واحد ضخم. إذا كنت مهتمًا بمتابعة هذا الموضوع ، فاكتب في التعليقات أو ضع علامة في الاستطلاع.
تم إغلاق المنصة ، ولكن يمكنك رؤية عملها
هنا .
* لا علاقة لي بمؤلفي المواقع المعنية ولا يجوز لهم مشاركة آرائهم وآرائهم. لا يمكنني التعليق على القرارات المتعلقة بمن وكيف يتم منح الوصول إلى الكود.جاهز للإجابة على الأسئلة.