سؤال

أقوم بإنشاء دفق MJpeg وأحاول دفقه إلى VLC وتشغيله هناك.

الرمز:

        public void SendMultiPartData(String contentType, Func<byte[]> getData)
    {
        MemoryStream mem = null;
        response.StatusCode = 200;
        for ( byte[] buffer = getData(); buffer != null && buffer.Length > 0; buffer = getData())
        {
            response.ContentType = "multipart/x-mixed-replace; boundary=--testboundary";
            ASCIIEncoding ae = new ASCIIEncoding();
            byte[] boundary = ae.GetBytes("\r\n--testboundary\r\nContent-Type: " + contentType + "\r\nContent-Length:" + buffer.Length + "\r\n\r\n");
            mem = new MemoryStream(boundary);
            mem.WriteTo(response.OutputStream);
            mem = new MemoryStream(buffer);
            mem.WriteTo(response.OutputStream);
            response.OutputStream.Flush();
        }
        mem.Close();
        listener.Close();
    }

إذا حاولت فتح البث باستخدام فايرفوكس، فلا توجد مشكلة على الإطلاق، على الرغم من أنه لا يعمل مع VLC (يبدو أن VLC يواصل القراءة ولكنه لا يعرض الفيديو مطلقًا)

لقد كنت أتعرف على تدفق VLC-to-VLC ويبدو أنهم يستخدمون "application/octet-stream" كرأس HTTP بدلاً من استبدال متعدد الأجزاء/x-mixed

أيه أفكار ؟

TKS مقدمًا ، خوسيه

هل كانت مفيدة؟

المحلول

خوسيه ، كان لدي نفس المشكلة بالضبط.يقوم Firefox بتشغيل البث الخاص بي ولكن VLC لا يقوم بذلك.لقد اتبعت العديد من الطرق لمعرفة ذلك بما في ذلك تصحيح أخطاء كود مصدر VLC، ولم أصل إلى أي مكان.راجع للشغل يبدو عنوان URL الخاص بي (REST). http://server:port/livevideo/xyzثم اعتقدت أنني يجب أن أحاول http://server:port/livevideo/xyz.mjpegواحزر ماذا، بدأ برنامج VLC في تشغيل الفيديو!أعتقد أن VLC قد يحتاج إلى تلميح بسيط أكثر من مجرد نوع المحتوى لمعرفة أنه عبارة عن تدفق mjpeg.أتمنى أن يساعدك هذا.

سيندي

نصائح أخرى

ولقد حاولت هذه:

Response.Buffer = false;
Response.BufferOutput = false;

وأو بعض الاختلاف من تلك؟

وأنا لا يمكن الحصول على فايرفوكس للعب بلدي تيار (على الرغم من الكروم يلعب هو بخير). لVLC أنا وضعت عازلة ل0 مللي ثانية (تحت الخيارات مفتوحة متقدمة)، ويبدو للعمل من هناك، على الرغم من معدل البيانات الخاصة بي هو قتل ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top