چارچوب چند رسانه ای 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 binding و سرور پخش جریان gst-rtsp-server در حال توسعه هستند. . در سطح API و ABI، نسخه جدید با شاخه 1.0 سازگار است. اسمبلی های باینری به زودی برای اندروید، iOS، macOS و ویندوز آماده می شوند (در لینوکس توصیه می شود از بسته های توزیع استفاده کنید).

پیشرفت های کلیدی در GStreamer 1.22:

  • پشتیبانی بهبودیافته از فرمت کدگذاری ویدیوی AV1. قابلیت استفاده از شتاب سخت افزاری برای رمزگذاری و رمزگشایی AV1 از طریق API های VAAPI/VA، AMF، D3D11، NVCODEC، QSV و Intel MediaSDK اضافه شده است. کنترل کننده های RTP جدید برای AV1 اضافه شد. تجزیه و تحلیل بهبود یافته AV1 در کانتینرهای MP4، Matroska و WebM. مجموعه ها شامل عناصری با رمزگذارهای AV1 و رمزگشاهای مبتنی بر کتابخانه های dav1d و rav1e هستند.
  • پشتیبانی پیاده سازی شده برای Qt6. عنصر qml6glsink اضافه شد که از Qt6 برای رندر کردن ویدیو در صحنه QML استفاده می کند.
  • عناصر gtk4paintablesink و gtkwaylandsink برای رندر با استفاده از GTK4 و Wayland اضافه شده است.
  • کلاینت‌های جدیدی برای استریم تطبیقی ​​اضافه شده‌اند که از پروتکل‌های HLS، DASH و MSS (Microsoft Smooth Streaming) پشتیبانی می‌کنند.
  • توانایی ایجاد مجموعه‌های بریده‌شده را فراهم می‌کند که برای کاهش اندازه بهینه شده‌اند.
  • پشتیبانی از WebRTC Simulcast و 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 ingest) و WHEP (WebRTC HTTP خروجی) پشتیبانی می کند.
  • عنصر videocolorscale اضافه شده است، که ترکیبی از قابلیت‌های تبدیل ویدیو و مقیاس‌بندی است.
  • پشتیبانی بهبود یافته از ویدئو با عمق رنگ بالا.
  • پشتیبانی از رویدادهای صفحه لمسی به Navigation API اضافه شد.
  • عناصر تصحیح مهر زمان H.264/H.265 برای بازسازی PTS/DTS قبل از بسته بندی ظروف رسانه اضافه شده است.
  • در پلتفرم لینوکس، استفاده از DMA برای کار کردن با بافرها هنگام رمزگذاری، رمزگشایی، فیلتر کردن و رندر کردن ویدیو با استفاده از شتاب سخت افزاری بهبود یافته است.
  • ادغام با CUDA بهبود یافته است: کتابخانه gst-cuda و عنصر cudaconvertscale اضافه شده است، ادغام با عناصر D3D11 و NVIDIA dGPU NVMM ارائه شده است.
  • ادغام با Direct3D11 بهبود یافته است: یک کتابخانه جدید gst-d3d11 اضافه شده است، قابلیت های پلاگین های d3d11screencapture، d3d11videosink، d3d11convert و d3d11compositor گسترش یافته است.
  • برای پردازنده‌های گرافیکی AMD، رمزگذارهای ویدیویی با شتاب سخت‌افزاری جدید در قالب‌های H.264 / AVC، H.265 / HEVC و AV1 پیاده‌سازی شده‌اند که با استفاده از AMF (Advanced Media Framework) SDK ساخته شده‌اند.
  • پلاگین applemedia پشتیبانی از کدگذاری و رمزگشایی ویدیوی H.265/HEVC را اضافه کرده است.
  • پشتیبانی از رمزگذاری ویدیوی H.265/HEVC به افزونه androidmedia اضافه شد.
  • ویژگی force-live به افزونه های audiomixer، compositor، glvideomixer و d3d11compositor اضافه شده است تا حالت زنده فعال شود.

منبع: opennet.ru

اضافه کردن نظر