GStreamer 1.26.7: คุณสมบัติใหม่และการแก้ไขที่สำคัญทั้งหมด

  • การเปิดตัวการบำรุงรักษาพร้อมการแก้ไขที่มุ่งเป้าหมายและไม่มีการเปลี่ยนแปลง API/ABI
  • การปรับปรุงใน RTP/RTSP, คอนเทนเนอร์ (TS/Matroska/FLV) และ GPU (CUDA/D3D12)
  • ปรับแต่งประสิทธิภาพและเวลาแฝงสำหรับการแชร์เธรดและอัตราวิดีโอ
  • โปรแกรมไบนารีสำหรับ Android, iOS, macOS และ Windows จะพร้อมใช้งานเร็วๆ นี้

gstreamer 1.26.7

GStreamer เวอร์ชัน1.26.7ให้ความรู้สึกเหมือนเป็นการอัปเดตที่ปรับแต่งมาเป็นอย่างดี: เป็นเวอร์ชันที่เน้นการแก้ไขบั๊ก ปรับปรุงจุดบกพร่อง และเสริมความเสถียรของเฟรมเวิร์กมัลติมีเดียข้ามแพลตฟอร์ม แม้ว่าจะไม่ได้นำมาซึ่งการเปลี่ยนแปลงครั้งใหญ่ แต่ก็มีการปรับปรุงที่สำคัญหลายอย่าง ซึ่งโดยรวมแล้วช่วยเพิ่มความน่าเชื่อถือในสถานการณ์การใช้งานจริงด้านเสียงและวิดีโอ เวอร์ชันนี้ให้ความสำคัญกับองค์ประกอบหลัก เช่น RTP/RTSP, คอนเทนเนอร์, GPU, คำบรรยาย CEA-608, การกำหนดเวลา และเครื่องมือสำหรับนักพัฒนา ถือเป็นตัวเลือกที่ปลอดภัยสำหรับผู้ที่ใช้ซีรีส์ 1.26.x อยู่แล้วและต้องการความสะดวกในการใช้งาน

ทีมงานเน้นย้ำว่านี่คือการอัปเดตที่แนะนำสำหรับผู้ใช้ทุกคนในเวอร์ชันเสถียรรวมถึงแอปพลิเคชันที่ทำงานกับเวิร์กโฟลว์แบบเรียลไทม์ การแยกสัญญาณรูปแบบยอดนิยม และไปป์ไลน์ที่รองรับโดย GPU ของ NVIDIA หรือ Direct3D 12 นอกจากนี้ยังมีข้อสังเกตที่สำคัญคือไบนารีสำหรับ Android, iOS, macOS และ Windows จะพร้อมใช้งานในเร็ว ๆ นี้ทำให้ทีมที่ทำงานข้ามแพลตฟอร์มสามารถย้ายไปมาระหว่างสภาพแวดล้อมได้อย่างราบรื่นยิ่งขึ้น

ภาพรวมการเปิดตัว GStreamer 1.26.7

GStreamer 1.26.7 เน้นการแก้ไขข้อบกพร่อง การปรับความหน่วง และการปรับปรุงความเข้ากันได้ โดยมีการแก้ไขหลายอย่างที่ส่งผลกระทบต่อทั้งปลั๊กอินเฉพาะและส่วนประกอบที่ใช้งานร่วมกัน จุดเด่น ได้แก่ การปรับปรุงโอเวอร์เลย์ CEA-608 การรองรับชุดเครื่องมือ CUDA 13.0 การแก้ไขใน D3D12 เพย์โหลดเดอร์/ดีเพย์โหลดเดอร์ใหม่สำหรับเสียงเชิงเส้นใน RTP การเพิ่มประสิทธิภาพการแยกสัญญาณและการรวมสัญญาณ และความก้าวหน้าในกลไกการแชร์เธรดเป้าหมายคือการเพิ่มความเสถียรโดยไม่เปลี่ยนแปลง API หรือพฤติกรรมที่คาดหวังในเวอร์ชัน 1.26 ที่เสถียร

  • คำบรรยายและโอเวอร์เลย์: การจัดการหน่วยความจำที่ไม่ใช่ระบบที่ดีขึ้นใน cea608overlay.
  • GPU: การคอมไพล์เคอร์เนลเพื่อรองรับรันไทม์สำหรับ CUDA 13.0 และการแก้ไข D3D12 ในกระบวนการครอบตัดและการดีอินเทอร์เลซ
  • Demux และคอนเทนเนอร์: การปรับปรุงใน คิวทีดีมักซ์ (ช่องเสียงรอบทิศทางและประสิทธิภาพการทำงานด้วย GoPro) การแก้ไขใน mpegtsmux/tsdemux สำหรับ Opus และแก้ไขเมื่อกำหนดแพดที่จุดสิ้นสุดของสตรีมบนมัลติเพลเซอร์หลายตัว
  • เครือข่ายเรียลไทม์: เพย์โหลดเดอร์/ดีเพย์โหลดเดอร์ใหม่สำหรับเสียงเชิงเส้น (L8, L16, L24), RTSP keepalives ในโหมด TCP/interleaved และการแก้ไขหลายรายการใน rtp/rtpbasepay2/rtpamrpay2
  • ประสิทธิภาพและความหน่วง: การปรับปรุงใน กระทู้แชร์, อัตราวิดีโอ และการจัดการข้อมูลประทับเวลา
  • การพัฒนาและการสร้าง: แก้ไขคำอธิบายประกอบ gobject-introspection และอัปเดต Meson เป็น 1.9.0 บน Cerbero สำหรับความเข้ากันได้กับ Xcode 26 มีเสถียรภาพมากขึ้นและการรั่วไหลของหน่วยความจำน้อยลง.

