GStreamer เป็นไลบรารีโอเพนซอร์สซึ่งเป็นซอฟต์แวร์ที่ทำหน้าที่เป็นกรอบมัลติมีเดียสำหรับระบบปฏิบัติการ GNU / Linux จำนวนมากรวมถึง Android, OpenBSD, Mac OS X, Microsoft Windows, และระบบปฏิบัติการ Symbian OS
คุณสมบัติได้อย่างรวดเร็ว
คุณลักษณะสำคัญ ได้แก่ ไลบรารีหลักที่ครอบคลุมสถาปัตยกรรมปลั๊กอินอัจฉริยะการขยายความครอบคลุมของเทคโนโลยีมัลติมีเดียรวมทั้งเครื่องมือการพัฒนาที่หลากหลายเพื่อให้คุณสามารถเพิ่มการสนับสนุน GStreamer ในแอปพลิเคชันของคุณได้อย่างง่ายดาย
แบ็กเอนด์มัลติมีเดียหลักสำหรับโครงการโอเพนซอร์สที่หลากหลายโผล่ออกมาจากแอปพลิเคชันการเล่นเสียงและวิดีโอเช่น Totem (วิดีโอ) จากสภาพแวดล้อมเดสก์ท็อป GNOME และโปรแกรมแก้ไขภาพและเสียงที่ซับซ้อน
นอกจากนี้ซอฟต์แวร์ยังมีประสิทธิภาพสูงและมีความหน่วงต่ำเนื่องจากมีเทคโนโลยีที่ส่งผ่านข้อมูลที่มีน้ำหนักเบามากรวมถึงการซิงโครไนซ์ระหว่างสตรีม (เสียง / วิดีโอ) ทั่วโลกผ่านการจับเวลา
ประกอบด้วยชุดตัวแปลงสัญญาณหลายชุด
โครงการประกอบด้วยแพคเกจต่างๆที่เรียกว่าชุดรหัสซึ่งสามารถติดตั้งได้อย่างง่ายดายจากการแจกจ่าย GNU / Linux จากที่เก็บซอฟต์แวร์เริ่มต้นทั้งหมดในครั้งเดียวหรือแยกกัน มีดังนี้: ปลั๊กอิน GStreamer, ปลั๊กอิน GStreamer ดี, ปลั๊กอิน GStreamer Bad และ GStreamer Plugins Ugly
GStreamer เป็นไลบรารีหลักที่มีขนาดกะทัดรัดซึ่งอนุญาตให้มีโครงสร้าง pipleline แบบสุ่มได้ด้วยโครงสร้างแบบกราฟิกซึ่งอิงจากไลบรารีไลบรารีวัตถุรุ่น GLib 2.0 ซึ่งสามารถใช้สำหรับการออกแบบและการรับมรดกแบบ object-oriented
ใช้เทคโนโลยี QoS (Quality of Service)
เพื่อรับประกันคุณภาพเสียงและวิดีโอที่ดีที่สุดภายใต้ภาระ CPU สูงโครงการใช้เทคโนโลยี QoS (Quality of Service) นอกจากนี้ยังมีการก่อสร้างท่อแบบมัลติเธรดที่โปร่งใสและไม่เป็นรูปธรรม
ด้วย API แบบเรียบง่ายมีเสถียรภาพและสะอาด (Application Programming Interface) นักพัฒนาซอฟต์แวร์สามารถผสานรวมแอ็พพลิเคชันของตนเข้าด้วยกันรวมทั้งสร้างปลั๊กอินที่จะขยายการทำงานที่เป็นค่าดีฟอลต์ นอกจากนี้ยังมีระบบดีบักเต็มรูปแบบที่มีคุณลักษณะ
บรรทัดด้านล่าง
strong> มีอะไรใหม่ ในรุ่นนี้:
- ปล่อยให้เป็น Bugfix
- มีการเปิดตัว Bugfix
- ข่าวประชาสัมพันธ์ฉบับนี้มีเฉพาะ bugfixes และควรปรับปรุงจาก 1.8.0.
- ข่าวประชาสัมพันธ์ฉบับนี้มีเฉพาะ bugfixes เท่านั้นและควรปลอดภัยด้วย
เพื่ออัพเดตจาก 1.8.0
- การถอดรหัสวิดีโอที่ไม่มีการคัดลอกที่เร่งความเร็วด้วยฮาร์ดแวร์ใน Android
- แหล่งจับภาพวิดีโอใหม่สำหรับ Android โดยใช้ android.hardware.Camera API
- สนับสนุนการเล่นย้อนกลับของ Windows Media (ASF / WMV / WMA)
- ระบบการติดตามใหม่ให้การสนับสนุนเครื่องมือแก้ไขข้อบกพร่องที่ซับซ้อนมากขึ้น
- ความสะดวกสบายในการเล่นระดับสูงของ GstPlayer ใหม่
- การสนับสนุนเบื้องต้นสำหรับ API Vulkan ใหม่ดูที่โพสต์บล็อกของ Matthew Waters สำหรับรายละเอียดเพิ่มเติม
- การสนับสนุน codec audio Opus ที่ดีขึ้น: สนับสนุนมากกว่าสองช่องทาง MPEG-TS demuxer / muxer สามารถจัดการ Opus ได้แล้ว; การเข้ารหัส / ถอดรหัส / เข้ารหัสด้วยตัวอย่างอย่างถูกต้องกับ Ogg, Matroska, ISOBMFF (Quicktime / MP4) และ MPEG-TS เป็นคอนเทนเนอร์ ฟังก์ชั่นยูทิลิตี้ตัวแปลงสัญญาณใหม่สำหรับหัวพิมพ์ Opus และตัวพิมพ์ใหญ่ในไลบรารี pbutils องค์ประกอบ encoder / decoder ของ Opus ถูกย้ายไปยัง gst-plugins-base (จาก -bad) และ opns RTP depayloader / payloader ให้เป็นของแข็ง
- โมดูล GStreamer VAAPI ได้รับการเผยแพร่และบำรุงรักษาเป็นส่วนหนึ่งของโครงการ GStreamer
- การสนับสนุนพร็อกซีเนื้อหาใน GStreamer Editing Services
- แก้ไขการถดถอยในไลบรารี GL ซึ่งทำให้ glimagesink ไม่สามารถใช้งานได้บน Android
- ล้นเลขคณิตล้วนในองค์ประกอบ queue2 ที่อาจทำให้เกิดการขัดจังหวะหรือทำให้เกิดข้อขัดข้องเนื่องจากตัวชี้แบบ NULL dereference
- แก้ไขข้อผิดพลาดในแบบอักษร AAC / ADTS ที่เกิดจากการอ่านหน่วยความจำมากกว่าที่มีอยู่
- หยุดการเพิกเฉยต่อข้อผิดพลาดในการเข้ารหัสในเครื่องเข้ารหัส VP8 / VP9
- ไม่ยอมรับ GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED ลดน้อยลงและไม่เคยใช้จริงมาก่อน
- ตรวจสอบเพื่อเก็บข้อมูลวิดีโอที่ถูกต้องใน GstVideoBufferPool
- แก้ไขตัวพิมพ์ใหญ่ใน rtspsrc เมื่อทำ SRTP ผ่าน TCP แบบทับซ้อนกัน
- แก้ไขข้อขัดข้องใน parser pcaper บนแพกเก็ตขนาด 0
- ล้างค่าสถานะ EOS ในแอปพลิเคชันเพื่อให้สามารถนำกลับมาใช้ใหม่หลังจากติดตั้ง EOS และล้าง
- ไม่สนใจการล้างข้อมูลสตรีมในสตรีมสตรีมมิ่งระหว่างสวิทช์สตรีมเพื่อแก้ไขปัญหาที่เกิดจากสิ่งนี้ใน gst-editing-services
- ไม่สนใจแท็กและข้อมูลเมตาอื่น ๆ ในไฟล์ WAV หลัง & quot; ข้อมูล & quot; ในโหมด PUSH เพื่อป้องกันไม่ให้ถูกแปลเป็นเสียง
- ใช้ colorimetry ได้อย่างถูกต้องใน v4l2 เฉพาะรูปแบบสี YUV
- ตั้งค่าบิตที่สงวนไว้ใน MPEG TS muxer ไปเป็น 1 วินาที
- แก้ไขการคำนวณความยาวเฟรม SBC
- แก้ไขผลลัพธ์ของ RTP JPEG2000 depayloader เพื่อให้มีเฟรมต่อบัฟเฟอร์และเกิดข้อผิดพลาดในตัวถอดรหัส OpenJPEG บนเฟรมไม่สมบูรณ์
- อัปเดตสแนปชอต ffmpeg ใน gst-libav เป็น 2.8.5
- การแก้ปัญหาการรั่วไหลของหน่วยความจำใน scaletempo, วิดีโอ RTP depayloader วิดีโอดิบและในบทที่เกี่ยวข้องกับตัวกรองเสียง / วิดีโอ
- การแก้ไขข้อผิดพลาดในการจัดการปลั๊กอินเสียง OSX
- การแก้ไขข้อบกพร่องและการเพิ่มคำอธิบายประกอบเพิ่มเติมเกี่ยวกับคำจำกัดความ
- คำเตือนของคอมไพเลอร์สำหรับคอมไพเลอร์ clang ล่าสุด
- เกิดข้อขัดข้องในการเข้ารหัสไฟล์ gst-libav
- เพิ่มเติม DASH-IF กระแสการทดสอบกำลังทำงานอยู่
- Live DASH, HLS และ MS SmoothStreaming ทำงานได้ดีขึ้นและมีการแก้ไขอื่น ๆ สำหรับโปรโตคอลสตรีมมิ่งแบบปรับตัว
- การเล่นย้อนกลับทำงานร่วมกับ scaletempo เพื่อรักษาระดับเสียง
- รายงานเวลาสตรีมที่ถูกต้องสำหรับการใช้งานที่เป็นลบ
- การตรวจสอบความถูกต้องของแพคเก็ต SRTP ระหว่างการถอดรหัสจะไม่ปฏิเสธแพคเก็ตที่ถูกต้องอีกต่อไป
- การแก้ไขสำหรับตัวรวบรวมเสียงและตัวรวบรวมเพื่อเริ่มต้นการผลิตในเวลาที่เหมาะสมและเช่น ไม่แสดงความเงียบมากมายในตอนเริ่มต้น
- ภาพรวม ffmpeg ภายในของ gst-libav ได้รับการอัปเดตเป็น 2.8.1
- cerbero สนับสนุน Mac OS X 10.11 (El Capitan)
- การรั่วไหลของหน่วยความจำต่างๆได้รับการแก้ไขรวมถึงการรั่วไหลที่สำคัญใน playbin, playsink และ decodebin
- คำอธิบายประกอบคำอธิบายประกอบเกี่ยวกับคำจำกัดความ GObject-Introspection ต่าง ๆ สำหรับ bindings
- และอื่น ๆ อีกมากมาย
- การสนับสนุน Stereoscopic 3D และ multiview video
- API โหมด Trick สำหรับคีย์เฟรมเฉพาะการเล่นย้อนกลับอย่างรวดเร็ว / ย้อนกลับอย่างรวดเร็ว ฯลฯ
- ปรับปรุง DTS (การถอดรหัสเวลาถอดรหัส) กับ DTS (DTS ) ที่ดีขึ้น
- API GstVideoConverter ใหม่สำหรับการแปลงเฟรมวิดีโอดิบที่มีประสิทธิภาพและถูกต้องมากขึ้นระหว่างรูปแบบที่สนับสนุนทั้งหมดด้วยการปรับเทียบใหม่
- v4l2src สนับสนุนการเจรจาต่อรองใหม่
- v4l2transform สามารถปรับขนาดได้
- ตอนนี้องค์ประกอบ V4L2 รายงาน Colorimetry ถูกต้อง
- บันทึกได้ง่ายขึ้น MP4, Matroska, Ogg, MPEG-TS: การปรับปรุง splitmuxsink และ multifilesink ใหม่
- API การเข้ารหัสสัญญาณ API และการเข้ารหัสร่วม (CENC) สำหรับ DASH / MP4
- มีการปรับปรุงการปรับสตรีมมิ่งแบบปรับเปลี่ยนได้ (DASH, HLS และ MSS)
- นาฬิกาไคลเอ็นต์เครือข่าย PTP และ NTP ใหม่และความเสถียรในการติดตามนาฬิกาที่ดีกว่า
- ซ้อนทับคำบรรยายแบบข้อความคุณภาพสูงที่ความละเอียดในการแสดงผลด้วย glimagesink หรือ gtkglsink
- การสนับสนุน RECORD สำหรับเซิร์ฟเวอร์ GStreamer RTSP
- Retransmissions (RTX) ในเซิร์ฟเวอร์และไคลเอ็นต์ RTSP
- RTSP หาการสนับสนุนในไคลเอ็นต์และเซิร์ฟเวอร์ได้รับการแก้ไขแล้ว
- การปรับปรุงการจัดตารางเวลา RTCP และการสนับสนุน RTCP ขนาดที่ลดลง
- MP4 / MOV muxer ได้รับแท็กใหม่ "strong & quot; โหมดการทำงานซึ่งพยายามเก็บไฟล์เอาต์พุตไว้ในสถานะที่ถูกต้องตลอดเวลา
- มีการปรับปรุงการผสมผสานระหว่างผู้ให้บริการการรวบรวมสด audiomixer และ compositor มากขึ้น
- ผู้จัดเรียงตอนนี้ยังสนับสนุนการรีเฟรชสตรีมอินพุททันที
- องค์ประกอบการเปลี่ยนเสียงใหม่ที่มีการซิงโครไนซ์อินพุทที่ถูกต้องและการสนับสนุนการป้อนข้อมูลแบบสด
- Blackmagic Design DeckLink จับภาพและสนับสนุนการ์ดเล่นได้เขียนใหม่ตั้งแต่เริ่มต้น สนับสนุน 2k / 4k; โหมดการตรวจจับความรู้สึก
- การสนับสนุนเมทาดาทา KLV ใน RTP และ MPEG-TS
- ตัวเข้ารหัสวิดีโอ H.265 (x265), ตัวถอดรหัส (libav, libde265) และตัวโหลด RTP และเครื่องรับฝากข้อความ
- ปลั๊กอิน DTLS ใหม่และการสนับสนุน SRTP / DTLS
- การสนับสนุน OpenGL3 บริบทและการขยายเนื้อหาตามบริบทวิดีโอ 3D การโอน / การแปลงการแยกย่อยการผสมคำบรรยาย
- วิดีโอคอนโซลวิดีโอ QML ที่ใช้ OpenGL, ซ็อกเก็ตวิดีโอ Gtk GL, วิดีโอ CoreAnimation CAOpenGLLayerSink
- gst-libav เปลี่ยนเป็น ffmpeg ในฐานะผู้ให้บริการ libav ได้รับการสนับสนุนวิดีโอ 3D / multiview, โหมดลวงและ CAVS codec
- API GstHarness สำหรับการทดสอบหน่วย
- gst-editing-services มีอินเทอร์เฟซ ges-launch-1.0 ใหม่ที่สมบูรณ์แบบสนับสนุนการผสมและการผสมผสานเข้ากับการตรวจสอบความถูกต้องของ gst
- gnonlin ได้รับการคัดค้านจาก nle (Non Linear Engine) ใน gst-editing-services
- gst-validate มีระบบปลั๊กอินตัวใหม่ testuite เริ่มต้นที่กว้างขวางสนับสนุนการรันทดสอบพร้อมกันและการสนับสนุน valgrind
- cerbero build tool สำหรับแพคเกจไบนารี SDK จะได้รับคำสั่ง 'bundle-source' ใหม่
- การปรับปรุงต่างๆสำหรับ Android, iOS, OS X และการสนับสนุนแพลตฟอร์ม Windows
- 740502: เพิ่มคุณสมบัติแบบสัมบูรณ์ลงใน GstDirectControlBinding
- 740575: การแก้ไข DTS ใน GStreamer
- 745366: concat: ส่งต่อ FLUSH_START / FLUSH_STOP เหตุการณ์
- 746949: concat: เพิ่มคุณสมบัติ pad ที่ใช้งานอยู่
- 750027: concat: ตั้งค่าเริ่มต้นเริ่มต้นใหม่เป็น 0 หลังจากล้างข้อมูลแล้ว
- 750033: basetransform - อนุญาตให้เทียบ / แยกส่วนของบัฟเฟอร์
- 750039: เก็บบัฟเฟอร์ที่มีหน่วยความจำที่ใช้ร่วมกันอยู่
- 750319: หน่วยความจำ: subclasses ไม่ทราบว่ามีธงแผนที่ใน unmap
- 750530: ptp: FreeBSD, DragonFly และ BSD อื่น ๆ ไม่มี ifreq.ifw_hwaddr
- 750574: netclientclock: ตั้งนาฬิกาให้เป็นนาฬิกาห่อหุ้มรอบนาฬิกาภายใน
- 750761: inputselector: ใช้การเลือกแทร็กระยะเวลาต่างๆ
- 750782: pipeline: เพิ่มคุณสมบัติ gst_pipeline_set_latency (), getter และ GObject
- 751026: basesink: จัดการรายการบัฟเฟอร์อย่างถูกต้องสำหรับคุณสมบัติตัวอย่างล่าสุด
- 751047: concat: เพิ่มคุณสมบัติฐานปรับเปลี่ยน
- 751107: concat: เมื่อปล่อยแป้นพิมพ์ให้ส่ง EOS อย่างเหมาะสม
- 751235: utils: get_compatible_pad ไม่เคารพตัวกรองอย่างสมบูรณ์
- 751420: basesink: จำเป็นต้องคัดลอกรายการบัฟเฟอร์ล่าสุดในท่อระบายน้ำ
- แกนหลักของ GStreamer:
- 736969: queue2: dead lock เมื่อบัฟเฟอร์
- 738092: basesink: แคลมป์รายงานตำแหน่งตามทิศทาง
- 740001: งาน: เงื่อนไขการแข่งเมื่อหยุดชั่วคราวและหยุด
- ฐานข้อมูลโปรแกรมเสริม GStreamer:
- 741420: พูลวิดีโอ: ควรอัปเดตขนาดในการกำหนดค่าหลังจากใช้การจัดตำแหน่ง
- 715050: เพิ่มตัวพิมพ์เสียงสำหรับเสียง / x- เสียง
- 739544: tcp: เพิ่มการทดสอบและแก้ไขปัญหาหน่วยความจำรั่วในองค์ประกอบ tcp
- 739840: typefind ควรรู้จัก Apple Core Audio Format (CAF)
- 740556: videodecoder: อย่าบ่นเมื่อ DTS! = PTS บนคีย์เฟรม
- 740675: playink: เล่นต่อให้ตั้งค่าคุณสมบัติปิดเสียง
- 740730: rtspconnection: อย่านำแหล่งข้อมูลเด็กออกถ้าแหล่งข้อมูลระดับบนสุดถูกทำลายแล้ว
- 740853: audiodecoder: ผลักดันเหตุการณ์ที่รอดำเนินการก่อนที่จะส่ง EOS
- 740952: alsa: แก้ไข NetBSD
- 741045: เสียงทุ้มสามารถสูญเสียความแม่นยำของเวลาในบางกรณีได้
- 741198: playbin: รั่วไหล GstPads
- ปลั๊กอิน GStreamer ดี:
- 711437: apev2mux: ไม่ควรใส่แท็ก APEv2 ที่จุดเริ่มต้นของไฟล์ WavPack
- 726194: v4l2src ไม่สามารถรับมือได้ดีเมื่อการ์ดจับภาพบางครั้งถูกทับซ้อนกันบางครั้งก็มีความละเอียดที่ความละเอียดเดียวกัน
- 736397: flvdemux: การซิงค์ซ้ำแบบต่อสตรีมทำให้ A / V-desyncs
- 737603: v4l2bufferpool: ตั้งค่าสถานะ interlace เมื่อเขตข้อมูลเป็น V4L2_FIELD_INTERLACED
- 739476: vpx: ไม่สามารถสร้างการต่อต้าน libvpx จาก git
- 739722: matroskamux: ด้ายปลอดภัยลงทะเบียน GstMatroskamuxPad
- 739789: v4l2allocator: แก้ไขข้อความแสดงข้อผิดพลาดหากมีการใช้งาน allocator อยู่แล้ว
- 739791: v4l2bufferpool: เลิกใช้พูลเมื่อ v4l2_allocator_new () ล้มเหลว
- 739792: v4l2allocator: แก้ไขต้นแบบ gst_v4l2_allocator_stop
- 739996: videomixer: ลดจำนวนเฟรมหากแหล่งที่มาใดมีอยู่จริง
- 740040: v4l2src: ล้มเหลวเมื่อมี V4L2_BUF_FLAG_ERROR
- 740392: rtspsrc: การถอดรหัสคีย์หลักของ mikey base64
- 740407: ข้อ จำกัด qtmux ของการจับภาพไปที่ 4096x4096
- 740633: v4l2src: โหมด RW io เสียหาย
- 740636: v4l2src: ไม่มีการตั้งค่าเฟรมเรย์ของไดรเวอร์เสมอ
- 740671: aspectratiocrop: ต้องรีเซ็ตการปลูกพืชเมื่อมีการเปลี่ยนแปลงขนาดวิดีโอ
- 740905: v4l2: ยังมี linux / videodev.h 1 ตัวอยู่
- 741271: rtph264pay: บัฟเฟอร์รั่วไหลใน H.264 payloader เมื่อใช้ SPS / PPS
- 741381: rtph264pay: เงื่อนไขการแข่งรถอาจทำให้เกิดความผิดพลาดเมื่อไปจาก PAUSED- & gt; พร้อม
- 741407: deinterlace: ใน query_caps จะแสดงเฉพาะรูปแบบที่ได้รับการสนับสนุนหากกรองเป็นแบบ interlaced
- 737579: v4l2object: ตั้งค่าสีสำหรับอุปกรณ์ส่งออก
- 739754: v4l2bufferpool: ควรตรวจสอบว่าทุกความทรงจำสามารถเขียนได้ก่อนเข้าคิวกลับ
- ปลั๊กอิน GStreamer Bad:
- 722764: rawparse: fix ค้นหาการจัดการ Query
- 729768: mpegtsbase: เพิ่มขีด จำกัด ในการอ่านไบต์เริ่มแรกเพื่อหา PCR
- 739152: gl / โกโก้: สร้างด้วย GNUStep ล้มเหลว
- 740191: dvbbasesink: segfaults บน 32 บิต (rpi)
- 740201: gl / cocoa: ไม่ได้รวบรวมข้อมูลบน OSX & lt; 10.7 อีกต่อไป
- 740451: srtpdec: leaks rtp / rtcp sink events
- 740953: configure.ac: ไม่สามารถทดสอบได้ (1) ตัวดำเนินการเปรียบเทียบ
- 741321: opusparse: แก้ไขการแยกส่วนหัวส่วน esp ของการเข้ารหัสของ libopus
- เซิร์ฟเวอร์ GStreamer RTSP:
- 739481: rtsp-stream: รั่ว srtp decoder เมื่อออกจาก rtpbin
- ข้อบกพร่องที่แก้ไขในเวอร์ชัน 1.4.5:
- 737498: multiqueue: ไม่ได้คำนึงถึงเหตุการณ์ GAP เมื่อคำนวณระดับปัจจุบัน
- 737794: multiqueue: การหยุดชะงักหากคิวล้นไปกับเหตุการณ์ต่อเนื่อง
- 737999: ระบบล็อก: ปัญหาเรื่องสถานะการป้อนข้อมูลแบบหลายเธรด
- 738198: multiqueue: ไม่เรียกใช้สตรีมที่ไม่ได้เชื่อมโยงกับ EOS
- ชุดโปรแกรมออกรุ่น 1.4 มีการเพิ่มคุณสมบัติใหม่ไว้ด้านบน ของชุดข้อมูล 1.2 ชุดและเป็นส่วนหนึ่งของชุดโปรแกรมไลบรารีมัลติมีเดีย GStreamer ซึ่งมีคุณลักษณะใหม่ API และ ABI-stable 1.x รุ่น bugfix 1.4.x มีเฉพาะ bugfixes ที่สำคัญเมื่อเทียบกับ 1.4.0
- ทีมงาน GStreamer ยินดีที่จะประกาศรายชื่อผู้จัดจำหน่ายรุ่นที่วางจำหน่ายชุดที่สองให้เป็นรุ่นที่สอง รุ่นที่วางจำหน่าย 1.4 จะมีการเพิ่มคุณลักษณะใหม่ ๆ ที่ด้านบนของชุดข้อมูล 1.0 และ 1.2 และเป็นส่วนหนึ่งของชุดรูปแบบมัลติมีเดียของ GStreamer รุ่น API และ ABI ที่มีเสถียรภาพ 1.x
- ผู้สมัครที่เผยแพร่นี้หวังว่าจะได้รับการเผยแพร่ตามเวลา 1.4.0 โดยไม่ต้องมีการถดถอยมากขึ้นหรือมีการตรวจพบปัญหาที่ใหญ่ขึ้นและมีการทดสอบผู้สมัครเวอร์ชันเต็มมากพอสมควร API ใหม่ที่เพิ่มในชุดวางจำหน่าย 1.3 จะไม่เปลี่ยนแปลงอีกต่อไป ณ จุดนี้
- API ใหม่:
- GstMessageType ได้เพิ่ม GST_MESSAGE_EXTENDED แล้ว ทุกประเภทก่อนหน้านี้สามารถใช้ร่วมกันเป็นประเภทธงได้เช่นเดียวกับก่อน แต่จากข้อความดังกล่าวเป็นต้นไปนับเป็นประเภทที่เพิ่มขึ้นทีละน้อยเท่านั้น นี่เป็นสิ่งที่จำเป็นเพื่อให้สามารถเพิ่มประเภทข้อความได้มากขึ้น ใน 2.0 GstMessageType จะกลายเป็น enum และไม่ใช่ประเภทของ flags อีกต่อไป
- GstDeviceMonitor สำหรับการตรวจสอบอุปกรณ์เช่น เพื่อแสดงรายการอุปกรณ์เสียงหรืออุปกรณ์จับภาพทั้งหมด นี่คือการแทนที่ GstPropertyProbe จาก 0.10
- เหตุการณ์จะสะสมเวลาทำงานขณะนี้ขณะเดินทางผ่านแผ่นรองที่กำหนดโดยฟังก์ชัน gst_pad_set_offset () ซึ่งจะช่วยชดเชยเหตุการณ์เช่นนี้ในเหตุการณ์ QOS
- GstBuffer มีแฟล็กใหม่ & quot; tag-memory & quot; ที่ตั้งโดยอัตโนมัติเมื่อมีการเพิ่มหรือลบหน่วยความจำไปยังบัฟเฟอร์ อนุญาตให้บัฟเฟอร์พร็อพเพอร์ตี้ตรวจพบว่าสามารถรีไซเคิลบัฟเฟอร์หรือต้องรีเซ็ตได้ก่อน
- GstToc มี API ใหม่เพื่อทำเครื่องหมาย GstTocEntries เป็นลูป
- ข้อผิดพลาดเกี่ยวกับทรัพยากรที่ไม่ได้รับอนุญาตได้รับการกำหนดให้แจ้งแอ็พพลิเคชันที่เข้าถึงทรัพยากรล้มเหลวเนื่องจากไม่มีการให้สิทธิ์และแยกความแตกต่างจากกรณีอื่น ๆ การเปลี่ยนแปลงนี้มีอยู่ใน 1.2.4 แล้ว
- GstPad มีแฟล็กใหม่ & quot; accept-intersect & quot ;, ซึ่งจะช่วยให้ตัวจัดการการค้นหาแบบ ACCEPT_CAPS ดีฟอลต์ทำจุดตัดกันแทนการตรวจสอบเซ็ตย่อย นี่เป็นเรื่องที่น่าสนใจสำหรับองค์ประกอบของตัวจัดแบ่งข้อมูลที่สามารถจัดการตัวพิมพ์ใหญ่ที่ไม่สมบูรณ์
- GstCollectPads ได้สนับสนุนการล้างข้อมูลและตัวจัดการค่าเริ่มต้นสำหรับเหตุการณ์ SEEK ในขณะนี้
- ออบเจ็กต์ผู้ช่วยเหลือ GstFlowAggregator แบบใหม่ที่ช่วยลดการจัดการการไหลเวียนของข้อมูลในองค์ประกอบที่มีแผ่นข้อมูลหลาย ๆ นอกจากนี้ GstPad ยังจัดเก็บการรับส่งข้อมูลล่าสุดและจัดเตรียม API เพื่อดึงข้อมูลไว้
- GstSegment มี API ใหม่เพื่อชดเชยเวลาในการทำงานโดยใช้ค่าเฉพาะเจาะจงซึ่งใช้ใน GstPad เพื่อให้มีการบวกและลบใน gst_pad_set_offset () ในทุกสถานการณ์
- การสนับสนุน h265 / HEVC และ VP8 ถูกเพิ่มลงในไลบรารีตัวแปลงสัญญาณและไลบรารีตัวแปลงสัญญาณและถูกรวมไว้ในองค์ประกอบต่างๆ
- API สำหรับการปรับการตรวจสอบความถูกต้องของ TLS ของการเชื่อมต่อ RTSP ได้ถูกเพิ่มเรียบร้อยแล้ว
- ไลบรารี RTSP และ SDP มีการสนับสนุน MIKEY (RFC 3830) แล้วและมี API เพื่อแยกแยะระหว่างโปรไฟล์ RTSP ต่างๆ
- API เพื่อเข้าถึงข้อมูลและสถิติ RTP เวลา
- การสนับสนุนสตรีมเสริมได้รับการเพิ่มลงใน rtpbin
- สนับสนุนรูปแบบวิดีโอที่มีการปูกระเบื้องแล้ว
- GstVideoDecoder และ GstAudioDecoder มี API เพื่อช่วยในการรวบรวมเหตุการณ์แท็กและรวมป้ายกำกับที่กำหนดเองไว้ในนั้นอย่างสม่ำเสมอ
- GstBufferPool มีการสนับสนุนการล้างข้อมูลแล้ว
- playbin / playsink สนับสนุนแอปพลิเคชันที่มีตัวกรองเสียงและวิดีโอ
- GstDiscoverer มี API แบบใหม่และแบบง่ายเพื่อดูรายละเอียดเกี่ยวกับปลั๊กอินและข้อมูลที่ขาดหายไปเพื่อส่งผ่านโปรแกรมติดตั้งปลั๊กอิน
- ไลบรารี GL ถูกผสานจาก gst-plugins-gl ไปยัง gst-plugins-bad ทำให้เป็นโครงสร้างพื้นฐานทั่วไปในการจัดการกับ GL ภายในท่อ GStreamer และปลั๊กอินที่มีองค์ประกอบบางอย่างใช้โดยเฉพาะวิดีโอซิงค์ ปัจจุบันแพลตฟอร์มที่สนับสนุน ได้แก่ Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) และแพลตฟอร์ม X11, Wayland และ EGL ทั่วไป นี่แทนที่ eglglessink และควรจะเปลี่ยน osxvideosink ด้วย
- คลาสพื้นฐาน GstAggregator ใหม่ใน gst-plugins-bad นี้ควรจะแทนที่ GstCollectPads ในอนาคตและแก้ไขข้อบกพร่องที่รู้จักกันดีใน API ของ ร่วมกับคลาสพื้นฐานองค์ประกอบบางอย่างมีให้แล้วเช่น videomixer (compositor)
- การเปลี่ยนแปลงที่สำคัญ:
- ปลั๊กอินและองค์ประกอบใหม่:
- องค์ประกอบ v4l2videodec สำหรับการเข้าถึงตัวแปลงสัญญาณฮาร์ดแวร์บนแพลตฟอร์มที่ทำให้สามารถเข้าถึงได้ผ่าน V4L2 เช่น Samsung Exynos นี้มาพร้อมกับ refactoring ที่สำคัญขององค์ประกอบ V4L2 ที่มีอยู่และโครงสร้างพื้นฐานที่สอดคล้องกัน องค์ประกอบ v4l2videodec จะแทนที่องค์ประกอบ mfcdec
- องค์ประกอบ downloadbuffer ใหม่ซึ่งแทนที่คุณลักษณะการเก็บบัฟเฟอร์การดาวน์โหลดของ queue2 เมื่อเทียบกับโค้ด queue2 มันง่ายกว่ามากสำหรับกรณีที่ใช้งานครั้งเดียวนี้ คุณลักษณะใหม่ที่น่าสนใจคือการดาวน์โหลดช่องว่างในส่วนสตรีมที่ดาวน์โหลดแล้วเมื่อไม่มีอะไรให้ดาวน์โหลด ตอนนี้ใช้ Playbin ขณะที่มีการเปิดใช้งาน buffering การดาวน์โหลด
- องค์ประกอบ rtpstreampay และ rtpstreamdepay สำหรับการส่งแพ็คเก็ต RTP ผ่าน API สตรีม (เช่น TCP) ตาม RFC 4571
- องค์ประกอบ rtprtx สำหรับการใช้งาน retransmissions ที่สอดคล้องตามมาตรฐานซึ่งรวมอยู่ในปลั๊กอิน rtpmanager
- องค์ประกอบ audiomixer ที่ผสมผสานสตรีมเสียงหลาย ๆ เข้าด้วยกันในขณะเดียวกันก็รักษาข้อมูลให้ตรงกัน นี่เป็นการวางแผนที่จะเปลี่ยนองค์ประกอบ adder
- ปลั๊กอิน OpenNI2 สำหรับกล้อง 3D เช่นกล้อง Kinect
- ปลั๊กอิน OpenEXR สำหรับถอดรหัสภาพ EXR แบบไดนามิกสูง
- curlsshsink และ curlsftpsink เพื่อเขียนไฟล์ผ่าน SSH / SFTP
- videoignal, ivfparse และปลั๊กอิน sndfile ย้ายจาก 0.10.
- avfvideosrc, vtdec และองค์ประกอบอื่น ๆ ถูกย้ายจาก 0.10 และพร้อมใช้งานบน OS X และ iOS แล้ว
- การเปลี่ยนแปลงอื่น ๆ :
- gst-libav ใช้ libav 10.1 และได้รับการสนับสนุนสำหรับ H265 / HEVC
- การสนับสนุนตัวแปลงสัญญาณฮาร์ดแวร์และประเภทหน่วยความจำพิเศษได้รับการปรับปรุงให้ดียิ่งขึ้นด้วยการแก้ไขจุดบกพร่องและการเพิ่มคุณลักษณะในปลั๊กอินและคลาสพื้นฐานต่างๆ
- ข้อผิดพลาดต่างๆและการปรับปรุงบัฟเฟอร์ในองค์ประกอบ queue2 และ multiqueue
- dvbsrc สนับสนุนกลไกการจัดส่งเพิ่มเติมและคุณลักษณะอื่น ๆ ในขณะนี้รวมถึงการสนับสนุน DVB S2 และ T2
- ไลบรารี MPEGTS มีการสนับสนุนคำอธิบายเพิ่มเติมอีกมากมาย
- การปรับปรุงหลัก ๆ ของ tsdemux และ tsparse โดยเฉพาะเวลาและการค้นหาที่เกี่ยวข้อง
- souphttpsrc มีการสนับสนุนการเชื่อมต่อแบบ keep-alive การบีบอัดจำนวนการลองใหม่และกำหนดค่าสำหรับการตรวจสอบใบรับรอง SSL
- hlsdemux ได้รับการจัดโครงสร้างที่สำคัญและทำงานได้อย่างน่าเชื่อถือมากขึ้นในขณะนี้และสนับสนุนคุณลักษณะเพิ่มเติมของ HLS เช่นโหมดหลอกลวง ขณะนี้ยังมีการส่งต่อชิ้นส่วนไปยังปลายน้ำขณะที่กำลังดาวน์โหลดอยู่แทนการรอให้แต่ละส่วนเสร็จสิ้น
- dashdemux และ mssdemux กำลังผลักดันให้ส่วนต่างๆของสตรีทดาวน์อยู่ในขณะที่ดาวน์โหลดแทนที่จะรอให้แต่ละส่วนเสร็จสิ้น
- วิดีโอflipสามารถพลิกโดยอัตโนมัติตามแท็กปฐมภูมิ
- openjpeg สนับสนุน OpenJPEG2 API
- waylandsink ได้รับการปรับแต่งแล้วและน่าจะเป็นประโยชน์มากในขณะนี้ นอกจากนี้ยังมีไลบรารีขนาดเล็กซึ่งน่าจะเป็นการนำออกในอนาคตและจะทำให้เกิดส่วนขยายไปยังอินเทอร์เฟซ GstVideoOverlay
- gst-rtsp-server สนับสนุน SRTP และ MIKEY ในขณะนี้
- เครื่องมือเข้ารหัส gst-libav กำลังเจรจาเกี่ยวกับการตั้งค่าโปรไฟล์ / ระดับใด ๆ กับส่วนท้ายของสตรีมมิงผ่าน
- มีการแก้ไขคำเตือนเกี่ยวกับความครอบคลุมมากมายทั่วทุกแห่ง
- ปรับปรุงประสิทธิภาพการเจรจาต่อรองที่เกี่ยวข้อง
- รายงานข้อผิดพลาด 800 รายการและแก้ไขข้อบกพร่องอื่น ๆ อีกมากมายและการปรับปรุงอื่น ๆ ที่ไม่มีรายงานข้อบกพร่อง
- สิ่งที่ต้องระวัง:
- องค์ประกอบ eglglessink ถูกนำออกและแทนที่ด้วยองค์ประกอบ glimagesink
- องค์ประกอบ mfcdec ถูกนำออกและแทนที่ด้วย v4l2videodec
- osxvideosink มีให้บริการเฉพาะใน OS X 10.6 หรือใหม่กว่า
- ใน Android namespace ของคลาส Java ที่สร้างขึ้นโดยอัตโนมัติสำหรับการเริ่มต้น GStreamer ได้เปลี่ยนจาก com.gstreamer ไปที่ org.freedesktop.gstreamer เพื่อป้องกันการเกิดมลภาวะใน namespace
- ใน iOS คุณต้องอัปเดต gst_ios_init.h และ gst_ios_init.m ในโครงการของคุณจากโครงการที่มีอยู่ในไบนารีหากคุณใช้โมดูล GnuTLS GIO มาก่อน กลไกการโหลดมีการเปลี่ยนแปลงเล็กน้อย
- แกนหลักของ GStreamer:
- 724373: Queue2 จะตัดทอนไฟล์ชั่วคราวเมื่อวางท่อ
- 725517: เอกสาร: แก้ไขการพิมพ์ผิดและลบหมายเหตุที่ไม่รู้จัก
- 725809: ghostpad: เกิดข้อผิดพลาดเนื่องจากการอ้างอิงที่ขาดหายไปบนแผ่นเป้าหมาย
- 727253: parse: ไฟล์ที่สร้างขึ้นโดย Bison ที่รวมอยู่ใน tarball ที่ปล่อยออกมาทำให้เกิดข้อผิดพลาดในการคอมไพล์
- 727883: baseparse: การรั่วไหลของหน่วยความจำของเฟรมคิว
- ฐานข้อมูลโปรแกรมเสริม GStreamer:
- 693263: การพิมพ์แบบอักษร: ตรวจพบ ES วิดีโอ MPEG-2 เป็น H.263
- 683504: playink: การหยุดชะงักเมื่อปิดใช้งานคำบรรยายและการปิดใช้งานคำบรรยายใต้ภาพไม่ถูกต้อง
- 700770: typefinding: ไฟล์ mp3 ถูกตรวจพบว่าผิดพลาดเป็นวิดีโอ h263
- 723597: tagdemux: ค้นหาเหตุการณ์ใน GST_FORMAT_TIME จะถูกแปลงเป็น BYTES ไปเป็นช่วงต้น
- 724633: oggdemux: ละเว้นหน้าสุดท้ายในโหมดดัน
- 724720: การเชื่อมต่อ rtspconnection: ไม่สามารถยกเลิกการเชื่อมต่อ / เชื่อมต่อ read read ในโหมด tunneled
- 725313: rtspconnection: การเรียกกลับแบบ closed () ไม่เคยถูกเรียกใช้ในโหมด tunneled
- 725644: typefinding: ไฟล์ MP3 ถูกตรวจพบว่าผิดพลาดเป็น H.263
- 726642: rtspconnection: หน่วยความจำรั่วไหลเล็กน้อยในการจัดการข้อผิดพลาด
- 727025: adder: ลองใช้ตรรกะเพื่อตรวจสอบว่าต้องส่ง eos หรือไม่
- ปลั๊กอิน GStreamer ดี:
- 725104: qtdemux: การเล่นย้อนกลับและความล้มเหลวในการเปลี่ยนสตรีมวิดีโอ
- 722185: souphttpsrc: racy & quot; เซิร์ฟเวอร์ไม่สนับสนุนการค้นหา & quot; ข้อผิดพลาด
- 724619: ล้มเหลวเมื่ออ่านชื่ออุปกรณ์ของพัลซิงค์
- 725124: rtspsrc: แก้ไขการหยุดชะงักเมื่อสร้างงานไม่สำเร็จ
- 725712: rtpsession: เกิดข้อขัดข้องเมื่อ RTCP FIR ได้รับกับ SSRC ที่ไม่รู้จัก
- 725860: v4l2src: แก้ไขโดยใช้ v4l2src ด้วยอุปกรณ์จับภาพวิดีโอ Hauppauge HDPVR
- 726777: rtpjpegpay: โหลดขนาดไม่ถูกต้อง
- 728017: [regression] ไม่สามารถส่ง eos event จาก gstrtpjitterbuffer ได้
- 728041: rtph264depay: ระบุเอาต์พุตบัฟเฟอร์ทั้งหมดเป็นหน่วยเดลต้าเมื่อส่งออกรูปแบบ avc
- 724638: aacparse: ขาดความยืดหยุ่นเมื่อไม่มีกรอบเสียง
- 727329: ตรวจสอบ: souphttpsrc: ชื่อประเภทที่ไม่รู้จัก 'SoupStatus'
- ปลั๊กอิน GStreamer Bad:
- 724013: ไม่ใช้ฮาร์ดโค้ด / usr / share / sounds / sf2 ใน fluiddec
- 725137: hlsdemux: ไม่สามารถคำนวณ URL สื่อเพลย์ลิสต์ได้หากมีพารามิเตอร์การค้นหา
- 725140: hlsdemux: ไม่สามารถแยกวิเคราะห์ CODECS และ RESOLUTION ได้อย่างถูกต้อง
- ปลั๊กอิน gStreamer libav:
- 727779: avdec_h264, matroskademux: เกิดข้อขัดข้องขณะค้นหา (1.2 การถดถอย)
- คุณลักษณะด้านบนของชุดข้อมูล 1.0 และเป็นส่วนหนึ่งของชุดโปรแกรมไลบรารีมัลติมีเดีย GStreamer ที่มีคุณลักษณะใหม่ ๆ ของ API และ ABI 1.x <
มีอะไรใหม่ ในเวอร์ชัน 1.2.0:
- API ใหม่:
- GstContext เจรจาต่อรอง / แชร์ / ประกาศเพื่อแชร์บริบททั่วไประหว่างองค์ประกอบต่างๆเช่น ที่จับจอแสดงผล
- เมจิกแปลงข้อมูล GL texture เพื่อให้สามารถแปลงรูปแบบบัฟเฟอร์ต่างๆให้เป็นเนื้อ OpenGL
- GstCapsFeatures เป็นส่วนขยายสำหรับ GstCaps เพื่อให้สามารถเจรจาต่อหน่วยความจำหรือข้อกำหนดเมตาระหว่างองค์ประกอบต่างๆได้
- แฟล็ก GstMemory สำหรับหน่วยความจำที่ต่อเนื่องและไม่สามารถจับคู่ได้
- เหตุการณ์เริ่มต้นเริ่มต้นมีธงที่ไม่จำเป็นในขณะนี้เช่น สำหรับการส่งสัญญาณเบาบาง
- สตรีมเริ่มต้นจะมีฟิลด์ id-id ที่ไม่บังคับในขณะนี้เพื่อส่งสัญญาณให้สตรีมทั้งหมดที่ควรเล่นด้วยกัน
- จัดสรรไลบรารีใน gst-plugins-base ขณะนี้มีเฉพาะการสนับสนุนหน่วยความจำทั่วไปของ dmabuf เท่านั้น
- ไลบรารีของ insertbin เพื่อให้สามารถจัดการกับท่อที่เชื่อมต่อแบบไดนามิกได้ง่ายขึ้น (ใน - เสียสำหรับตอนนี้)
- ห้องสมุดผู้ช่วยเหลือ EGL (ในตอนนี้ - เสีย)
- ไลบรารีโครงสร้างข้อมูล MPEG-TS (ใน - เสียสำหรับตอนนี้)
- New GstVideoRegionOfInterestMeta เพื่ออธิบายพื้นที่ที่สนใจในเฟรมวิดีโอ
- GstVideoDecoder / Encoder มีใหม่ :: flush () vfunc เพื่อแทนที่ ill-defined :: reset () vfunc.
- แบบสอบถาม URI ทำให้สามารถสอบถาม URI ที่เปลี่ยนเส้นทางได้ตอนนี้
- การเปลี่ยนแปลงที่สำคัญ:
- เครื่องมือใหม่: gst-play-1.0 ใน gst-plugins-base สำหรับการทดสอบการเล่นขั้นพื้นฐานในบรรทัดคำสั่ง
- ปลั๊กอินใหม่:
- mssdemux สำหรับ Microsoft Smooth Streaming
- dashdemux สำหรับโปรโตคอลสตรีมมิ่งแบบ DASH ที่ปรับเปลี่ยน
- bluez สำหรับการโต้ตอบกับอุปกรณ์บลูทู ธ
- openjpeg สำหรับการถอดรหัสและเข้ารหัสข้อมูล JPEG2000
- daala สำหรับการถอดรหัสและการเข้ารหัส Daala ทดลอง
- ปลั๊กอิน vpx มีการถอดรหัสและการเข้ารหัส VP9 แบบทดลอง
- ปลั๊กอิน webp สำหรับการถอดรหัส WebP (เข้ารหัสที่จะเพิ่มภายหลัง)
- อื่น ๆ อีกมากมาย: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip และ audiofxbad
- ย้ายปลั๊กอิน:
- dtmf, vp8rtp, scaletempo และปลั๊กอิน rtpmux อยู่ใน gst-plugins-good ตอนนี้
- วิดีโอ:
- แก้ไขการจัดการวิดีโอแบบทึบในเครื่องแปลงสัญญาณเช่นวิดีโอเกล็ดและ videoconvert (เช่นปรับขนาดทั้งสองช่อง)
- videoconvert จะพยายามทำให้การสูญเสียคุณภาพลดลงเมื่อต้องมีการแปลง
- API GstSurfaceConverter, GstSurfaceMeta และ GstVideoContext ทดลองจากห้องสมุด libgstbasevideo-1.0 ที่ติดตั้งใน gst-plugins-bad ได้ถูกเอาออกแล้วและถูกแทนที่โดย APIs ใหม่ใน GStreamer Core และ gst-plugins-base (ดูด้านบน ) ห้องสมุดทั้งหมด libgstbasevideo-1.0 เวอร์ชันทดลองถูกลบออกจาก gst-plugins-bad
- การประมวลผลย่อยและการตั้งค่าสีของ Chroma จะได้รับการจัดการที่ดีขึ้นในระบบวิดีโอคอนซูเมอร์และการสนับสนุนวิดีโอแบบทับซ้อนได้รับการปรับปรุงให้ดีขึ้น
- รูปเข็มและลวดลายใหม่ใน videotestsrc
- videomixer สามารถยอมรับรูปแบบวิดีโอต่างๆใน sinkpads และแปลงเป็นรูปแบบทั่วไประหว่างการผสม
- เสียง:
- ผู้จัดการประชุมผู้สอบบัญชีจะพยายามทำให้การสูญเสียคุณภาพลดลงอย่างมากที่สุดเมื่อจำเป็นต้องมีการแปลง
- adder ช่วยให้สามารถปิดเสียง / เปิดเสียงของสตรีมอินพุตและปริมาณสตรีมต่ออินพุต
- องค์ประกอบ pulseaudio สามารถสลับระหว่างอุปกรณ์ระหว่างการเล่นได้
- aacparse สามารถแปลงระหว่าง ADTS ← -> RAW
- เปลี่ยนแปลงเฉพาะแพลตฟอร์ม:
- ตอนนี้ Caps เหตุการณ์ ฯลฯ จะพิมพ์ลงในบันทึกการแก้ปัญหาของ GStreamer ด้วยเนื้อหาแทนที่จะเป็นที่อยู่ตัวชี้แม้บนแพลตฟอร์มที่ไม่ใช่ Glibc (เช่น Windows, OSX, Android)
- องค์ประกอบเครือข่าย (UDP / TCP) ทำงานได้ดีขึ้นเมื่อใช้แพลตฟอร์มซึ่งซ็อกเก็ต IPv6 ไม่สามารถจัดการกับ IPv4 (เช่น Windows)
- Linux / BSD: v4l2 ได้รับการปรับปรุงและทำความสะอาดมากมาย
- การเปลี่ยนแปลงอื่น ๆ :
- gst-libav ใช้ libav 9 แล้ว
- การสนับสนุนปลั๊กอินแบบคงที่ในขณะนี้ (เช่นใน 1.0.7)
- rtspsrc: เพิ่มการสนับสนุน NetClientClock: เมื่อเซิร์ฟเวอร์แนะนำ GstNetTimeProvider ใน SDP ให้ตั้งค่า GstNetClientClock ที่เป็นทาสไปยังนาฬิการะยะไกลและแนะนำนาฬิกานี้ใน provide_clock ลดความยุ่งยากในการเล่นข้อมูลทรัพยากรจากเซิร์ฟเวอร์ RTSP แบบซิงโครไนซ์ gst-rtsp-server สนับสนุนการเพิ่มข้อมูลนี้ลงใน SDP และสามารถให้นาฬิกาเครือข่ายได้
- การสนับสนุน RTP retransmission / NACK และการปรับปรุง Ritter jitterbuffer ขนาดใหญ่
- การสนับสนุน SRTP และ DTLS
- การเปลี่ยนแปลงองค์ประกอบและแกนหลักหลายอย่างเพื่อใช้ลำดับเหตุการณ์ที่เหนียวแน่นที่ถูกต้องและยังไม่สูญเสียเหตุการณ์ที่เหนียวเหนียวใด ๆ ระหว่างการล้าง
- & gt; 1000 รายงานข้อบกพร่องและการแก้ไขข้อบกพร่องอื่น ๆ อีกมากมายและการปรับปรุงอื่น ๆ ที่ไม่มีรายงานข้อบกพร่อง
- สิ่งที่ต้องระวัง:
- ส่วนหัวเดียวรวมถึงไลบรารีทั้งหมดเช่น #include - จำเป็นสำหรับการผูกบางส่วน
- ตรวจสอบเซ็ทย่อยแคปที่เข้มงวด (ถูกต้อง) ในบางกรณีที่ไม่ถูกต้องก่อนหน้านี้ ตอนนี้แคปจะไม่สามารถใช้เซ็ตย่อยร่วมกันของชุดตัวพิมพ์ใหญ่อื่นได้หากฝาครอบตัวแบ่งย่อยหายไปในบางฟิลด์ที่มีตัวพิมพ์ใหญ่อยู่ ข้อผิดพลาดนี้อาจนำไปสู่ข้อผิดพลาดที่ไม่ได้เจรจาต่อรองหากแคปไม่สมบูรณ์ในขณะนี้ อย่างไรก็ตามยังป้องกันความเสียหายที่เป็นไปได้ที่เกิดจากข้อมูลท่อที่จัดรูปแบบด้วยวิธีที่ไม่สามารถเข้ากันได้ / ไม่คาดคิดในบางองค์ประกอบ ตรวจสอบฝาครอบ h264 ของคุณสำหรับฟิลด์รูปแบบสตรีมและการจัดตำแหน่งและตัวพิมพ์ใหญ่ AAC สำหรับฟิลด์รูปแบบสตรีม การเปลี่ยนแปลงนี้จะรวมอยู่ในรุ่น 1.0.8 ที่เสถียรต่อไป
- ตรวจสอบเหตุการณ์ที่ขาดหายไปและแก้ไขคำสั่งเหตุการณ์ที่มีความเหนียวลื่น (การเริ่มสตรีมตัวพิมพ์ใหญ่และกลุ่ม) ในบางแห่ง แต่คุณอาจได้รับคำเตือนเมื่อใช้ git builds การเผยแพร่การพัฒนาหรือเมื่อคอมไพล์ด้วย -UG_DISABLE_ASSERT ใน CFLAGS
- x264enc จะส่งออกข้อมูลในสตรีมไบต์ตามค่าเริ่มต้นหากสตรีมดาวน์สตรีมมีตัวพิมพ์เล็ก (เช่น appsink โดยไม่มีตัวพิมพ์ใหญ่, filesink, udpsink, tcpserversink เป็นต้น)
- ข้อความโพสต์ข้อความ demuxer ของ MPEG TS ประกอบด้วยข้อความ PMT, PAT ฯลฯ ในรูปแบบอื่นในขณะนี้ รูปแบบใหม่นี้ใช้โครงสร้างข้อมูลจากไลบรารี MPEGTS ใหม่
- GstContext API มีการเปลี่ยนแปลงระหว่าง 1.1.4 และ 1.1.90
- API ใหม่:
- GstContext เจรจาต่อรอง / แชร์ / ประกาศเพื่อแชร์บริบททั่วไประหว่างองค์ประกอบต่างๆเช่น ที่จับจอแสดงผล
- เมจิกแปลงข้อมูล GL texture เพื่อให้สามารถแปลงรูปแบบบัฟเฟอร์ต่างๆให้เป็นเนื้อ OpenGL
- GstCapsFeatures เป็นส่วนขยายสำหรับ GstCaps เพื่อให้สามารถเจรจาต่อหน่วยความจำหรือข้อกำหนดเมตาระหว่างองค์ประกอบต่างๆได้
- แฟล็ก GstMemory สำหรับหน่วยความจำที่ต่อเนื่องและไม่สามารถจับคู่ได้
- เหตุการณ์เริ่มต้นเริ่มต้นมีธงที่ไม่จำเป็นในขณะนี้เช่น สำหรับการส่งสัญญาณเบาบาง
- สตรีมเริ่มต้นจะมีฟิลด์ id-id ที่ไม่บังคับในขณะนี้เพื่อส่งสัญญาณให้สตรีมทั้งหมดที่ควรเล่นด้วยกัน
- จัดสรรไลบรารีใน gst-plugins-base ขณะนี้มีเฉพาะการสนับสนุนหน่วยความจำทั่วไปของ dmabuf เท่านั้น
- ไลบรารีของ insertbin เพื่อให้สามารถจัดการกับท่อที่เชื่อมต่อแบบไดนามิกได้ง่ายขึ้น (ใน - เสียสำหรับตอนนี้)
- ห้องสมุดผู้ช่วยเหลือ EGL (ในตอนนี้ - เสีย)
- ไลบรารีโครงสร้างข้อมูล MPEG-TS (ใน - เสียสำหรับตอนนี้)
- New GstVideoRegionOfInterestMeta เพื่ออธิบายพื้นที่ที่สนใจในเฟรมวิดีโอ
- GstVideoDecoder / Encoder มีใหม่ :: flush () vfunc เพื่อแทนที่ ill-defined :: reset () vfunc.
- แบบสอบถาม URI ทำให้สามารถสอบถาม URI ที่เปลี่ยนเส้นทางได้ตอนนี้
- การเปลี่ยนแปลงที่สำคัญ:
- เครื่องมือใหม่: gst-play-1.0 ใน gst-plugins-base สำหรับการทดสอบการเล่นขั้นพื้นฐานในบรรทัดคำสั่ง
- ปลั๊กอินใหม่:
- mssdemux สำหรับ Microsoft Smooth Streaming
- dashdemux สำหรับโปรโตคอลสตรีมมิ่งแบบ DASH ที่ปรับเปลี่ยน
- bluez สำหรับการโต้ตอบกับอุปกรณ์บลูทู ธ
- openjpeg สำหรับการถอดรหัสและเข้ารหัสข้อมูล JPEG2000
- daala สำหรับการถอดรหัสและการเข้ารหัส Daala ทดลอง
- ปลั๊กอิน vpx มีการเข้ารหัสถอดรหัสและการเข้ารหัส V9 แบบทดลอง
- ปลั๊กอิน webp สำหรับการถอดรหัส WebP (เข้ารหัสที่จะเพิ่มภายหลัง)
- อื่น ๆ อีกมากมาย: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip และ audiofxbad
- ย้ายปลั๊กอิน:
- dtmf, vp8rtp, scaletempo และปลั๊กอิน rtpmux อยู่ใน gst-plugins-good ตอนนี้
- วิดีโอ:
- แก้ไขการจัดการวิดีโอแบบทึบในเครื่องแปลงสัญญาณเช่นวิดีโอเกล็ดและ videoconvert (เช่นปรับขนาดทั้งสองช่อง)
- videoconvert จะพยายามทำให้การสูญเสียคุณภาพลดลงเมื่อต้องมีการแปลง
- API GstSurfaceConverter, GstSurfaceMeta และ GstVideoContext ทดลองจากห้องสมุด libgstbasevideo-1.0 ที่ติดตั้งใน gst-plugins-bad ได้ถูกเอาออกแล้วและถูกแทนที่โดย APIs ใหม่ใน GStreamer Core และ gst-plugins-base (ดูด้านบน ) ห้องสมุดทั้งหมด libgstbasevideo-1.0 ที่ทดลองใช้นี้ถูกลบออกจาก gst-plugins-bad
- การสุ่มตัวอย่างย่อยของ Chroma และการแปลงตำแหน่งจะได้รับการจัดการที่ดีขึ้นในระบบวิดีโอโปรโมเตอร์
- รูปเข็มและลวดลายใหม่ใน videotestsrc
- เสียง:
- adder ช่วยให้สามารถปิดเสียง / เปิดเสียงของสตรีมอินพุตและปริมาณสตรีมต่ออินพุต
- องค์ประกอบ pulseaudio สามารถสลับระหว่างอุปกรณ์ระหว่างการเล่นได้
- aacparse สามารถแปลงระหว่าง ADTS ← -> RAW
- เปลี่ยนแปลงเฉพาะแพลตฟอร์ม:
- ตอนนี้ Caps เหตุการณ์ ฯลฯ จะพิมพ์ลงในบันทึกการแก้ปัญหาของ GStreamer ด้วยเนื้อหาแทนที่จะเป็นที่อยู่ตัวชี้แม้บนแพลตฟอร์มที่ไม่ใช่ Glibc (เช่น Windows, OSX, Android)
- องค์ประกอบเครือข่าย (UDP / TCP) ทำงานได้ดีขึ้นเมื่อใช้แพลตฟอร์มซึ่งซ็อกเก็ต IPv6 ไม่สามารถจัดการกับ IPv4 (เช่น Windows)
- Windows: d3dvideosink มีบัฟเฟอร์พูลให้กับองค์ประกอบต้นน้ำ
- Linux / BSD: v4l2 ได้รับการปรับปรุงและทำความสะอาดมากมาย
- การเปลี่ยนแปลงอื่น ๆ :
- gst-libav ใช้ libav 9 แล้ว
- การสนับสนุนปลั๊กอินแบบคงที่ในขณะนี้ (เช่นใน 1.0.7)
- rtspsrc: เพิ่มการสนับสนุน NetClientClock: เมื่อเซิร์ฟเวอร์แนะนำ GstNetTimeProvider ใน SDP ให้ตั้งค่า GstNetClientClock ที่เป็นทาสไปยังนาฬิการะยะไกลและแนะนำนาฬิกานี้ใน provide_clock ลดความยุ่งยากในการเล่นข้อมูลทรัพยากรจากเซิร์ฟเวอร์ RTSP แบบซิงโครไนซ์ gst-rtsp-server สนับสนุนการเพิ่มข้อมูลนี้ลงใน SDP และสามารถให้นาฬิกาเครือข่ายได้
- การสนับสนุน RTP retransmission / NACK และการปรับปรุง Ritter jitterbuffer ขนาดใหญ่
- การสนับสนุน SRTP และ DTLS
- การเปลี่ยนแปลงองค์ประกอบและแกนหลักหลายอย่างเพื่อใช้ลำดับเหตุการณ์ที่เหนียวแน่นที่ถูกต้องและยังไม่สูญเสียเหตุการณ์ที่เหนียวเหนียวใด ๆ ระหว่างการล้าง
- & gt; 1000 รายงานข้อบกพร่องและการแก้ไขข้อบกพร่องอื่น ๆ อีกมากมายและการปรับปรุงอื่น ๆ ที่ไม่มีรายงานข้อบกพร่อง
- สิ่งที่ต้องระวัง:
- ส่วนหัวเดียวรวมถึงไลบรารีทั้งหมดเช่น #include - จำเป็นสำหรับการผูกบางส่วน
- ตรวจสอบเซ็ทย่อยแคปที่เข้มงวด (ถูกต้อง) ในบางกรณีที่ไม่ถูกต้องก่อนหน้านี้ ตอนนี้แคปจะไม่สามารถใช้เซ็ตย่อยร่วมกันของชุดตัวพิมพ์ใหญ่อื่นได้หากฝาครอบตัวแบ่งย่อยหายไปในบางฟิลด์ที่มีตัวพิมพ์ใหญ่อยู่ ข้อผิดพลาดนี้อาจนำไปสู่ข้อผิดพลาดที่ไม่ได้เจรจาต่อรองหากแคปไม่สมบูรณ์ในขณะนี้ อย่างไรก็ตามยังป้องกันความเสียหายที่เป็นไปได้ที่เกิดจากข้อมูลท่อที่จัดรูปแบบด้วยวิธีที่ไม่สามารถเข้ากันได้ / ไม่คาดคิดในบางองค์ประกอบ ตรวจสอบฝาครอบ h264 ของคุณสำหรับฟิลด์รูปแบบสตรีมและการจัดตำแหน่งและตัวพิมพ์ใหญ่ AAC สำหรับฟิลด์รูปแบบสตรีม การเปลี่ยนแปลงนี้จะรวมอยู่ในรุ่น 1.0.8 ที่เสถียรต่อไป
- ตรวจสอบเหตุการณ์ที่ขาดหายไปและแก้ไขคำสั่งเหตุการณ์ที่มีความเหนียวลื่น (การเริ่มสตรีมตัวพิมพ์ใหญ่และกลุ่ม) ในบางแห่ง แต่คุณอาจได้รับคำเตือนเมื่อใช้ git builds การเผยแพร่การพัฒนาหรือเมื่อคอมไพล์ด้วย -UG_DISABLE_ASSERT ใน CFLAGS
- x264enc จะส่งออกข้อมูลในสตรีมไบต์ตามค่าเริ่มต้นหากสตรีมดาวน์สตรีมมีตัวพิมพ์เล็ก (เช่น appsink โดยไม่มีตัวพิมพ์ใหญ่, filesink, udpsink, tcpserversink เป็นต้น)
มีอะไรใหม่ ในเวอร์ชัน 1.1.4:
มีอะไรใหม่
มีอะไรใหม่ ในเวอร์ชัน:
มีอะไรใหม่ ในเวอร์ชัน 1.8.2:
มีอะไรใหม่ ในเวอร์ชัน 1.8.0:
มีอะไรใหม่ ในเวอร์ชัน 1.6.3:
มีอะไรใหม่ ในเวอร์ชัน 1.6.1:
มีอะไรใหม่ ในเวอร์ชัน 1.6.0:
มีอะไรใหม่ ในเวอร์ชัน 1.5.2:
มีอะไรใหม่ ในเวอร์ชัน 1.4.5:
มีอะไรใหม่ ในเวอร์ชัน 1.4.4:
มีอะไรใหม่ ในเวอร์ชัน 1.4.1:
มีอะไรใหม่ ในเวอร์ชัน 1.4 RC2:
มีอะไรใหม่ ในเวอร์ชัน 1.4 RC1:
มีอะไรใหม่ ในเวอร์ชัน 1.2.4:
มีอะไรใหม่ ในเวอร์ชัน 1.2.2:
ความคิดเห็นที่ไม่พบ