"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني دفق مقاطع فيديو MP4 في خادم ويب Golang؟

كيف يمكنني دفق مقاطع فيديو MP4 في خادم ويب Golang؟

تم النشر بتاريخ 2024-11-14
تصفح:856

How Can I Stream MP4 Videos in a Golang Web Server?

تدفق فيديو خادم الويب GoLang

س: تم تكوين خادم الويب Golang لخدمة HTML وCSS وJavaScript والصور دون جدوى محاولات دفق فيديو MP4.

تنشأ المشكلة من التعامل مع ملفات الفيديو الكبيرة. يتطلب Chrome من الخوادم دعم طلبات النطاق لمقاطع الفيديو التي تتجاوز حجمًا معينًا، ولكن الكود المقدم لا يعالج هذا الأمر. من خلال تنفيذ دعم طلب النطاق، يمكن للخادم إرسال الجزء المطلوب فقط من الفيديو، مما يتيح التشغيل.

ج: قم بتحسين التعليمات البرمجية لدعم طلبات النطاق.

تعديل الرمز الذي يتضمن التحقق من ملفات MP4 وإرسال الرؤوس وأكواد الاستجابة المناسبة:

if contentType == "video/mp4" {
    size := binary.Size(data)
    if size > 0 {
        requestedBytes := r.Header.Get("Range")
        w.Header().Add("Accept-Ranges", "bytes")
        w.Header().Add("Content-Length", strconv.Itoa(size))
        w.Header().Add("Content-Range", "bytes " requestedBytes[6:len(requestedBytes)] strconv.Itoa(size-1) "/" strconv.Itoa(size))
        w.WriteHeader(206)
    }
}
بالإضافة إلى ذلك، فكر في استخدام http.ServeFile() لخدمة ملفات الفيديو، التي تدعم طلبات النطاق:

if contentType == "video/mp4" {
    http.ServeFile (ث، ص، المسار)
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3