รายละเอียดการแก้ไขและการปรับปรุงใน GStreamer 1.26.7

คำบรรยายและโอเวอร์เลย์ CEA-608

ส่วนประกอบcea608overlayได้รับการปรับปรุงอย่างมาก: ตอนนี้สามารถจัดการบัฟเฟอร์จากหน่วยความจำที่ไม่ได้รับการจัดการโดยระบบได้อย่างมีประสิทธิภาพมากขึ้น ซึ่งเป็นปัญหาทั่วไปเมื่อรวมตัวเร่งความเร็วหรือแหล่งข้อมูลภายนอก これにより、特のフィントリングのフィントリングのフィングのフィングが可能になり、より多くのフィントリングのフィ...

GPU: CUDA และ Direct3D 12

ในส่วนของ NVIDIA นั้น GStreamer 1.26.7 ได้แก้ไขปัญหาการคอมไพล์เคอร์เนลขณะรันไทม์ด้วย CUDA 13.0 การเปลี่ยนแปลงนี้มีความสำคัญอย่างยิ่งสำหรับผู้ที่สร้างเคอร์เนลแบบไดนามิกหรือฟิลเตอร์แบบลูกโซ่ที่ต้องอาศัยการคอมไพล์ขณะรันไทม์ช่วยป้องกันการเกิดข้อผิดพลาดและการหยุดทำงานในสภาพแวดล้อมที่ได้ย้ายไปใช้ชุดเครื่องมือ CUDA เวอร์ชันล่าสุดแล้ว

สำหรับ Windows นั้น แบ็กเอนด์ D3D12 ปรับปรุงในสองด้าน ได้แก่ การรองรับเมตาเดต้าการตัดภาพในตัวแปลง และการจัดการการส่งผ่านในตัวดีอินเตอร์เลซ ในทางปฏิบัติแล้ว นี่หมายถึงการตัดภาพที่สม่ำเสมอทั่วทั้งไปป์ไลน์ และการดีอินเตอร์เลซที่ไม่รบกวนเมื่อไม่ควรรบกวน ซึ่งช่วยหลีกเลี่ยงค่าใช้จ่ายในการประมวลผลที่ไม่จำเป็น ส่งผลให้ความสม่ำเสมอของภาพและประสิทธิภาพในไปป์ไลน์ Direct3D 12 ดีขึ้น

แหล่งที่มาและการซิงโครไนซ์: fallbacksrc และ inter

การสำรองข้อมูล รวมการปรับปรุงในการจัดการแหล่งที่มาและส่งสัญญาณ no-more-pads สำหรับผู้ปกครองที่ไม่ทราบเกี่ยวกับกระแสข้อมูล ช่วยอำนวยความสะดวกในการประสานกระบวนการต่างๆ ที่เปลี่ยนแหล่งที่มาตามความพร้อม ช่วยลดความซับซ้อนในการออกแบบในกรณีที่มีอินพุตทางเลือก โค้ดแบบ "กาว" น้อยลงและการเปลี่ยนแปลงแหล่งที่มาที่เชื่อถือได้มากขึ้น.

