È disponibile il framework multimediale GStreamer 1.16.0

Dopo oltre un anno di sviluppo ha avuto luogo rilasciare GStreamer 1.16, un insieme di componenti multipiattaforma scritti in C per creare un'ampia gamma di applicazioni multimediali, da lettori multimediali e convertitori di file audio/video, ad applicazioni VoIP e sistemi di streaming. Il codice GStreamer è concesso in licenza sotto LGPLv2.1. Allo stesso tempo, sono disponibili aggiornamenti ai plugin gst-plugins-base 1.16, gst-plugins-good 1.16, gst-plugins-bad 1.16, gst-plugins-ugly 1.16, nonché al collegamento gst-libav 1.16 e al server di streaming gst-rtsp-server 1.16. A livello API e ABI la nuova release è retrocompatibile con il ramo 1.0. Build binarie in arrivo sarà preparato per Android, iOS, macOS e Windows (su Linux si consiglia di utilizzare i pacchetti della distribuzione).

Chiave miglioramenti GStreamer 1.16:

  • Lo stack WebRTC ha aggiunto il supporto per i canali dati P2P implementati utilizzando il protocollo SCTP, nonché il supporto per BUNDLE per l'invio di diversi tipi di dati multimediali all'interno di una connessione e la possibilità di lavorare con più server TURN (estensione STUN per bypassare i traduttori di indirizzi);
  • Aggiunto il supporto per il codec video AV1 nei contenitori Matroska (MKV) e QuickTime/MP4. Sono state implementate ulteriori impostazioni AV1 ed è stato ampliato il numero di formati di dati di input supportati dall'encoder;
  • Aggiunto supporto sottotitoli, nonché la capacità di identificare ed estrarre altri tipi di dati integrati dal video ANC (Dati accessori, informazioni aggiuntive, come audio e metadati, trasmessi attraverso interfacce digitali nelle parti non visualizzate delle linee di scansione);
  • Aggiunto supporto per audio non codificato (grezzo) senza canali audio alternati in memoria (i canali audio non interleaved, sinistro e destro vengono posizionati in blocchi separati, invece di canali alternati nella forma "SINISTRA | DESTRA | SINISTRA | DESTRA | SINISTRA | DESTRA" );
  • Spostato nel set base di plugin (gst-plugins-base) GstVideoAggregatore (classe per mixare video grezzi), compositore (un sostituto migliorato per videomixer) e gli elementi mixer OpenGL (glvideomixer, glmixerbin, glvideomixerelement, glstereomix, glmosaic), che erano precedentemente inseriti nel set "gst-plugins-bad";
  • Aggiunto nuovo il regime alternanza di campi, in cui ciascun buffer viene elaborato come un campo separato in video interlacciato con la separazione dei campi superiore e inferiore a livello di flag associati al buffer;
  • Il supporto per il formato WebM e la crittografia dei contenuti è stato aggiunto al decompressore dei contenitori multimediali Matroska;
  • Aggiunto un nuovo elemento wpesrc che funziona come un browser basato sul motore WebKit WPE (ti consente di trattare l'output del browser come una fonte di dati);
  • Video4Linux fornisce supporto per la codifica e decodifica HEVC, codifica JPEG e importazione ed esportazione dmabuf migliorate;
  • È stato aggiunto il supporto per la decodifica VP8/VP9 al decoder video utilizzando la GPU con accelerazione hardware NVIDIA, mentre al codificatore è stato aggiunto il supporto per la codifica con accelerazione hardware H.265/HEVC;
  • Sono stati apportati numerosi miglioramenti al plugin msdk, che consente l'utilizzo dell'accelerazione hardware per la codifica e decodifica sui chip Intel (basati su Intel Media SDK). Ciò include il supporto aggiuntivo per l'importazione/esportazione dmabuf, la decodifica VP9, ​​la codifica HEVC a 10 bit, la post-elaborazione video e la modifica dinamica della risoluzione;
  • Il sistema di rendering dei sottotitoli ASS/SSA ha aggiunto il supporto per l'elaborazione di più sottotitoli che si intersecano nel tempo e li visualizzano simultaneamente sullo schermo;
  • È stato fornito il supporto completo per il sistema di compilazione Meson, che ora è consigliato per compilare GStreamer su tutte le piattaforme. Nel prossimo ramo è prevista la rimozione del supporto per gli Autotools;
  • La struttura principale di GStreamer include collegamenti per lo sviluppo nel linguaggio Rust e un modulo con plugin in Rust;
  • L'ottimizzazione delle prestazioni è stata effettuata.

Fonte: opennet.ru

Aggiungi un commento