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

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

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

  • تم تحويل التطوير على GitLab إلى استخدام مستودع واحد مشترك لجميع الوحدات.
  • تمت إضافة مكتبة GstPlay جديدة عالية المستوى، والتي تحل محل GstPlayer API وتوفر وظائف مماثلة لتشغيل المحتوى، وتختلف عن طريق استخدام ناقل الرسائل لإخطار التطبيقات بدلاً من إشارات GObject.
  • تمت إضافة دعم لفك تشفير معلومات شفافية WebM، مما يسمح بتشغيل مقاطع فيديو VP8/VP9 ذات المناطق الشفافة.
  • تتمتع ملفات تعريف التشفير الآن بدعم لإعداد خصائص إضافية خاصة بالتطبيقات.
  • يدعم Compositor تحويل ومزج الفيديو متعدد الخيوط.
  • تتمتع فئتا depayloader وpayloader بدعم موحد للعمل مع رؤوس RTP الإضافية (امتدادات رأس RTP).
  • تمت إضافة دعم لآلية SMPTE 2022-1 2-D (تصحيح الأخطاء الأمامية).
  • يقوم Encodebin وtranscodebin لبرامج الترميز VP8 وVP9 وH.265 بتطبيق وضع ترميز ذكي، حيث يتم تنفيذ تحويل الترميز فقط عند الضرورة، ويتم إعادة توجيه التدفق الحالي في بقية الوقت.
  • أصبح البرنامج الإضافي Souphttpsrc متوافقًا الآن مع libsoup2 وlibsoup3.
  • تمت إضافة القدرة على فك تشفير البيانات المدخلة على مستوى الإطارات المتوسطة (الإطار الفرعي)، مما يسمح لك ببدء فك التشفير دون انتظار استلام الإطار الكامل. يتم تضمين دعم هذا التحسين في أجهزة فك التشفير OpenJPEG JPEG 2000 وFFmpeg H.264 وOpenMAX H.264/H.265.
  • عند فك تشفير الفيديو لبروتوكولات RTP وWebRTC وRTSP، يتم توفير المعالجة التلقائية لفقدان الحزم وتلف البيانات وطلبات الإطارات الرئيسية.
  • تمت إضافة دعم تغيير بيانات برنامج الترميز سريعًا إلى حزم حاويات الوسائط mp4 وMatroska، مما يسمح لك بتغيير ملف التعريف والمستوى والدقة لتدفقات الإدخال H.264/H.265.
  • تمت إضافة وضع لإنشاء حاويات وسائط mp4 مجزأة.
  • تمت إضافة دعم الصوت إلى المنفذ المستند إلى WPE (منفذ WebKit للمضمن).
  • تمت إضافة القدرة على استخدام CUDA لتحويل مساحة اللون وقياس العناصر وتحميل العناصر.
  • تمت إضافة دعم لذاكرة NVMM (وحدة ذاكرة NVIDIA) لعناصر OpenGL glupload وgldownload.
  • تحسين دعم WebRTC.
  • تم اقتراح مكون إضافي جديد لـ VA-API (Video Acceleration API)، يدعم المزيد من وحدات فك التشفير وعناصر ما بعد المعالجة.
  • أضافت واجهة برمجة التطبيقات AppSink دعمًا للأحداث بالإضافة إلى المخازن المؤقتة وقوائم المخازن المؤقتة.
  • تمت إضافة إعدادات إضافية لقوائم الانتظار الداخلية إلى AppSrc.
  • تم تحديث روابط لغة Rust وإضافة 26 مكونًا إضافيًا جديدًا مكتوبًا بلغة Rust (gst-plugins-rs).
  • تمت إضافة عناصر aesdec وaesenc للتشفير وفك التشفير باستخدام خوارزمية AES.
  • تمت إضافة عناصر حوض اختبار ترميز الصوت والفيديو المزيفة للاختبار وتصحيح الأخطاء.
  • أدوات محسنة لإنشاء تصميمات GStreamer البسيطة.
  • تمت إضافة القدرة على البناء باستخدام FFmpeg 5.0.
  • بالنسبة لنظام التشغيل Linux، تم تنفيذ إصدارات برامج الترميز MPEG-2 وVP9، وتعمل دون حفظ الحالة (عديم الحالة).
  • بالنسبة لنظام التشغيل Windows، تمت إضافة دعم AV3 وMPEG-11 إلى وحدة فك الترميز المستندة إلى Direct1D2/DXVA.

المصدر: opennet.ru

إضافة تعليق