องค์ประกอบ`inter`เพิ่มคุณสมบัติเพื่อปรับแต่งส่วนประกอบย่อยภายในให้ดียิ่งขึ้น สำหรับนักพัฒนาที่เพิ่มประสิทธิภาพการสื่อสารระหว่างองค์ประกอบผ่านลิงก์ภายในไปป์ไลน์ ความละเอียดที่เพิ่มขึ้นนี้ช่วยให้สามารถปรับพฤติกรรมได้โดยไม่ต้องใช้วิธีแก้ปัญหาเฉพาะหน้าซึ่งช่วยให้ควบคุมการซิงโครไนซ์และการบัฟเฟอร์ในโทโพโลยีขั้นสูง ได้ดียิ่งขึ้น

การแยกสัญญาณแบบมัลติเพล็กซ์และคอนเทนเนอร์

ในโลกของ MPEG-TS คำสั่งmpegtsmuxและtsdemuxช่วยแก้ไขปัญหาที่เกี่ยวข้องกับเสียง Opus ซึ่งแม้จะไม่ใช่ตัวแปลงสัญญาณ TS ที่คลาสสิกที่สุด แต่ก็กำลังได้รับความนิยมมากขึ้นในสตรีมสมัยใหม่ คำสั่งนี้ช่วยลดสิ่งผิดปกติ การไม่ตรงกันของภาพ และการตีความสตรีมที่ไม่เสถียร นอกจากนี้ยังช่วยปรับปรุงการทำงานร่วมกันของ Opus ภายใน TS อีกด้วย

โปรแกรมมัลติเพล็กเซอร์หลายตัว เช่นmatroskamux , tsmux , flvmuxและcea608muxจะแก้ไขการเลือกแพดที่ดีที่สุดเมื่อ เกิด End Of Stream ( EOS ) การแก้ไขประเภทนี้มีความสำคัญอย่างยิ่งต่อการปิดไฟล์หรือสตรีมอย่างเรียบร้อย ป้องกันส่วนหัวที่ไม่สอดคล้องกันหรือส่วนท้ายที่ไม่สมบูรณ์ ส่งผลให้การปิดสตรีมสะอาดขึ้นและไฟล์สุดท้ายถูกต้อง

RTP/RTSP: เสียงเชิงเส้น, การติดตามและการกำหนดเวลา

ชุดโปรแกรม RTP เพิ่มฟังก์ชัน payloader และ depayloader สำหรับรูปแบบเสียงเชิงเส้น L8, L16 และ L24 ซึ่งเป็นรูปแบบที่พบได้ทั่วไปในสภาพแวดล้อมระดับมืออาชีพที่ความหน่วงและคุณภาพเสียงมีความสำคัญอย่างยิ่ง ส่วนเสริมเหล่านี้ช่วยเพิ่มความเข้ากันได้โดยตรงโดยไม่จำเป็นต้องแปลงไฟล์เสียงก่อน ทำให้ มีความยืดหยุ่นมากขึ้นสำหรับการสตรีมเสียงแบบ ไม่บีบอัด

rtspsrcตอนนี้ส่งสัญญาณ keepalive ในโหมด TCP/interleaved เพื่อลดการตัดการเชื่อมต่อเนื่องจากหมดเวลาเมื่อมีพร็อกซี ไฟร์วอลล์ หรือเครือข่ายที่มักจะหยุดการเชื่อมต่อที่ไม่ได้ใช้งาน ในสภาพแวดล้อมการตรวจสอบหรือการส่งข้อมูลระยะไกล มาตรการนี้มีความสำคัญอย่างยิ่งเซสชัน RTSP ที่เสถียรยิ่งขึ้นบนเครือข่ายจริง

ในrtpamrpay2มีการแก้ไขส่วนที่เกี่ยวข้องกับเครื่องหมายคุณภาพเฟรม และในrtpbasepay2จะมีการนำ PTS สุดท้ายกลับมาใช้ใหม่เมื่อเป็นไปได้ ซึ่งเป็นวิธีแก้ปัญหาที่ได้ผลสำหรับปัญหาที่รายงานเกี่ยวกับตัวเข้ารหัส NVIDIA Jetson AV1 อาจดูเหมือนเป็นรายละเอียดเล็กน้อย แต่ส่งผลโดยตรงต่อความต่อเนื่องของเวลาในสตรีม ทำให้เวลาไม่กระตุกและมีความสม่ำเสมอมากขึ้น

เวลาและอัตราเฟรม

