GStreamer är ett open source-bibliotek, ett komplext program som fungerar som en multimediaram för många GNU / Linux-operativsystem, samt Android, OpenBSD, Mac OS X, Microsoft Windows, och Symbian OSes.
Funktioner i ett ögonkast
Viktiga funktioner inkluderar ett omfattande kärnbibliotek, intelligent pluginarkitektur, utökad täckning av multimediateknik, samt omfattande utvecklingsverktyg, så att du enkelt kan lägga till stöd för GStreamer i dina applikationer.
Det är den främsta multimediebackend för ett brett spektrum av open source-projekt, som går ifrån ljud- och videouppspelningsprogram, till exempel Totem (Videos) från GNOME-skrivbordsmiljön och komplexa video- och ljudredigerare.
Dessutom har mjukvaran mycket hög prestanda och låg latens tack vare sin extremt lätta dataöverföringsteknik samt global inter-stream (audio / video) -synkronisering genom klockning.
Består av flera codec-paket
Projektet består av flera olika paket, även kända som kodpaket, som enkelt kan installeras på någon GNU / Linux-distribution från sina standardprogramvaror, samtidigt eller separat. De är som följer: GStreamer Plugins Base, GStreamer Plugins Good, GStreamer Plugins Bad och GStreamer Plugins Ugly.
GStreamer är ett kompakt kärnbibliotek som möjliggör slumpmässiga piplelinskonstruktioner tack vare sin grafbaserade struktur, baserat på GLib 2.0-objektmodellbiblioteket, som kan användas för objektorienterad design och arv.
Använder QoS-tjänsten (Quality of Service)
För att garantera bästa möjliga ljud- och videokvalitet under hög CPU-belastning, använder projektet QoS (Quality of Service) -tekniken. Dessutom ger det en genomskinlig och trivial konstruktion av flergängade rörledningar.
Tack vare det enkla, stabila och rena API-programmet (Application Programming Interface) kan utvecklare enkelt integrera det i sina applikationer, samt att skapa plugins som utökar standardfunktionen. Det ger dem också ett fullständigt felsökningssystem.
Bottom line
Sammanfattningsvis är GStreamer ett mycket kraftfullt och mycket uppskattat multimedia ramverk för open source-ekosystemet, vilket ger GNU / Linux-användare ett brett utbud av ljud- och video-codecs för mediauppspelning och -behandling.
strong> Vad är nytt i den här utgåvan:
- Bugfix release.
Vad är nytt i version 1.14.1:
- Bugfix release.
Vad är nytt i version:
- Den här utgåvan innehåller bara buggfixar och det ska vara säkert att uppdatera från 1.8.0.
Vad är nytt i version 1.8.2:
- Den här utgåvan innehåller bara buggfixar och det borde vara säkert att uppdatera från 1.8.0.
Vad är nytt i version 1.8.0:
- Hårdvarubaserad nollkopiering av videoavkodning på Android
- Ny videoinspelningskälla för Android som använder android.hardware.Camera API
- Windows Media omvänd uppspelningsstöd (ASF / WMV / WMA)
- Nytt spårningssystem ger stöd för mer sofistikerade felsökningsverktyg
- Nytt API för GstPlayer-uppspelning på hög nivå
- Initialt stöd för det nya Vulkan API, se Matthew Waters blogginlägg för mer information
- Förbättrat stöd för Opus audio codec: Stöd för mer än två kanaler; MPEG-TS demuxer / muxer kan nu hantera Opus; provkorrigering av kodning / avkodning / överföring med Ogg, Matroska, ISOBMFF (Quicktime / MP4) och MPEG-TS som behållare; nya codec-verktygsfunktioner för Opus-huvud och kapsling i pbutils bibliotek. Opus-kodaren / dekoderelementen flyttades också till gst-plugins-basen (från -bad) och opus RTP-depayloader / payloader till -good.
- GStreamer VAAPI-modulen släpptes nu och underhålls som en del av GStreamer-projektet
- Asset proxy support i GStreamer Editing Services
Vad är nytt i version 1.6.3:
- Fixera regression i GL-biblioteket som gjorde glimlagsink unsable på Android
- Integrerad aritmetisk övergång i kö2-element som kan bryta buffert eller orsaka kraschar på grund av NULL-pekareferens
- Fixa krasch i AAC / ADTS-typfinnare som orsakats av att läsa mer minne än tillgängligt
- Sluta ignorera kodarfel i VP8 / VP9-kodarna
- Deprecera GstVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED. Det är redudant och har aldrig genomförts
- Se till att lagra rätt videoinformation i GstVideoBufferPool
- Fixa kepsar i rtspsrc när du gör SRTP över interfolierad TCP
- Fixa krasch i PCP-parser på 0-stora paket
- Rensa EOS-flaggan i appsrc för att tillåta återanvändning efter EOS och spola
- Ignorera spolningsflöden i streamsynchronizer under strömbrytare för att åtgärda problem som orsakas av detta i gst-redigeringstjänster
- Ignorera taggar och andra metadata i WAV-filer efter & quot; data & quot; chunk i PUSH-läge för att förhindra att de tolkas som ljud
- Korrekt använda färgmätning i v4l2 bara för YUV-färgformat
- Ange reserverade bitar i MPEG TS muxer till 1s
- Fix beräkning av SBC-ramlängder
- Fixera utdata från RTP JPEG2000 depayloader för att ha en bild per buffert och krasch i OpenJPEG-avkodaren på ofullständiga ramar
- Uppdatera ffmpeg-snapshot i gst-libav till 2.8.5
- Minnesläckningsfixar i scaletempo, Raw RTP-depayloader och i skådespelare relaterad till ljud / videofilmer
- Åtgärdar felhantering i OSX-ljudprogrammet
- Olika gobject-introspection annotering fixar och tillägg
- Kompilatorns varningsfixar för senaste clang-kompilatorn
Vad är nytt i version 1.6.1:
- Kraschar i gst-libav-kodarna fixades
- Fler DASH-IF-testflöden arbetar nu
- Live DASH, HLS och MS SmoothStreaming-flöden fungerar mer tillförlitliga och andra korrigeringar för adaptiva streamingprotokoll
- Omvänd uppspelning fungerar med scaletempo för att hålla ljudhöjden
- Korrekt strömtid rapporteras för negativt applied_rate
- Validering av SRTP-paket vid avkodning avvisar inte längre giltiga paket
- Lösningar för ljudaggregatorn och aggregatorn för att börja producera utgången vid rätt tidpunkt, och t.ex. inte utvisar mycket tystnad i början
- gst-libavs interna ffmpeg-snapshot uppdaterades till 2.8.1
- cerbero har stöd för Mac OS X 10.11 (El Capitan)
- Olika minnesläckor fixades, inklusive stora läckor i playbin, playink och decodebin
- Olika GObject-Introspection-annoteringsfixar för bindningar
- och många, många fler
Vad är nytt i version 1.6.0:
- Stereoskopisk 3D och multiview-videostöd
- Trick-läge API för nyckelramar endast snabbspolning framåt / bakåtvända uppspelning etc.
- Förbättrad DTS (avkodningstidsstämpel) mot PTS (presentationstidstämpel) hantering för att ta hänsyn till negativ DTS
- Ny GstVideoConverter API för mer optimerad och mer korrekt konvertering av rada videoramar mellan alla stödda format, med omkalkning
- v4l2src stöder nu omförhandling
- v4l2transform kan nu göra skalning
- V4L2 Element rapporterar nu Colorimetry korrekt
- Enklare chunked inspelning av MP4, Matroska, Ogg, MPEG-TS: nya splitmuxsink och multifilesink förbättringar
- Signal API för innehållsskydd och gemensamt kryptering (CENC) för DASH / MP4
- Förbättringar av adaptiv streaming (DASH, HLS och MSS)
- Nya PTP- och NTP-nätverksklockor och bättre stabilitet vid klockspårning
- Överlägsen texttext undertext på skärmupplösningar med glimagesink eller gtkglsink
- RECORD-stöd för GStreamer RTSP-servern
- Retransmissions (RTX) stöd i RTSP-servern och klienten
- RTSP som söker support i klient och server har fixats
- RTCP-planeringsförbättringar och RTCP-stöd i mindre storlek
- MP4 / MOV muxer köpte en ny "robust" driftsätt som försöker hålla utdatafilen i ett giltigt tillstånd hela tiden
- Live-blandningsstöd i aggregat, audiomixer och kompositör har förbättrats mycket
- Kompositören stöder nu också omkalkning av ingångar strömmar i fluga
- Nytt ljudintervallelement med korrekt inmatningssynkronisering och stöd för liveinmatning
- Blackmagic Design DeckLink-inspelning och uppspelningskortstöd har skrivits om från början. 2k / 4k stöd; lägesavkänning
- KLV-metadatastöd i RTP och MPEG-TS
- H.265 video-kodare (x265), dekoder (libav, libde265) och RTP-nyttolastare och deponeringsladdare
- Ny DTLS-plugin och SRTP / DTLS-stöd
- OpenGL3-stöd, flera sammanhang och kontextutbredning, 3D-video, överföring / omvandlingsseparation, blandning av textning
- Ny OpenGL-baserad QML-videonsänkning, Gtk GL-videohink, CoreAnimation CAOpenGLLayerSink-videonsänkning
- gst-libav bytte till ffmpeg som libav-leverantör, får stöd för 3D / multiview-video, tricklägen och CAVS-codec
- GstHarness API för enhetstester
- gst-redigeringstjänsterna har ett helt nytt ges-launch-1.0-gränssnitt, förbättrat blandningsstöd och integration i gst-validera
- gnonlin har avlägsnats till förmån för nle (icke-linjär motor) i gst-redigeringstjänster
- gst-validate har ett nytt plugin-system, en omfattande standard testsupport, stöd för samtidiga testkörningar och valgrind-stöd
- cerbero byggverktyg för binära binärpaket SDK får nytt kommando för "buntkälla"
- Olika förbättringar av Android, IOS, OS X och Windows-plattformsupport
Vad är nytt i version 1.5.2:
- 740502: Lägg till absolut egenskap till GstDirectControlBinding
- 740575: Fixing DTS i GStreamer
- 745366: concat: Framåt FLUSH_START / FLUSH_STOP händelser
- 746949: concat: Lägg till aktiv-pad-egenskap
- 750027: concat: Återställ intern startförskjutning till 0 efter spolningssök
- 750033: basetransform - tillåta sortering / separation av buffertar
- 750039: Håll buffertar med delat minne levande
- 750319: minne: underklasser känner inte till kartflaggor i omslag
- 750530: ptp: FreeBSD, DragonFly och andra BSD har inte ifreq.ifw_hwaddr
- 750574: netclientclock: Gör klockan en omslagsklocka runt en intern klocka
- 750761: inputselector: Hantera olika varaktighetslängdsval
- 750782: pipeline: Lägg till gst_pipeline_set_latency (), getter och GObject-egenskapen
- 751026: basesink: Korrekt hantera buffertlistor för den sista exemplaregenskapen
- 751047: concat: Lägg till justeringsbasegenskap
- 751107: concat: När du släpper pallen, skicka EOS på lämpligt sätt.
- 751235: utils: get_compatible_pad respekterar inte filterkapslingar helt
- 751420: basesink: måste kopiera den senaste buffertlistan i avloppet
Vad är nytt i version 1.4.5:
- GStreamer kärna:
- 736969: kö2: dödlås vid buffering
- 738092: basesink: klämma rapporterad position baserat på riktning
- 740001: Uppgift: Tävlingsläge vid paus och stopp
- GStreamer Plugins Base:
- 741420: Videopooler: bör uppdatera storlek i konfiguration efter anpassning
- 715050: lägg till typfinnare för ljud / ljud
- 739544: tcp: Lägg till test och fixa läckage i tcp-element
- 739840: Typfind ska känna igen Apple Core Audio Format (CAF)
- 740556: videodecoder: klaga inte när DTS! = PTS på keyframes
- 740675: playsink: fortsätter uppspelning, återställer stumma egendom
- 740730: rtspconnection: Ta inte bort källkällan om föräldrakällan redan är förstörd
- 740853: audiodecoder: Tryck på pågående händelser innan du skickar EOS.
- 740952: alsa: NetBSD fixar
- 741045: audiorate kan i vissa fall förlora tidstämpel precision
- 741198: playbin: läcker GstPads
- GStreamer-plugins bra:
- 711437: apev2mux: borde inte lägga till APEv2-taggar i början av WavPack-filer
- 726194: v4l2src hanterar inte bra när ett capture-kort ibland interlaseras, ibland progressivt vid samma upplösning
- 736397: flvdemux: Per-stream resyncing beteende orsakar A / V-desyncs
- 737603: v4l2bufferpool: Ange buffertinterlace flaggor när fältet är V4L2_FIELD_INTERLACED
- 739476: vpx: misslyckas med att bygga upp mot libvpx från git
- 739722: matroskamux: Trådskyddat register GstMatroskamuxPad
- 739789: v4l2allocator: åtgärda felmeddelandet om tilldelaren redan är aktiv
- 739791: v4l2bufferpool: unref pool när v4l2_allocator_new () misslyckas
- 739792: v4l2allocator: fix gst_v4l2_allocator_stop prototype
- 739996: videomixer: Sänker mycket ramar om någon av källorna är live
- 740040: v4l2src: Misslyckas i närvaro av V4L2_BUF_FLAG_ERROR
- 740392: rtspsrc: mikey base64 avkodad nyckel-mgmt läcka
- 740407: qtmux gränser fånga till 4096x4096
- 740633: v4l2src: RW io-läget är trasigt
- 740636: v4l2src: framerate är inte alltid inställd på förare
- 740671: aspectratiocrop: grödan måste återställas när videostorlek ändras
- 740905: v4l2: Har fortfarande 1 till linux / videodev.h
- 741271: rtph264pay: Buffertläckage i H.264 payloader när du använder SPS / PPS
- 741381: rtph264pay: Loppläge kan orsaka krasch när du går från PAUSED- & gt; READY
- 741407: deinterlace: i query_caps returneras endast stödformat om filtret är interlaced
- 737579: v4l2object: Ange färgutrymme för utdataenheter
- 739754: v4l2bufferpool: Ska validera att alla minnen är skrivbara innan du köper tillbaka
- GStreamer-pluggar är dåliga:
- 722764: rawparse: fix SEEKING frågahantering
- 729768: mpegtsbase: Höj gränsen för att läsa mer byte i början för att hitta PCR
- 739152: gl / kakao: bygga med GNUStep misslyckas
- 740191: dvbbasesink: segfaults på 32-bitars (rpi)
- 740201: gl / kakao: Kompilerar inte på OSX & lt; 10.7 längre
- 740451: srtpdec: läcker rtp / rtcp sink händelser
- 740953: configure.ac: unportable test (1) jämförelseoperatör
- 741321: opusparse: fixa huvudparsing esp. av kodad utmatning av libopus
- GStreamer RTSP Server:
- 739481: rtsp-stream: läcker srtp-avkodaren när du lämnar rtpbin
Vad är nytt i version 1.4.4:
- Fel som fixas i version 1.4.5:
- 737498: multiqueeue: tar inte hänsyn till GAP-händelsen vid beräkning av nuvarande nivå
- 737794: multikvart: dödläge om kö övergår med serialiserade händelser
- 737999: systemklocka: problem med multi-thread entry status
- 738198: multiqueue: Väcker inte upplänkade strömmar på EOS
Vad är nytt i version 1.4.1:
- 1.4-serien frigör nya funktioner av 1.2-serien och ingår i API- och ABI-stabila 1.x-serien av GStreamer multimedia-ramverket som innehåller nya funktioner. 1.4.x bugfix-utgåvor innehåller bara viktiga buggfixar jämfört med 1.4.0.
Vad är nytt i version 1.4 RC2:
- GStreamer-laget är glatt att tillkännage den andra release-kandidaten i den stabila 1,4-serien. 1.4-serien innehåller nya funktioner ovanpå 1.0 och 1.2-serien och ingår i API-och ABI-stabila 1.x-serien för GStreamer multimedia.
- Den här frisläppandekandidaten kommer förhoppningsvis snart att följas av den stabila versionen 1.4.0 om inga större regressioner eller större problem upptäcks och tillräcklig testning av släppkandidaten hände. Det nya API som lagts till under 1,3-serien, förväntas inte ändras längre vid denna punkt.
Vad är nytt i version 1.4 RC1:
- Nytt API:
- GstMessageType har lagt till GST_MESSAGE_EXTENDED. Alla typer före det kan användas tillsammans som en flaggstyp som tidigare, men från det meddelandet räknas räkningarna bara stegvis. Detta var nödvändigt för att kunna lägga till fler meddelandetyper. I 2.0 GstMessageType blir bara en enum och inte en flagg längre.
- GstDeviceMonitor för enhetsundersökning, t.ex. för att lista alla tillgängliga ljud- eller videoinspelningsenheter. Detta ersätter GstPropertyProbe från 0,10.
- Händelser ackumulerar körtidskompensationen nu när du reser genom pads, enligt inställningen gst_pad_set_offset (). Detta gör det möjligt att kompensera för detta i QOS-händelsen till exempel.
- GstBuffer har ett nytt flagg "tag-minne" som ställs in automatiskt när minnet läggs till eller tas bort till en buffert. Detta gör det möjligt för buffertpooler att upptäcka om de kan återvinna en buffert eller behöver återställa den först.
- GstToc har nytt API för att markera GstTocEntries som loopar.
- Ett icke auktoriserat resursfel har definierats för att anmäla program som har tillgång till resursen har misslyckats på grund av att behörigheten saknas och att man skiljer det här fallet från andra. Denna ändring är faktiskt redan i 1.2.4.
- GstPad har en ny flagga "Accept-Crosssect", som låter standard ACCEPT_CAPS-frågahanteraren göra ett korsning istället för delmängdskontroll. Detta är intressant för parserelement som kan hantera ofullständiga kepsar.
- GstCollectPads har stöd för spolning och en standardhanterare för SEEK-händelser nu.
- Nytt GstFlowAggregator hjälpar objekt som underlättar hanteringen av flödesavkastning i element med flera källkuddar. Dessutom lagrar GstPad alltid den senaste flödesavkastningen och ger ett API för att hämta det.
- GstSegment har ett nytt API för att kompensera körtiden med ett visst värde och det används i GstPad för att tillåta positiva och negativa förskjutningar i gst_pad_set_offset () i alla situationer.
- Support för h265 / HEVC och VP8 har lagts till i codec utils och codec parsers biblioteket och integrerades i olika element.
- API för att justera TLS-validering av RTSP-anslutning har lagts till.
- RTSP och SDP-biblioteket har stöd för MIKEY (RFC 3830) nu, och det finns API för att skilja mellan de olika RTSP-profilerna.
- API för att få tillgång till information om RTP-tid och statistik.
- Stöd för extra strömmar har lagts till i rtpbin.
- Stöd för kaklade, råa videoformat har lagts till.
- GstVideoDecoder och GstAudioDecoder har API som hjälper till att aggregera taghändelser och sammanfoga anpassade taggar till dem konsekvent.
- GstBufferPool har stöd för spolning nu.
- playbin / playink har stöd för applikation som tillhandahålls ljud och video filter.
- GstDiscoverer har nytt och förenklat API för att få information om saknade plugins och information för att överföras till plugin-installationsprogrammet.
- GL-biblioteket slogs samman från gst-plugins-gl till gst-plugins-bad, vilket ger en generell infrastruktur för hantering av GL inom GStreamer-pipelines och ett plugin med vissa element med hjälp av dessa, särskilt en videosänkning. Stödda plattformar är för närvarande Android, Kakao (OS X), DispManX (Raspberry Pi), EAGL (IOS), WGL (Windows) och generiska X11, Wayland och EGL-plattformar. Detta ersätter eglglessink och ska också ersätta osxvideosink.
- Ny GstAggregator-basklass i gst-plugins-bad. Detta ska ersätta GstCollectPads i framtiden och lösa kända brister i API: n. Tillsammans med basklassen finns några element redan som en videomixer (kompositör).
- Viktiga ändringar:
- Nya plugins och element:
- v4l2videodec-elementet för åtkomst till hårdvarukodiker på plattformar som gör dem tillgängliga via V4L2, t.ex. Samsung Exynos. Detta kommer ihop med större refactoring av befintliga V4L2-element och motsvarande infrastruktur. V4l2videodec-elementet ersätter mfcdec-elementet.
- Nytt downloadbuffer-element som ersätter funktionen för nedladdning av buffert i kö2. Jämfört med köns kod är det mycket enklare och endast för det här fallet. En anmärkningsvärd ny egenskap är att det hämtar luckor i de redan nedladdade strömningsdelarna när inget annat ska hämtas. Detta används nu av playbin när nedladdning av buffert är aktiverat.
- rtpstreampay och rtpstreamdepay-element för sändning av RTP-paket över ett flödes-API (t ex TCP) enligt RFC 4571.
- rtprtx-element för standardkompletterande implementering av retransmissions, integrerad i rtpmanager plugin.
- audiomixer-element som blandar flera ljudflöden tillsammans till en enda samtidigt som synkroniseringen hålls. Det här är planerat att ersätta adderelementet.
- OpenNI2-plugin för 3D-kameror som Kinect-kameran.
- OpenEXR-plugin för avkodning av EXR-bilder med hög dynamik.
- curlsshsink och curlsftpsink för att skriva filer via SSH / SFTP.
- videosignal, ivfparse och sndfile plugins ported från 0.10.
- avfvideosrc, vtdec och andra element har portat från 0,10 och är tillgängliga på OS X och iOS nu.
- Andra ändringar:
- gst-libav använder nu libav 10.1 och fick stöd för H265 / HEVC.
- Stöd för hårdvarukodkoder och speciella minnetyper har förbättrats med buggfixar och funktionstillägg i olika plugins och basklasser.
- Olika buggfixar och förbättringar av buffring i kö2 och multikomponenter.
- dvbsrc stöder mer leveransmekanismer och andra funktioner nu, inklusive DVB S2 och T2 support.
- MPEGTS-biblioteket har stöd för många fler beskrivare.
- Stora förbättringar av tsdemux och tsparse, speciellt tid och sökande relaterade.
- souphttpsrc har nu stöd för kontinuerliga anslutningar, komprimering, konfigurerbart antal repetitioner och konfiguration för validering av SSL-certifikat.
- hlsdemux har genomgått stora refactoring och fungerar mer tillförlitligt nu och stöder fler HLS-funktioner som tricksätt. Även fragmenten drivs nedströms medan de laddas ner nu istället för att vänta på att varje fragment ska slutföras.
- dashdemux och mssdemux pushar nu också fragment nedströms medan de laddas ner istället för att vänta på att varje fragment ska slutföras.
- Videoflip kan automatiskt bläddra utifrån orienteringstaggen.
- openjpeg stöder OpenJPEG2 API.
- waylandsink var refactored och borde vara mer användbar nu. Det innehåller också ett litet bibliotek som sannolikt kommer att tas bort i framtiden och kommer att resultera i förlängningar till gränssnittet GstVideoOverlay.
- gst-rtsp-servern stöder SRTP och MIKEY nu.
- gst-libav-kodare förhandlar nu på alla inställningar för profil / nivå med nedströms via caps.
- Massor av korrigeringar för försiktighetsvarningar överallt.
- Förhandlingar relaterade prestanda förbättringar.
- 800 + fixade felrapporter, och många andra buggfixar och andra förbättringar överallt som inte hade någon felrapport.
- Saker att se upp för:
- Elementet i elementet avlägsnades och ersattes av glimagesinkelementet.
- Mfcdec-elementet togs bort och ersattes av v4l2videodec.
- osxvideosink är endast tillgänglig i OS X 10.6 eller senare.
- På Android har namnrymden för den automatiskt genererade Java-klassen för initiering av GStreamer ändrats från com.gstreamer till org.freedesktop.gstreamer för att förhindra förorening av namnutrymme.
- På iOS måste du uppdatera din gst_ios_init.h och gst_ios_init.m i dina projekt från den som ingår i binärerna om du tidigare använde GnuTLS GIO-modulen. Lastmekanismen har ändrats något.
Vad är nytt i version 1.2.4:
- GStreamer kärna:
- 724373: Queue2 avkortar sin tempfil när pipeline är pausad
- 725517: docs: Fix typsnitt och ta bort okända anteckningar
- 725809: ghostpad: sällsynta krasch på grund av att det saknas referensräkning på dess mållinje
- 727253: parse: Bison-genererad fil som ingår i release-tärningarna orsakar kompileringsfel
- 727883: baseparse: Minneläckage av köramar
- GStreamer Plugins Base:
- 693263: Typsnitt: MPEG-2 video ES detekterat som H.263
- 683504: playsink: deadlock när deaktiverar undertexter och suboptimal inaktivering av undertexter
- 700770: typfinding: mp3-fil som är felidentifierad som h263-video
- 723597: tagdemux: Sök händelse i GST_FORMAT_TIME konverteras till BYTES till tidigt
- 724633: oggdemux: ignorerar sista sidan i tryckläge
- 724720: rtspconnection: Det går inte att koppla från / återansluta läsanslutning i tunnelläge
- 725313: rtspconnection: closed () återuppringning kallas aldrig i tunnelläge
- 725644: typfinding: mp3-filen är felidentifierad som H.263
- 726642: rtspconnection: mindre minne läckage vid felhantering
- 727025: adder: omarbeta logiken för att kontrollera om eos måste skickas.
- GStreamer-plugins bra:
- 725104: qtdemux: omvänd uppspelning och videoströmbrytningsfel
- 722185: souphttpsrc: racy " servern stöder inte att söka & quot; error
- 724619: krasch när du läser enhetens namnegenskap hos pulsesink
- 725124: rtspsrc: Fixa dödläge när uppgiftsinsättning inte lyckas
- 725712: rtpsession: Krasch när RTCP FIR mottogs med okänt SSRC
- 725860: v4l2src: Fix med v4l2src med Hauppauge HDPVR-videoinspelningsenhet
- 726777: rtpjpegpay: nyttolast storlek inte korrekt beräknad
- 728017: [regression] eos händelse kunde inte skickas ut från gstrtpjitterbuffer.
- 728041: rtph264depay: markerar alla buffertar som deltaenheter vid utmatning av avc-format
- 724638: aacparse: Saknar resilience när ingen ljudram hittas
- 727329: Kontrollera: souphttpsrc: Okänt typnamn 'SoupStatus'
- GStreamer-pluggar är dåliga:
- 724013: Låt inte hårddisk / usr / dela / låta / sf2 bana i fluiddec
- 725137: hlsdemux: misslyckas med att beräkna media-spellistan URL om det finns en sökparameter
- 725140: hlsdemux: misslyckas att korrekt analysera CODECS och RESOLUTION
- GStreamer libav-plugins:
- 727779: avdec_h264, matroskademux: krasch medan du söker (1,2 regression)
Vad är nytt i version 1.2.2:
- 1.2-serien frigörs nya funktioner på toppen av 1.0-serien och ingår i API-och ABI-stabila 1.x-serien i GStreamer multimedia-ramverket som innehåller nya funktioner.
Vad är nytt i version 1.2.0:
- Nytt API:
- GstContext-förhandling / delning / tillkännagivande för att dela ett generiskt sammanhang mellan element, t.ex. ett visningshandtag
- GL texturuppladdningskonvertering meta för att tillåta olika bufferttyper att konverteras till en OpenGL-textur
- GstCapsFeatures som tillägg till GstCaps för att tillåta förhandling av specifika minne eller metakrav mellan element
- GstMemory-flaggor för angränsande och icke-mappbart minne
- Stream-start-händelsen har valfria flaggor nu, t.ex. för att signalera glesa strömmar
- Stream-starten har även ett valfritt grupp-id-fält nu för att signalera alla strömmar som ska spelas tillsammans
- Tilldelningsbibliotek i gst-plugins-basen, för närvarande endast med generellt dmabuf-minnesstöd
- insertbin-bibliotek för enklare hantering av dynamiskt länkade rörledningar (in -bad för nu)
- EGL-hjälparbiblioteket (in -bad för nu)
- MPEG-TS datastrukturbibliotek (in -bad för nu)
- Ny GstVideoRegionOfInterestMeta för att beskriva en region av intresse på videoramar.
- GstVideoDecoder / Encoder har ny :: flush () vfunc för att ersätta den illdefinierade :: reset () vfunc.
- URI-frågan tillåter att fråga om den omdirigerade URIen nu.
- Viktiga ändringar:
- Nytt verktyg: gst-play-1.0 i gst-plugins-basen för grundläggande uppspelningstest på kommandoraden.
- Nya plugins:
- mssdemux för Microsoft Smooth Streaming
- dashdemux för DASH adaptivt streamingprotokoll
- bluez för interaktion med Bluetooth-enheter
- openjpeg för JPEG2000-avkodning och kodning
- Daala för experimentell Daala-avkodning och kodning
- vpx-plugin har experimentell VP9-avkodnings- och kodningsstöd
- webp-plugin för WebP-avkodning (kodning som läggs till senare)
- Olika andra: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip och audiofxbad
- Flytta plugins:
- dtmf, vp8rtp, scaletempo och rtpmux plugins finns i gst-plugins-bra nu
- Video:
- Korrigera hantering av interlaced video i omvandlare som video och video-konvertera (t ex skala båda fälten oberoende)
- Videokonvert kommer att försöka vara svårare att minimera kvalitetsförluster när omvandling är nödvändig
- De experimentella GstSurfaceConverter, GstSurfaceMeta och GstVideoContext APIs från biblioteket libgstbasevideo-1.0 (förvirrande namnet) i gst-plugins-bad har nu tagits bort och ersatts av nya API i GStreamer Core och gst-plugins-basen (se ovan ). Eftersom det var allt som var kvar i det här biblioteket, har hela biblioteket libgstbasevideo-1.0 tagits bort från gst-plugins-bad
- Chroma-subsampling och chroma-placeringskonvertering hanteras bättre i videokonvert och stöd för interlaced video har förbättrats.
- Nya pinwheel och talade mönster i videotestrc
- Videomixer kan nu acceptera olika videoformat på sin sinkpads och konverteras till ett gemensamt format under blandning
- Audio:
- Audioconvert kommer att försöka bli svårare att minimera kvalitetsförluster när omvandling är nödvändig
- adder tillåter nu muting / unmuting av sina ingångsströmmar, och även volymvolymen per inmatning
- Pulseaudio-element kan växla mellan enheter under uppspelning nu
- aacparse kan konvertera mellan ADTS ← -> RAW
- Plattformspecifika ändringar:
- Kepsar, händelser etc. skrivs nu ut i GStreamer-felsökningsloggen med innehållet istället för bara pekaradressen även på icke-glibc-plattformar (t.ex. Windows, OSX, Android).
- Nätverkselement (UDP / TCP) fungerar nu bättre med plattformar, där IPv6-uttag inte kan hantera IPv4 (t.ex. Windows)
- Linux / BSD: v4l2 hade många förbättringar och saneringar
- Andra ändringar:
- gst-libav använder nu libav 9
- Statisk länkning av plugins stöds nu (även i 1.0.7)
- rtspsrc: Lägg till stöd för NetClientClock: När servern föreslår en GstNetTimeProvider i SDP, sätta upp ett GstNetClientClock som slavar till fjärrklockan och föreslå den här klockan i provide_clock. Förenklar synkroniserad uppspelning av en resurs från en RTSP-server. gst-rtsp-servern stöder nu att lägga till den i SDP och kan tillhandahålla en nätverksklocka
- RTP-överföring / NACK-stöd och stora förbättringar av RTP-jitterbufferten
- Support för SRTP och DTLS
- Ändrar till många element och kärna för att använda rätt klibbig händelse ordning och inte heller förlora några viktiga klibbiga händelser under spolning
- > 1000 fixa felrapporter och många andra buggfixar och andra förbättringar överallt som inte hade någon felrapport
- Saker att se upp för:
- Enkelrubrik innehåller för alla bibliotek, t.ex. #include - detta var nödvändigt för vissa bindningar.
- Striktare (korrekta) kepsens delmängdskontroll i vissa fall där detta inte var korrekt tidigare. Kepsar kommer nu alltid att misslyckas med att vara en kompatibel delmängd av en annan uppsättning kepsar om delkåpan saknar några fält som superset-kepsarna har. Detta kan leda till icke-förhandlade fel om kepsen är ofullständig nu. Det förhindrar emellertid också möjlig datakorruption som orsakas av att data för piping formateras på ett inkompatibelt / oväntat sätt i vissa element. Kontrollera dina h264-kepsar för strömformat och anpassningsfält och AAC-kepsar för fältet för strömformat. Denna ändring kommer också att inkluderas i nästa stabila version 1.0.8.
- Striktare kontroll av saknade händelser och korrigering av klibbig händelse (strömstart, keps, segment) på vissa ställen; Det här är inte aktiverat i stabila versioner som standard, men du kan få varningar när du använder git-builds, utvecklingsversioner eller när du sammanställer med -UG_DISABLE_ASSERT i CFLAGS
- x264enc utmatar nu data i byte-ström som standard om nedströms har några kepsar (t ex appsink utan kepsuppsättning, filesink, utpsink, tcpserversink etc.)
- MPEG TS demuxer inlägg meddelanden innehåller PMT, PAT, etc. i ett annat format nu. Detta nya format använder datastrukturerna från det nya MPEGTS-biblioteket
- GstContext API har ändrats mellan 1.1.4 och 1.1.90
Vad är nytt i version 1.1.4:
- Nytt API:
- GstContext-förhandling / delning / tillkännagivande för att dela ett generiskt sammanhang mellan element, t.ex. ett visningshandtag
- GL texturuppladdningskonvertering meta för att tillåta olika bufferttyper att konverteras till en OpenGL-textur
- GstCapsFeatures som tillägg till GstCaps för att tillåta förhandling av specifika minne eller metakrav mellan element
- GstMemory-flaggor för angränsande och icke-mappbart minne
- Stream-start-händelsen har valfria flaggor nu, t.ex. för att signalera glesa strömmar
- Stream-starten har även ett valfritt grupp-id-fält nu för att signalera alla strömmar som ska spelas tillsammans
- Tilldelningsbibliotek i gst-plugins-basen, för närvarande endast med generellt dmabuf-minnesstöd
- insertbin-bibliotek för enklare hantering av dynamiskt länkade rörledningar (in -bad för nu)
- EGL-hjälparbiblioteket (in -bad för nu)
- MPEG-TS datastrukturbibliotek (in -bad för nu)
- Ny GstVideoRegionOfInterestMeta för att beskriva en region av intresse på videoramar.
- GstVideoDecoder / Encoder har ny :: flush () vfunc för att ersätta den illdefinierade :: reset () vfunc.
- URI-frågan tillåter att fråga om den omdirigerade URIen nu.
- Viktiga ändringar:
- Nytt verktyg: gst-play-1.0 i gst-plugins-basen för grundläggande uppspelningstest på kommandoraden.
- Nya plugins:
- mssdemux för Microsoft Smooth Streaming
- dashdemux för DASH adaptivt streamingprotokoll
- bluez för interaktion med Bluetooth-enheter
- openjpeg för JPEG2000-avkodning och kodning
- Daala för experimentell Daala-avkodning och kodning
- vpx-plugin har experimentell V9-avkodnings- och kodningsstöd
- webp-plugin för WebP-avkodning (kodning som läggs till senare)
- Olika andra: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, accuraterip och audiofxbad
- Flytta plugins:
- dtmf, vp8rtp, scaletempo och rtpmux plugins finns i gst-plugins-bra nu
- Video:
- Korrigera hantering av interlaced video i omvandlare som video och video-konvertera (t ex skala båda fälten oberoende)
- Videokonvert kommer att försöka vara svårare att minimera kvalitetsförluster när omvandling är nödvändig
- De experimentella GstSurfaceConverter, GstSurfaceMeta och GstVideoContext APIs från biblioteket libgstbasevideo-1.0 (förvirrande namnet) i gst-plugins-bad har nu tagits bort och ersatts av nya API i GStreamer Core och gst-plugins-basen (se ovan ). Eftersom det var allt som var kvar i det här biblioteket, har hela biblioteket libgstbasevideo-1.0 biblioteket tagits bort från gst-plugins-bad.
- Chroma-undersampling och placeringskonvertering hanteras bättre i videokonvertering
- Nya pinwheel och talade mönster i videotestrc
- Audio:
- adder tillåter nu muting / unmuting av sina ingångsströmmar, och även volymvolymen per inmatning
- Pulseaudio-element kan växla mellan enheter under uppspelning nu
- aacparse kan konvertera mellan ADTS ← -> RAW
- Plattformspecifika ändringar:
- Kepsar, händelser etc. skrivs nu ut i GStreamer-felsökningsloggen med innehållet istället för bara pekaradressen även på icke-glibc-plattformar (t.ex. Windows, OSX, Android).
- Nätverkselement (UDP / TCP) fungerar nu bättre med plattformar, där IPv6-uttag inte kan hantera IPv4 (t.ex. Windows)
- Windows: d3dvideosink tillhandahåller en buffertpool till uppströmselement
- Linux / BSD: v4l2 hade många förbättringar och saneringar
- Andra ändringar:
- gst-libav använder nu libav 9
- Statisk länkning av plugins stöds nu (även i 1.0.7)
- rtspsrc: Lägg till stöd för NetClientClock: När servern föreslår en GstNetTimeProvider i SDP, sätta upp ett GstNetClientClock som slavar till fjärrklockan och föreslå den här klockan i provide_clock. Förenklar synkroniserad uppspelning av en resurs från en RTSP-server. gst-rtsp-servern stöder nu att lägga till den i SDP och kan tillhandahålla en nätverksklocka
- RTP-överföring / NACK-stöd och stora förbättringar av RTP-jitterbufferten
- Support för SRTP och DTLS
- Ändrar till många element och kärna för att använda rätt klibbig händelse ordning och inte heller förlora några viktiga klibbiga händelser under spolning
- > 1000 fixa felrapporter och många andra buggfixar och andra förbättringar överallt som inte hade någon felrapport
- Saker att se upp för:
- Enkelrubrik innehåller för alla bibliotek, t.ex. #include - detta var nödvändigt för vissa bindningar.
- Striktare (korrekta) kepsens delmängdskontroll i vissa fall där detta inte var korrekt tidigare. Kepsar kommer nu alltid att misslyckas med att vara en kompatibel delmängd av en annan uppsättning kepsar om delkåpan saknar några fält som superset-kepsarna har. Detta kan leda till icke-förhandlade fel om kepsen är ofullständig nu. Det förhindrar emellertid också möjlig datakorruption som orsakas av att data för piping formateras på ett inkompatibelt / oväntat sätt i vissa element. Kontrollera dina h264-kepsar för strömformat och anpassningsfält och AAC-kepsar för fältet för strömformat. Denna ändring kommer också att inkluderas i nästa stabila version 1.0.8.
- Striktare kontroll av saknade händelser och korrigering av klibbig händelse (strömstart, keps, segment) på vissa ställen; Det här är inte aktiverat i stabila versioner som standard, men du kan få varningar när du använder git-builds, utvecklingsversioner eller när du sammanställer med -UG_DISABLE_ASSERT i CFLAGS
- x264enc utmatar nu data i byte-ström som standard om nedströms har några kepsar (t ex appsink utan kepsuppsättning, filesink, utpsink, tcpserversink etc.)
Kommentarer hittades inte