ДоступСн ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ 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-server. На ΡƒΡ€ΠΎΠ²Π½Π΅ API ΠΈ ABI Π½ΠΎΠ²Ρ‹ΠΉ выпуск ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ совмСстим с Π²Π΅Ρ‚ΠΊΠΎΠΉ 1.0. Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ сборки Π² скором Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Android, iOS, macOS ΠΈ Windows (Π² Linux рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· дистрибутива).

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ 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).
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ написанный Π½Π° Rust мСдиасСрвСр Π½Π° Π±Π°Π·Π΅ WebRTC, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ WHIP (WebRTC HTTP ingest) ΠΈ WHEP (WebRTC HTTP egress).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ элСмСнт videocolorscale, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ Π² сСбС возмоТности для ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ с большой Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ Ρ†Π²Π΅Ρ‚Π°.
  • Π’ API Navigation Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° событий ΠΎΡ‚ сСнсорных экранов.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ элСмСнты ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ H.264/H.265 для рСконструкции PTS/DTS ΠΏΠ΅Ρ€Π΅Π΄ ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΎΠΉ ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ².
  • На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Linux ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ DMA для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ отрисовкС Π²ΠΈΠ΄Π΅ΠΎ с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° интСграция с CUDA: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° gst-cuda ΠΈ элСмСнт cudaconvertscale, обСспСчСна интСграция с элСмСнтами D3D11 ΠΈ NVIDIA dGPU NVMM.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° интСграция с Direct3D11: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° gst-d3d11, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² d3d11screencapture, d3d11videosink, d3d11convert ΠΈ d3d11compositor.
  • Для GPU AMD Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎ ускорСнныС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ… H.264 / AVC, H.265 / HEVC ΠΈ AV1, построСнныС с использованиСм SDK AMF (Advanced Media Framework).
  • Π’ ΠΏΠ»Π°Π³ΠΈΠ½ applemedia Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° кодирования ΠΈ дСкодирования Π²ΠΈΠ΄Π΅ΠΎ H.265 / HEVC.
  • Π’ ΠΏΠ»Π°Π³ΠΈΠ½ androidmedia Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° кодирования Π²ΠΈΠ΄Π΅ΠΎ H.265 / HEVC.
  • Π’ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ audiomixer, compositor, glvideomixer ΠΈ d3d11compositor Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ свойство force-live для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ live-Ρ€Π΅ΠΆΠΈΠΌΠ°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru