سؤال

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

حاليًا ، أستخدم libavcodec الخاص بـ ffmpeg لفك تشفير الإطارات ، ثم أعرضها يدويًا على الشاشة باستخدام StretchBlt.نحن نفكر في الانتقال إلى Media Foundation ، لكن ليس واضحًا بالنسبة لي - هل من الممكن أن يكون لديك مصدر لا يستخدم حاوية؟إذا كان الأمر كذلك ، فهل أحتاج إلى إنشاء حساب مخصص؟

نرحب أيضًا ببدائل استخدام Media Foundation.مشكلتي الرئيسية مع الطريقة التي أستخدمها حاليًا هي أن الأداء ليس جيدًا بما يكفي ، خاصة بالنسبة للفيديو عالي الدقة.

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

المحلول

لا أرى أنك تذكر أنك بحاجة تحديدًا أو ما هي واجهة برمجة تطبيقات الرموز البرمجية العامة ، لذلك أقترح رمزًا للتكوين العام ، والذي يمكنك القيام بذلك باستخدام:

  • مصدر مخصص ، راجع دفع عينة فلاتر المصدر
  • وحدة فك ترميز H.264 ، مخزنة مع Windows 7 (على غرار Media Foundation) أو طرف ثالث (الاختيار من بين القليل)
  • عارض الفيديو مثل EVR (تتم مشاركته مع Media Foundation) أو الإصدارات الأقدم
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top