إطار عمل الوسائط المتعددة GStreamer 1.22.0 متاح

بعد عام من التطوير ، تم إصدار GStreamer 1.22 ، وهو عبارة عن مجموعة من المكونات عبر الأنظمة الأساسية لإنشاء مجموعة واسعة من تطبيقات الوسائط المتعددة ، من مشغلات الوسائط ومحولات ملفات الصوت / الفيديو ، إلى تطبيقات VoIP وأنظمة البث. يتم توزيع كود GStreamer بموجب ترخيص LGPLv2.1. بشكل منفصل ، يتم تطوير تحديثات الإضافات gst-plugins-base و gst-plugins-good و gst-plugins-bad و gst-plugins-ugly بالإضافة إلى ربط gst-libav وخادم تدفق خادم gst-rtsp . على مستوى API و ABI ، الإصدار الجديد متوافق مع الإصدارات السابقة مع الفرع 1.0. سيتم قريبًا إعداد إصدارات Binary لنظام التشغيل Android و iOS و macOS و Windows (يوصى باستخدام حزم من التوزيع على نظام Linux).

التحسينات الرئيسية في GStreamer 1.22:

  • دعم محسّن لتنسيق ترميز الفيديو AV1. تمت إضافة القدرة على استخدام ترميز وفك تشفير AV1 للأجهزة عبر VAAPI / VA و AMF و D3D11 و NVCODEC و QSV و Intel MediaSDK APIs. تمت إضافة معالجات RTP جديدة لـ AV1. تحليل AV1 محسّن في حاويات MP4 و Matroska و WebM. تتضمن التجميعات عناصر مع أجهزة تشفير ووحدات فك تشفير AV1 استنادًا إلى مكتبات dav1d و rav1e.
  • نفذت دعم Qt6. تمت إضافة عنصر qml6glsink الذي يستخدم Qt6 لعرض الفيديو داخل مشهد QML.
  • تمت إضافة عناصر gtk4paintablesink و gtkwaylandsink للعرض باستخدام GTK4 و Wayland.
  • تمت إضافة عملاء دفق متكيف جديد يدعم بروتوكولات HLS و DASH و MSS (Microsoft Smooth Streaming).
  • يوفر القدرة على إنشاء تجميعات مجردة ومُحسَّنة لتقليل الحجم.
  • تمت إضافة دعم للبث المحاكي WebRTC و Google Congestion Control.
  • تم توفير مكون إضافي بسيط ومستقل للإرسال عبر WebRTC.
  • تمت إضافة مُعبئ حاويات وسائط MP4 جديد مع دعم البيانات المجزأة وغير المجزأة.
  • تمت إضافة مكونات إضافية جديدة لتخزين Amazon AWS وخدمات النسخ الصوتي.
  • الارتباطات المحدثة للغة Rust. تمت إضافة 19 مكونًا إضافيًا وتأثيرات وعناصر مكتوبة بلغة Rust (gst-plugins-rs). وتجدر الإشارة إلى أن 33٪ من التغييرات في GStreamer الجديد تم تنفيذها في Rust (التغييرات تتعلق بالربط والمكونات الإضافية) ، ومجموعة المكونات الإضافية gst-plugins-rs هي واحدة من أكثر وحدات GStreamer تطورًا. يمكن استخدام المكونات الإضافية المكتوبة بلغة Rust في البرامج بأي لغة والعمل معها يشبه استخدام المكونات الإضافية في C و C ++.
  • يتم شحن المكونات الإضافية Rust كجزء من الحزم الثنائية الرسمية لأنظمة Windows و macOS (البناء والتوزيع مدعوم لأنظمة Linux و Windows و macOS).
  • تم تنفيذ خادم وسائط يستند إلى WebRTC مكتوبًا بلغة Rust يدعم WHIP (استيعاب WebRTC HTTP) و WHEP (خروج WebRTC HTTP).
  • تمت إضافة عنصر videocolorscale ، الذي يجمع بين إمكانيات تحويل الفيديو وقياسه.
  • دعم محسّن لمقاطع الفيديو ذات العمق اللوني العالي.
  • تمت إضافة دعم أحداث الشاشة التي تعمل باللمس إلى واجهة برمجة تطبيقات التنقل.
  • تمت إضافة عناصر تصحيح الطابع الزمني H.264 / H.265 لإعادة بناء PTS / DTS قبل تعبئة حاويات الوسائط.
  • على نظام Linux ، تحسين استخدام DMA لمشاركة المخازن المؤقتة عند تشفير الفيديو وفك تشفيره وتصفيته وعرضه باستخدام تسريع الأجهزة.
  • تكامل CUDA محسّن: مكتبة gst-cuda المضافة وعناصر cudaconvertscale المضافة ، التكامل مع عناصر D3D11 و NVIDIA dGPU NVMM.
  • تكامل محسّن مع Direct3D11: تمت إضافة مكتبة gst-d3d11 جديدة ، وتوسيع إمكانات d3d11screencapture و d3d11videosink و d3d11convert و d3d11compositor plugins.
  • تم تنفيذ برامج ترميز الفيديو H.264 / AVC و H.265 / HEVC و AV1 المسرَّعة للأجهزة الجديدة التي تم إنشاؤها باستخدام AMF (Advanced Media Framework) SDK لوحدات معالجة الرسومات AMD.
  • تمت إضافة دعم لترميز وفك تشفير الفيديو H.265 / HEVC إلى المكوّن الإضافي applemedia.
  • تمت إضافة دعم لترميز الفيديو H.265 / HEVC إلى البرنامج المساعد androidmedia.
  • تمت إضافة خاصية force-live إلى المكونات الإضافية audiomixer و compositor و glvideomixer و d3d11compositor لفرض الوضع المباشر.

المصدر: opennet.ru

إضافة تعليق