มีเฟรมเวิร์กมัลติมีเดีย 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 ผ่าน VAAPI/VA, AMF, D3D11, NVCODEC, QSV และ Intel MediaSDK API เพิ่มตัวจัดการ 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) และ WHEP (ข้อมูลออก WebRTC HTTP)
  • เพิ่มองค์ประกอบ videocolorscale ซึ่งรวมความสามารถในการแปลงและปรับขนาดวิดีโอเข้าด้วยกัน
  • ปรับปรุงการรองรับวิดีโอที่มีความลึกของสีสูง
  • เพิ่มการรองรับเหตุการณ์หน้าจอสัมผัสใน Navigation API
  • เพิ่มองค์ประกอบการแก้ไขการประทับเวลา 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 ซึ่งสร้างขึ้นโดยใช้ AMF (Advanced Media Framework) SDK
  • ปลั๊กอิน applemedia ได้เพิ่มการรองรับการเข้ารหัสและถอดรหัสวิดีโอ H.265/HEVC
  • เพิ่มการรองรับการเข้ารหัสวิดีโอ H.265/HEVC ให้กับปลั๊กอิน androidmedia
  • คุณสมบัติ Force-Live ได้รับการเพิ่มลงในปลั๊กอิน Audiomixer, Compositor, glvideomixer และ d3d11compositor เพื่อบังคับให้เปิดใช้งานโหมด Live

ที่มา: opennet.ru

เพิ่มความคิดเห็น