ฟีเจอร์videorateช่วยขจัดปัญหาที่อาจเกิดขึ้นจากระยะเวลาบัฟเฟอร์ที่ไม่ทราบค่าในสตรีมที่มีอัตราเฟรมแปรผัน สภาวะเหล่านี้ซึ่งเกิดขึ้นกับกล้องและแหล่งที่มาที่ไม่สม่ำเสมอได้รับการจัดการได้ดีขึ้นแล้ว จึงสามารถรองรับอัตราเฟรมแปรผันได้มากขึ้นโดยไม่เกิดข้อผิดพลาด

ประสิทธิภาพ: เธรดแชร์และเวลาแฝง

ระบบ ย่อย การแชร์เธรดได้รับการปรับปรุงหลายประการ โดยเน้นที่ความหน่วงและความเสถียร การแชร์เธรดระหว่างองค์ประกอบต่างๆ ช่วยลดภาระงาน แต่ต้องรักษาสมดุลอย่างระมัดระวังเพื่อหลีกเลี่ยงปัญหาคอขวด การเปลี่ยนแปลงที่รวมอยู่ช่วยปรับปรุงสมดุลนี้ โดยเห็นผลดีอย่างชัดเจนโดยเฉพาะในไปป์ไลน์ที่ซับซ้อนและมีความหน่วงต่ำ ลดภาระงานและตอบสนองแบบเรียลไทม์ได้เร็วขึ้น

การทำงานร่วมกันและบัฟเฟอร์ขนาดใหญ่: unixfd

ขณะนี้ Unixfdรองรับการจัดการบัฟเฟอร์ที่มีข้อมูลขนาดใหญ่แล้ว ความเข้ากันได้นี้มีประโยชน์อย่างยิ่งเมื่อเชื่อมต่อกระบวนการโดยใช้ตัวระบุไฟล์ ซึ่งเป็นเรื่องปกติในสถาปัตยกรรมมัลติโปรเซสซิ่ง หรือเมื่อส่งเฟรมระหว่างส่วนประกอบเฉพาะทางการถ่ายโอนชุดข้อมูลขนาดใหญ่เป็นไปอย่างราบรื่น

บริการแก้ไขและใส่คำอธิบายประกอบ

ในบริการแก้ไขนั้นได้ดำเนินการไปแล้ว ไทม์ไลน์ GES เคารพการตัดสินใจในการทิ้งสัญญาณ SELECT_ELEMENT_TRACKการแก้ไขเส้นทางที่ทำให้เกิดพฤติกรรมที่ไม่คาดคิดและการรั่วไหลของหน่วยความจำ การปรับแต่งนี้ช่วยให้สามารถแก้ไขแบบไม่เชิงเส้นได้แม่นยำยิ่งขึ้น หลีกเลี่ยง "ภาพซ้อน" จากองค์ประกอบที่ถูกยกเลิกการจัดสรร ไทม์ไลน์ที่สอดคล้องและปราศจากการรั่วไหลมากขึ้น.

นอกจากนี้ คำอธิบายประกอบ gobject-introspectionซึ่งเป็นพื้นฐานสำหรับการสร้างการเชื่อมโยงข้ามหลายภาษาได้รับการปรับปรุงให้ดียิ่งขึ้น ด้วยคำอธิบายประกอบที่แม่นยำยิ่งขึ้น การเชื่อมโยงจึงมีความถูกต้องมากขึ้น ลดความประหลาดใจเมื่อพัฒนาใน Python, JavaScript หรือภาษาอื่นๆ การเชื่อมโยงที่เชื่อถือได้มากขึ้นด้วยคำอธิบาย introspection ที่ดีขึ้น

การก่อสร้างและเครื่องมือ: เซอร์เบอรัสและเมสัน

ระบบสร้างโปรเจ็กต์ Cerbero อัปเดต Meson เป็นเวอร์ชัน 1.9.0 ทำให้สามารถใช้งานร่วมกับ Xcode 26 ได้ ส่วนประกอบนี้มีความสำคัญอย่างยิ่งต่อการสร้าง SDK และไบนารีของระบบนิเวศ ดังนั้นการอัปเดตจึงช่วยให้สามารถสร้างโปรเจ็กต์ที่ทันสมัยบน macOS ได้สภาพแวดล้อมการสร้างโปรเจ็กต์ที่ทันสมัยหมายถึงความยุ่งยากน้อยลงในกระบวนการ CI/ CD

GStreamer 1.26.7 อัปเดตและไบนารีพร้อมใช้งานแล้ว

ทีมงานคาดการณ์ว่าไฟล์ไบนารีสำหรับ Android, iOS, macOS และ Windows จะพร้อมใช้งานใน "เร็วๆ นี้" ซึ่งจะช่วยให้การทดสอบข้ามแพลตฟอร์มและการใช้งานง่ายขึ้น เนื่องจากไม่มีการเปลี่ยนแปลง API/ABI และเวอร์ชัน 1.x มีความเสถียร จึงเป็นการอัปเกรดที่เหมาะสมแม้สำหรับรอบการใช้งานที่ไม่เข้มงวดมากนัก การอัปเกรดเป็นเวอร์ชัน 1.26.7 นั้นโดยพื้นฐานแล้วมีความเสี่ยงต่ำ

หากคุณใช้งานระบบส่งข้อมูลที่มีความละเอียดอ่อน (เช่น ฮาร์ดแวร์ NVIDIA Jetson หรือกล้อง IP ผ่าน RTSP) ขอแนะนำให้ทำการตรวจสอบความถูกต้อง ณ สถานที่จริง โดยเฉพาะอย่างยิ่งเกี่ยวกับการเปลี่ยนแปลงเวลา (การใช้ PTS ซ้ำ) และการรักษาการเชื่อมต่อ อย่างไรก็ตาม เป้าหมายหลักของการออกเวอร์ชันนี้คือการกำจัดข้อบกพร่องโดยไม่เปลี่ยนแปลงพฤติกรรมตามสัญญาทดสอบและใช้งานได้อย่างมั่นใจหลังจากผ่านขั้นตอนการตรวจสอบคุณภาพแล้ว

แนวปฏิบัติที่ดีและข้อควรทราบทางกฎหมาย

เมื่อเผยแพร่ไฟล์ไบนารีหรือเอกสาร โปรดคำนึงถึงเรื่องการสร้างแบรนด์ตามปกติ: ดังที่ระบุไว้ในแหล่งข้อมูลที่ได้ศึกษา ชื่อและโลโก้ Arch Linux เป็นเครื่องหมายการค้าที่ได้รับการยอมรับ และการใช้เครื่องหมายการค้า Linux® อยู่ภายใต้ใบอนุญาตย่อยจาก LMI ซึ่งเป็นผู้ได้รับอนุญาตแต่เพียงผู้เดียวจาก Linus Torvalds ในบริบทของ GStreamer ใบอนุญาต LGPL และความเสถียรของ API/ABI ซีรีส์ 1.x ช่วยให้สามารถใช้งานได้ทั้งในผลิตภัณฑ์เชิงพาณิชย์และโอเพนซอร์สการปฏิบัติตามใบอนุญาตและเครื่องหมายการค้าจะช่วยป้องกันปัญหาในภายหลัง

หลังจากตรวจสอบ GStreamer 1.26.7 แล้ว สิ่งหนึ่งที่ชัดเจนคือ นี่คือการอัปเดตบำรุงรักษาครั้งสำคัญที่แก้ไขส่วนประกอบที่สำคัญโดยไม่รบกวนประสบการณ์การใช้งานของผู้ใช้ โดยให้ความสำคัญเป็นพิเศษกับความเสถียรของเครือข่าย คอนเทนเนอร์ และการเร่งความเร็ว GPU สำหรับโครงการส่วนใหญ่ที่ใช้เวอร์ชัน 1.26 การอัปเกรดจะส่งผลให้มีบั๊กน้อยลง มีไปป์ไลน์ที่สม่ำเสมอมากขึ้น และเป็นรากฐานที่ดีขึ้นสำหรับการพัฒนาในอนาคต ทั้งหมดนี้มาพร้อมกับความมั่นใจในเวอร์ชันที่เสถียรซึ่งเคารพ API/ABI และยังคงบำรุงรักษาระบบนิเวศของเครื่องมือและบิลด์ต่างๆ อย่างต่อเนื่องการเปิดตัวครั้งนี้ได้รับการออกแบบมาเพื่อช่วยให้คุณทำงานได้ดีขึ้นในวันนี้และก้าวไปได้ไกลขึ้นในวันพรุ่งนี้

จีสตรีมเมอร์ 1.26.6
บทความที่เกี่ยวข้อง:
GStreamer 1.26.6 มาพร้อมกับการปรับปรุงประสิทธิภาพ โคเดกใหม่ และการแก้ไขหลายรายการ

เพิ่มเป็นแหล่งข้อมูลที่ต้องการใน Google