GStreamer

Tela Software:
GStreamer
Detalhes de Software:
Versão: 1.14.2 Atualizado
Data de upload: 17 Aug 18
Revelador: Wim Taymans
Licença: Livre
Popularidade: 190

Rating: 1.5/5 (Total Votes: 4)

O GStreamer é uma biblioteca de código aberto, um software complexo que atua como uma estrutura multimídia para vários sistemas operacionais GNU / Linux, bem como para Android, OpenBSD, Mac OS X, Microsoft Windows, e Symbian OSes.


Recursos em resumo

Os principais recursos incluem uma biblioteca central abrangente, arquitetura de plug-in inteligente, cobertura estendida de tecnologias de multimídia, bem como extensas ferramentas de desenvolvimento, para que você possa adicionar suporte facilmente ao GStreamer em seus aplicativos.

É o principal backend de multimídia para uma ampla gama de projetos de software livre, provenientes de aplicativos de reprodução de áudio e vídeo, como o Totem (Videos) do ambiente de desktop GNOME e editores complexos de vídeo e áudio.

Além disso, o software apresenta desempenho muito alto e baixa latência, graças à tecnologia de transmissão de dados extremamente leve, bem como à sincronização global inter-stream (áudio / vídeo) por meio de clock.

Composto por vários pacotes de codecs

O projeto é composto por vários pacotes diferentes, também conhecidos como pacotes de códigos, que podem ser facilmente instalados em qualquer distribuição GNU / Linux a partir de seus repositórios de software padrão de uma só vez ou separadamente. Eles são os seguintes: Base de Plugins do GStreamer, Plugins do GStreamer Bons, Plugins do GStreamer Ruim, e Plugins do GStreamer Feios.

O GStreamer é uma biblioteca central compacta que permite construções de linhas aleatórias graças à sua estrutura baseada em gráficos, baseada na biblioteca de modelos de objeto GLib 2.0, que pode ser usada para design orientado a objetos e herança.


Utiliza a tecnologia QoS (Quality of Service)

Para garantir a melhor qualidade de áudio e vídeo possível sob alta carga de CPU, o projeto usa a tecnologia QoS (Quality of Service). Além disso, fornece uma construção transparente e trivial de pipelines multi-threaded.

Graças a sua API simples, estável e limpa (Application Programming Interface), os desenvolvedores podem integrá-lo facilmente em seus aplicativos, bem como para criar plug-ins que estenderão sua funcionalidade padrão. Ele também fornece um sistema de depuração completo.

Linha de fundo

Em conclusão, o GStreamer é uma estrutura multimídia muito poderosa e altamente apreciada para o ecossistema de código aberto, fornecendo aos usuários do GNU / Linux uma ampla gama de codecs de áudio e vídeo para reprodução e processamento de mídia.

strong> O que há de novo nesta versão:

  • versão do Bugfix.

O que há de novo na versão 1.14.1:

  • Liberação de correções.

O que é novo na versão:

  • Esta versão contém apenas correções de erros e deve ser seguro atualizar a partir de 1.8.0.

O que há de novo na versão 1.8.2:

  • Esta versão contém apenas correções de bugs e deve ser seguro para atualizar a partir da versão 1.8.0.

O que há de novo na versão 1.8.0:

  • Decodificação de vídeo com cópia zero acelerada por hardware no Android
  • Nova fonte de captura de vídeo para Android usando a API android.hardware.Camera
  • Suporte para reprodução reversa do Windows Media (ASF / WMV / WMA)
  • Novo sistema de rastreamento fornece suporte para ferramentas de depuração mais sofisticadas
  • Nova API de conveniência de reprodução GstPlayer de alto nível
  • Suporte inicial para a nova API Vulkan, consulte a postagem no blog de Matthew Waters para obter mais detalhes
  • Melhor suporte de codec de áudio Opus: Suporte para mais de dois canais; O demuxer / muxer MPEG-TS agora pode manipular o Opus; codificação / decodificação / transmuxação com precisão de amostra com Ogg, Matroska, ISOBMFF (Quicktime / MP4) e MPEG-TS como contêiner; novas funções utilitárias de codec para cabeçalho Opus e manipulação de caps na biblioteca pbutils. Os elementos codificadores / decodificadores Opus também foram movidos para a base de plugins gst (de -bad), e o depayloader / payloader opus RTP para -good.
  • Módulo VAAPI do GStreamer agora lançado e mantido como parte do projeto GStreamer
  • Suporte ao proxy de ativos nos serviços de edição do GStreamer

O que há de novo na versão 1.6.3:

  • Corrigir regressão na biblioteca GL que tornou o glimagesink não-utilizável no Android
  • Incremento aritmético inteiro no elemento queue2 que pode interromper o buffer ou causar falhas devido a desreferenciamento do ponteiro NULL
  • Corrigir falha no tipo de letra AAC / ADTS causada pela leitura de mais memória do que a disponível
  • Pare de ignorar os erros do codificador nos codificadores VP8 / VP9
  • Descontinuar o GSTVideoEncoder GST_VIDEO_ENCODER_FLOW_DROPPED. É redudante e nunca foi realmente implementado
  • Certifique-se de armazenar as informações corretas do vídeo em GstVideoBufferPool
  • Fix caps no rtspsrc ao fazer o SRTP sobre TCP intercalado
  • Corrigir falha no analisador pcap em pacotes de tamanho 0
  • Limpe a sinalização EOS no appsrc para permitir a reutilização após a EOS e a liberação
  • Ignore os fluxos de liberação no streamsynchronizer durante os comutadores de fluxo para corrigir problemas causados ​​por isso em gst-editing-services
  • Ignore tags e outros metadados em arquivos WAV depois que os dados & quot; dados & quot; pedaço no modo PUSH para evitar que eles sejam interpretados como áudio
  • Use corretamente a colorimetria na v4l2 apenas para formatos de cores YUV
  • Definir bits reservados no muxer MPEG TS para 1s
  • Corrigir o cálculo dos comprimentos de quadros do SBC
  • Correção da saída do depayloader RTP JPEG2000 para ter um quadro por buffer e falha no decodificador OpenJPEG em quadros incompletos
  • Atualizar o instantâneo do ffmpeg no gst-libav para 2.8.5
  • Correções de vazamento de memória no scaletempo, o depayloader de vídeo bruto do RTP e no playsink relacionado aos filtros de áudio / vídeo
  • Correções para manipulação de erros no plug-in de áudio do OSX
  • Várias correções e adições de anotações no introspection do gobject
  • Correções de aviso do compilador para o compilador clang mais recente

O que há de novo na versão 1.6.1:

  • Crashes nos codificadores gst-libav foram corrigidos
  • Mais fluxos de teste do DASH-IF estão funcionando agora
  • Fluxos Live DASH, HLS e MS SmoothStreaming funcionam com mais confiabilidade e outras correções para os protocolos de fluxo adaptativo
  • A reprodução reversa funciona com scaletempo para manter o tom de áudio
  • O tempo de fluxo correto é relatado para o valor aplicado negativo
  • A validação de pacotes SRTP durante a decodificação não rejeita mais pacotes válidos
  • Correções para o agregador de áudio e o agregador começarem a produzir a saída no momento certo e, por exemplo, não produzindo muito silêncio no começo
  • O instantâneo ffmpeg interno do gst-libav foi atualizado para 2.8.1
  • o cerbero tem suporte para o Mac OS X 10.11 (El Capitan)
  • Vários vazamentos de memória foram corrigidos, incluindo grandes vazamentos no playbin, no playink e no decodebin
  • Várias correções de anotação do GObject-Introspection para ligações
  • e muitos, muitos mais

O que há de novo na versão 1.6.0:

  • Suporte a vídeo 3D estereoscópico e multivisualização
  • API do modo de truque para key-frame apenas reprodução de avanço rápido / retrocesso rápido, etc.
  • DTS aprimorado (registro de data e hora de decodificação) vs. tratamento PTS (timestamp de apresentação) para considerar DTS negativo
  • Nova API GstVideoConverter para conversão mais otimizada e mais correta de quadros de vídeo brutos entre todos os formatos suportados, com redimensionamento
  • v4l2src agora suporta renegociação
  • v4l2transform agora pode fazer o dimensionamento
  • O Elemento V4L2 agora informa corretamente a Colorimetria
  • Gravação em partes mais fácil de MP4, Matroska, Ogg, MPEG-TS: novas melhorias no splitmuxsink e no multifilesink
  • API de sinalização de proteção de conteúdo e suporte de criptografia comum (CENC) para DASH / MP4
  • Muitos aprimoramentos de fluxo adaptativo (DASH, HLS e MSS)
  • Novos cliques do cliente de rede PTP e NTP e melhor estabilidade do rastreamento do relógio remoto
  • Sobreposição de legendas de texto de alta qualidade em resoluções de exibição com glimagesink ou gtkglsink
  • Suporte RECORD para o servidor RTSP do GStreamer
  • Suporte a retransmissões (RTX) no servidor e cliente RTSP
  • RTSP buscando suporte no cliente e servidor foi corrigido
  • Melhorias no agendamento RTCP e suporte RTCP de tamanho reduzido
  • MP4 / MOV muxer adquiriu um novo & quot; robusto & quot; modo de operação que tenta manter o arquivo de saída em um estado válido em todos os momentos
  • O suporte a mixagem ao vivo no agregador, audiomixer e compositor foi melhorado muito

  • O
  • compositor agora também suporta o redimensionamento de fluxos de entrada em tempo real
  • Novo elemento de interface de áudio com sincronização de entrada apropriada e suporte de entrada ao vivo
  • Blackmagic Design O suporte para captura e reprodução de cartões DeckLink foi reescrito do zero; Suporte 2k / 4k; modo de detecção
  • Suporte a metadados KLV em RTP e MPEG-TS
  • Codificador de vídeo H.265 (x265), decodificadores (libav, libde265) e payloader e depayloaders RTP
  • Novo plug-in DTLS e suporte para SRTP / DTLS
  • Suporte OpenGL3, vários contextos e propagação de contexto, vídeo 3D, separação de transferência / conversão, mistura de legendas
  • Novo coletor de vídeo QML baseado em OpenGL, coletor de vídeo Gtk GL, coletor de vídeo CoreAnimation CAOpenGLLayerSink
  • O gst-libav mudou para o ffmpeg como provedor libav, obtém suporte para vídeo 3D / multiview, modos de truques e o codec CAVS
  • API do GstHarness para testes de unidade
  • gst-editing-services tem uma interface ges-launch-1.0 completamente nova, melhor suporte a mixagem e integração em gst-validate
  • gnonlin foi substituído em favor de nle (Non Linear Engine) em gst-editing-services
  • O gst-validate tem um novo sistema de plug-ins, uma extensa testagem padrão, suporte para execuções de testes simultâneas e suporte a valgrind
  • A ferramenta de compilação do cerbero para pacotes binários do SDK ganha novo comando 'bundle-source'
  • Várias melhorias no suporte à plataforma Android, iOS, OS X e Windows

O que há de novo na versão 1.5.2:

  • 740502: Adicionar propriedade absoluta a GstDirectControlBinding
  • 740575: Corrigindo o DTS no GStreamer
  • 745366: concat: Avançar eventos FLUSH_START / FLUSH_STOP
  • 746949: concat: Adicione a propriedade da área ativa
  • 750027: concat: Redefine o deslocamento de início interno para 0 após a busca de flush
  • 750033: basetransform - permite o agrupamento / separação de buffers
  • 750039: Mantendo os buffers com memória compartilhada ativas
  • 750319: memory: subclasses não sabem flags de mapa em unmap
  • 750530: ptp: FreeBSD, FreeBSD e outros BSDs não possuem ifreq.ifw_hwaddr
  • 750574: netclientclock: transforma o relógio em um relógio de invólucro em torno de um relógio interno
  • 750761: inputselector: lida com diferentes faixas de duração
  • 750782: pipeline: adicione gst_pipeline_set_latency (), getter e propriedade GObject
  • 751026: baseink: Lide adequadamente com as listas de buffers para a propriedade da última amostra
  • 751047: concat: Adicionar propriedade base de ajuste
  • 751107: concat: ao liberar o pad, envie o EOS adequadamente.
  • 751235: utils: get_compatible_pad não respeita totalmente os limites de filtro
  • 751420: baseink: precisa copiar a última lista de buffers na drenagem

O que há de novo na versão 1.4.5:

  • núcleo do GStreamer:
  • 736969: queue2: bloqueio morto ao armazenar em buffer
  • 738092: base de dados: posição reportada pelo clamp com base na direção
  • 740001: tarefa: condição de corrida ao pausar e parar
  • Base de Plugins do GStreamer:
  • 741420: pools de vídeo: deve atualizar o tamanho na configuração depois de aplicar o alinhamento
  • 715050: adicione um typefinder para audio / x-audible
  • 739544: tcp: Adicionar teste e corrigir vazamento de memória em elementos tcp
  • 739840: o typefind deve reconhecer o Apple Core Audio Format (CAF)
  • 740556: videodecoder: não reclame quando DTS! = PTS em keyframes
  • 740675: playink: continua a reprodução, redefine a propriedade mudo
  • 740730: rtspconnection: não remova a origem do filho se a origem pai já tiver sido destruída
  • 740853: audiodecoder: envie eventos pendentes antes de enviar a EOS.
  • 740952: alsa: Correções do NetBSD
  • 741045: o audiorate pode perder a precisão do timestamp em alguns casos
  • 741198: playbin: vaza GstPads
  • Plugins do GStreamer Bom:
  • 711437: apev2mux: não deve colocar tags APEv2 no início dos arquivos WavPack
  • 726194: v4l2src não funciona bem quando uma placa de captura é às vezes entrelaçada, às vezes progressiva na mesma resolução
  • 736397: flvdemux: o comportamento de ressincronização por fluxo causa A / V-desyncs
  • 737603: v4l2bufferpool: define sinalizadores de entrelaçamento do buffer quando o campo é V4L2_FIELD_INTERLACED
  • 739476: vpx: falha ao construir contra libvpx do git
  • 739722: matroskamux: Registro seguro do segmento GstMatroskamuxPad
  • 739789: v4l2allocator: corrija a mensagem de erro se o alocador já estiver ativo
  • 739791: v4l2bufferpool: unref pool quando v4l2_allocator_new () falha
  • 739792: v4l2allocator: corrija o protótipo gst_v4l2_allocator_stop
  • 739996: videomixer: Baixa muitos frames, se uma das fontes for ao vivo
  • 740040: v4l2src: Falha na presença de V4L2_BUF_FLAG_ERROR
  • 740392: rtspsrc: vazamento de chave-mgmt decodificado do mikey base64
  • 740407: qtmux limita a captura a 4096x4096
  • 740633: v4l2src: o modo io RW está quebrado
  • 740636: v4l2src: framerate nem sempre é definido no driver
  • 740671: aspectratiocrop: a cultura precisa ser redefinida quando o tamanho do vídeo é alterado
  • 740905: v4l2: ainda tem 1 include para linux / videodev.h
  • 741271: rtph264pay: vazamento de buffer no payloader H.264 ao usar SPS / PPS
  • 741381: rtph264pay: a condição de corrida pode causar uma falha ao passar de PAUSED- & gt; PRONTO
  • 741407: desentrelaçamento: em query_caps retorna somente os formatos suportados se o filtro estiver entrelaçado
  • 737579: v4l2objeto: define o espaço de cores para dispositivos de saída
  • 739754: v4l2bufferpool: Deve validar se todas as memórias podem ser gravadas antes de serem enfileiradas
  • Plugins do GStreamer com defeito:
  • 722764: rawparse: corrija o tratamento da consulta SEEKING
  • 729768: mpegtsbase: aumentar o limite para ler mais bytes inicialmente para encontrar o PCR
  • 739152: gl / cacau: compilação com GNUStep falha
  • 740191: dvbbasesink: segfaults em 32 bits (rpi)
  • 740201: gl / cocoa: não compila em OSX & lt; 10.7 mais
  • 740451: srtpdec: vazamentos de eventos do coletor rtp / rtcp
  • 740953: configure.ac: operador de comparação de teste (1) não suportável
  • 741321: opusparse: corrigir análise de cabeçalho esp. de saída codificada de libopus
  • Servidor RTSP do GStreamer:
  • 739481: rtsp-stream: vaza o decodificador srtp ao sair do rtpbin

O que há de novo na versão 1.4.4:

  • Bugs corrigidos na versão 1.4.5:
  • 737498: multiqueue: não leva em conta o evento GAP ao calcular o nível atual
  • 737794: multiqueue: deadlock se a fila ultrapassar os eventos serializados
  • 737999: systemclock: problema de status de entrada de vários segmentos
  • 738198: multiqueue: não acorda fluxos não vinculados no EOS

O que há de novo na versão 1.4.1:

  • A série de lançamentos do 1.4 está adicionando novos recursos no topo da série 1.2 e faz parte da série de lançamentos da API e do ABI-stable 1.x da estrutura de multimídia GStreamer que contém novos recursos. As versões de correções de bugs do 1.4.x contêm apenas correções importantes em comparação com o 1.4.0.

O que há de novo na versão 1.4 RC2:

  • A equipe do GStreamer tem o prazer de anunciar o segundo release candidate da série de lançamentos do 1.4 estável. A série de lançamentos 1.4 está adicionando novos recursos ao topo das séries 1.0 e 1.2 e faz parte da série de lançamentos 1.x da API e do ABI-stable do framework multimídia GStreamer.
  • Espero que este release candidate seja seguido em breve pela versão estável 1.4.0 se não forem detectadas regressões maiores ou problemas maiores, e houver testes suficientes do release candidate. A nova API que foi adicionada durante a série de versões 1.3 não deve mudar mais neste momento.

O que há de novo na versão 1.4 RC1:

  • Nova API:
  • GstMessageType adicionou GST_MESSAGE_EXTENDED. Todos os tipos antes disso podem ser usados ​​juntos como um tipo de flags como antes, mas a partir dessa mensagem os tipos são contados apenas de forma incremental. Isso foi necessário para poder adicionar mais tipos de mensagens. Em 2.0 GstMessageType só vai se tornar um enum e não mais um tipo de flags.
  • GstDeviceMonitor para análise do dispositivo, por ex. para listar todos os dispositivos de captura de áudio ou vídeo disponíveis. Este é o substituto do GstPropertyProbe de 0.10.
  • Os eventos acumulam o deslocamento de tempo de execução agora ao viajar pelos blocos, conforme definido pela função gst_pad_set_offset (). Isso permite compensar isso no evento QOS, por exemplo.
  • O GstBuffer tem um novo sinalizador & quot; memória-tag & quot; que é definido automaticamente quando a memória é adicionada ou removida para um buffer. Isso permite que os pools de buffer detectem se podem reciclar um buffer ou precisar redefini-lo primeiro.
  • O GstToc tem uma nova API para marcar GstTocEntries como loops.
  • Um erro de recurso não autorizado foi definido para notificar aplicativos que o acesso ao recurso falhou devido à falta de autorização e para distinguir este caso de outros. Essa alteração já está na versão 1.2.4.
  • O GstPad tem um novo sinalizador & quot; aceitar-interseção & quot ;, que permite que o manipulador de consulta padrão ACCEPT_CAPS faça uma interseção em vez de um subconjunto. Isso é interessante para elementos do analisador que podem manipular limites incompletos.
  • GstCollectPads tem suporte para limpeza e um manipulador padrão para eventos SEEK agora.
  • Novo objeto auxiliar GstFlowAggregator que simplifica o tratamento de retornos de fluxo em elementos com vários preenchimentos de origem. Além disso, o GstPad agora sempre armazena o último retorno de fluxo e fornece uma API para recuperá-lo.
  • O GstSegment tem uma nova API para compensar o tempo de execução por um valor específico e isso é usado no GstPad para permitir deslocamentos positivos e negativos em gst_pad_set_offset () em todas as situações.
  • O suporte para h265 / HEVC e VP8 foi adicionado à biblioteca codec utils e codec parsers e foi integrado a vários elementos.

  • A API
  • para ajustar a validação TLS da conexão RTSP foi adicionada.
  • A biblioteca RTSP e SDP tem suporte a MIKEY (RFC 3830) agora, e há API para distinguir entre os diferentes perfis RTSP.
  • API para acessar informações e estatísticas de tempo do RTP.
  • O suporte para fluxos auxiliares foi adicionado ao rtpbin.
  • Foi adicionado suporte para formatos de vídeo simples e em mosaico.
  • O GstVideoDecoder e o GstAudioDecoder têm API para ajudar a agregar eventos de tags e mesclar tags personalizados a eles de maneira consistente.
  • O GstBufferPool tem suporte para limpeza agora.
  • playbin / playsink tem suporte para filtros de áudio e vídeo fornecidos pelo aplicativo.
  • O GstDiscoverer tem uma API nova e simplificada para obter detalhes sobre plug-ins e informações ausentes para passar para o instalador do plug-in.
  • A biblioteca GL foi mesclada de gst-plugins-gl para gst-plugins-bad, fornecendo uma infra-estrutura genérica para manipular GL dentro de pipelines GStreamer e um plug-in com alguns elementos usando esses, especialmente um coletor de vídeo. Atualmente, as plataformas suportadas são plataformas Android, Cocoa (OS X), DispManX (Raspberry Pi), EAGL (iOS), WGL (Windows) e genéricas X11, Wayland e EGL. Isso substitui o eglglessink e também deve substituir o osxvideosink.
  • Nova classe base do GstAggregator em gst-plugins-bad. Supõe-se que isso substitua o GstCollectPads no futuro e corrija falhas muito conhecidas em sua API. Juntamente com a classe base, alguns elementos já são fornecidos, como um videomixer (compositor).
  • Principais alterações:
  • Novos plug-ins e elementos:
  • elemento
  • v4l2videodec para acessar codecs de hardware em plataformas que os tornam acessíveis via V4L2, por exemplo, Samsung Exynos. Isso vem junto com a grande refatoração dos elementos V4L2 existentes e a infraestrutura correspondente. O elemento v4l2videodec substitui o elemento mfcdec.
  • Novo elemento downloadbuffer que substitui o recurso de buffer de download de queue2. Comparado ao código do queue2, é muito mais simples e apenas para este caso de uso único. Um novo recurso notável é que ele está baixando lacunas nas partes do fluxo já baixadas quando nada mais precisa ser baixado. Isso agora é usado pelo playbin quando o buffer de download está ativado.
  • Elementos rtpstreampay e rtpstreamdepay para transmissão de pacotes RTP por meio de uma API de fluxo (por exemplo, TCP) de acordo com a RFC 4571.
  • elementos rtprtx para implementação de retransmissões compatíveis com o padrão, integrados ao plug-in rtpmanager.
  • elemento audiomixer que mistura vários fluxos de áudio juntos em um único, mantendo a sincronização. Isso é planejado para se tornar a substituição do elemento somador.
  • Plugin OpenNI2 para câmeras 3D, como a câmera Kinect.
  • Plugin OpenEXR para decodificar imagens EXR de alta faixa dinâmica.
  • curlsshsink e curlsftpsink para gravar arquivos via SSH / SFTP.
  • videosignal, ivfparse e sndfile plugins portados a partir de 0.10.
  • avfvideosrc, vtdec e outros elementos foram portados a partir de 0,10 e estão disponíveis no OS X e iOS agora.
  • Outras alterações:
  • O gst-libav agora usa libav 10.1 e ganhou suporte para H265 / HEVC.
  • O suporte para codecs de hardware e tipos de memória especiais foi aprimorado com correções de bugs e adições de recursos em vários plug-ins e classes base.
  • Várias correções de erros e melhorias no armazenamento em buffer em elementos queue2 e multiqueue.
  • O dvbsrc suporta mais mecanismos de entrega e outros recursos agora, incluindo suporte a DVB S2 e T2.
  • A biblioteca MPEGTS tem suporte para muitos mais descritores.
  • Principais melhorias no tsdemux e tsparse, especialmente no tempo e em pesquisas relacionadas.
  • O souphttpsrc agora tem suporte para conexões keep-alive, compactação, número configurável de novas tentativas e configuração para validação do certificado SSL.
  • O hlsdemux passou por uma grande refatoração e agora funciona mais confiável e suporta mais recursos HLS, como os modos trick. Além disso, os fragmentos são enviados a jusante enquanto são baixados agora, em vez de esperar que cada fragmento termine.
  • O dashdemux e o mssdemux agora também estão empurrando fragmentos para downstream enquanto são baixados, em vez de esperar que cada fragmento termine.

  • O
  • videoflip pode virar automaticamente com base na tag de orientação.
  • o openjpeg suporta a API OpenJPEG2.
  • O waylandsink foi refatorado e deve ser mais útil agora. Também inclui uma pequena biblioteca que provavelmente será removida no futuro e resultará em extensões para a interface GstVideoOverlay.
  • gst-rtsp-server suporta SRTP e MIKEY agora.
  • Os codificadores gst-libav estão agora negociando qualquer configuração de perfil / nível com os limites de saída downstream.
  • Muitas correções para avisos de cobertura em todo o lugar.
  • Melhorias no desempenho relacionadas à negociação.
  • Mais de 800 relatórios de bugs corrigidos e muitas outras correções de bugs e outras melhorias em todos os lugares que não tinham nenhum relatório de bugs.
  • Itens a serem observados:
  • O elemento eglglessink foi removido e substituído pelo elemento glimagesink.
  • O elemento mfcdec foi removido e substituído por v4l2videodec.

  • O
  • osxvideosink está disponível apenas no OS X 10.6 ou mais recente.
  • No Android, o namespace da classe Java gerada automaticamente para a inicialização do GStreamer foi alterado de com.gstreamer para org.freedesktop.gstreamer para evitar a poluição do namespace.
  • No iOS, você precisa atualizar seus gst_ios_init.h e gst_ios_init.m em seus projetos daquele incluído nos binários, caso tenha usado o módulo GnuTLS GIO antes. O mecanismo de carregamento foi ligeiramente alterado.

O que há de novo na versão 1.2.4:

  • núcleo do GStreamer:
  • 724373: O Queue2 trunca seu arquivo temporário quando o pipeline é pausado
  • 725517: docs: corrigir erros de digitação e remover anotações desconhecidas
  • 725809: ghostpad: falha rara devido à falta de contagem de referências em seu bloco de destino
  • 727253: parse: o arquivo gerado pelo Bison incluído nos pacotes de lançamento causa erros de compilação
  • 727883: baseparse: vazamento de memória de quadros de fila
  • Base de Plugins do GStreamer:
  • 693263: typefinding: vídeo EM MPEG-2 detectado como H.263
  • 683504: playink: deadlock ao desabilitar legendas e desativação abaixo do ideal de legendas
  • 700770: typefinding: arquivo mp3 detectado incorretamente como vídeo h263
  • 723597: tagdemux: o evento Seek em GST_FORMAT_TIME é convertido para BYTES no início
  • 724633: oggdemux: ignora a última página no modo de envio
  • 724720: rtspconnection: não é possível desconectar / reconectar a conexão de leitura no modo encapsulado
  • 725313: o retorno de chamada rtspconnection: closed () nunca é chamado no modo encapsulado
  • 725644: typefinding: o arquivo mp3 é detectado incorretamente como H.263
  • 726642: rtspconnection: vazamento de memória menor no tratamento de erros
  • 727025: somador: refaça a lógica para verificar se o eos precisa ser enviado.
  • Plugins do GStreamer Bom:
  • 725104: qtdemux: reprodução reversa e falha de comutação de fluxo de vídeo
  • 722185: souphttpsrc: racy & quot; servidor não suporta procurar & quot; erro
  • 724619: falha ao ler a propriedade do nome do dispositivo do pulsesink
  • 725124: rtspsrc: Corrigir impasse quando a criação de tarefas não for bem-sucedida
  • 725712: rtpsession: falha quando a FIR RTCP é recebida com o SSRC desconhecido
  • 725860: v4l2src: corrija o uso do v4l2src com o dispositivo de captura de vídeo Hauppauge HDPVR
  • 726777: rtpjpegpay: tamanho da carga útil não calculado corretamente
  • 728017: o evento [regression] eos não pôde ser enviado pelo gstrtpjitterbuffer.
  • 728041: rtph264depay: marca todos os buffers de saída como unidades delta ao gerar o formato avc
  • 724638: aacparse: Resiliência ausente quando nenhum quadro de áudio é encontrado
  • 727329: check: souphttpsrc: nome do tipo desconhecido ‘SoupStatus '
  • Plugins do GStreamer com defeito:
  • 724013: Não codifique o caminho / usr / share / sounds / sf2 no ​​fluiddec
  • 725137: hlsdemux: falha ao calcular a URL da lista de reprodução de mídia se houver um parâmetro de consulta
  • 725140: hlsdemux: falha ao analisar corretamente CODECS e RESOLUTION
  • Plugins do libav do GStreamer:
  • 727779: avdec_h264, matroskademux: falha ao procurar (1,2 regressão)

O que há de novo na versão 1.2.2:

  • A série de lançamentos do 1.2 está adicionando novos apresenta os recursos da série 1.0 e faz parte da série de lançamentos da API e do ABI-stable 1.x da estrutura de multimídia GStreamer que contém novos recursos.

O que há de novo na versão 1.2.0:

  • Nova API:
  • Negociação / compartilhamento / anúncio de GstContext para compartilhar um contexto genérico entre elementos, por exemplo, uma alça de exibição
  • meta de conversão de upload de textura GL para permitir que diferentes tipos de buffer sejam convertidos em uma textura OpenGL
  • GstCapsFeatures como extensão para GstCaps para permitir a negociação de memória específica ou meta requisitos entre elementos
  • Sinalizadores GstMemory para memória contígua e não mapeável
  • O evento de início de stream tem sinalizadores opcionais agora, por exemplo para sinalizar fluxos esparsos
  • O início da transmissão ainda tem um campo id de grupo opcional para sinalizar todos os fluxos que devem ser reproduzidos juntos
  • Biblioteca de alocadores em gst-plugins-base, atualmente apenas com suporte a memória dmabuf genérica
  • biblioteca insertbin para facilitar o manuseio de pipelines dinamicamente vinculados (em -bad por enquanto)
  • Biblioteca Auxiliar EGL (em -bad por enquanto)
  • Biblioteca de estrutura de dados MPEG-TS (em -bad no momento)
  • Novo GstVideoRegionOfInterestMeta para descrever uma região de interesse em quadros de vídeo.
  • O GstVideoDecoder / Encoder possui o novo vfunc :: flush () para substituir o vfunc illefinido :: reset ().
  • A consulta de URI permite consultar o URI redirecionado agora.
  • Principais alterações:
  • Nova ferramenta: gst-play-1.0 no gst-plugins-base para testes básicos de reprodução na linha de comando.
  • Novos plug-ins:
  • mssdemux para Microsoft Smooth Streaming
  • dashdemux para o protocolo de fluxo adaptável DASH
  • bluez para interação com dispositivos Bluetooth
  • openjpeg para decodificação e codificação JPEG2000
  • daala para decodificação e codificação experimental do Daala
  • o plugin vpx tem suporte experimental para decodificação e codificação VP9
  • plug-in webp para decodificação de WebP (codificação a ser adicionada posteriormente)
  • Vários outros: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, recurso de precisão e audiofxbad
  • Plugins movidos:

  • Os plug-ins
  • dtmf, vp8rtp, scaletempo e rtpmux estão em bom estado agora
  • Vídeo:
  • Corrigir o tratamento de vídeo entrelaçado em conversores como videoscale e videoconvert (por exemplo, dimensionar ambos os campos de forma independente)
  • O videoconvert se esforçará para minimizar as perdas de qualidade quando a conversão for necessária
  • As APIs experimentais GstSurfaceConverter, GstSurfaceMeta e GstVideoContext da biblioteca libgstbasevideo-1.0 (com nomes confusos) em gst-plugins-bad foram removidas e substituídas por novas APIs no GStreamer Core e gst-plugins-base (veja acima ). Desde que foi tudo o que foi deixado nesta biblioteca, toda a biblioteca experimental libgstbasevideo-1.0 foi removida do gst-plugins-bad
  • A subamostragem de croma e a conversão de croma localização são melhor tratadas em videoconvert e o suporte para vídeo entrelaçado foi melhorado.
  • Novos padrões de cata-vento e raio em videotestes

  • O
  • videomixer agora pode aceitar diferentes formatos de vídeo em seus sinkpads e é convertido em um formato comum durante a mixagem
  • Áudio:

  • O
  • audioconvert se esforçará para minimizar as perdas de qualidade quando a conversão for necessária
  • o somador agora permite silenciar / ativar seus fluxos de entrada e também o volume do fluxo por entrada
  • elementos pulseaudio podem alternar entre dispositivos durante a reprodução agora
  • aacparse pode converter entre ADTS ← -> RAW
  • Alterações específicas da plataforma:
  • Caps, eventos, etc. são agora impressos nos logs de depuração do GStreamer com seu conteúdo, em vez de apenas o endereço do ponteiro, mesmo em plataformas não-glibc (por exemplo, Windows, OSX, Android).
  • Os elementos de rede (UDP / TCP) agora funcionam melhor com plataformas, nas quais os soquetes IPv6 não conseguem lidar com o IPv4 (por exemplo, o Windows)
  • Linux / BSD: v4l2 teve muitas melhorias e limpezas
  • Outras alterações:
  • gst-libav agora usa libav 9
  • Vinculação estática de plugins é suportada agora (também em 1.0.7)
  • rtspsrc: adiciona suporte para NetClientClock: quando o servidor sugere um GstNetTimeProvider no SDP, configure um GstNetClientClock que escravize para o relógio remoto e sugira este relógio em provide_clock. Simplifica a reprodução sincronizada de um recurso de um servidor RTSP. O gst-rtsp-server agora suporta a adição deste ao SDP e pode fornecer um relógio de rede
  • Suporte a retransmissão / NACK RTP e grandes melhorias no jitterbuffer da RTP
  • Suporte a SRTP e DTLS
  • Altera para muitos elementos e núcleo para usar a ordem correta de eventos fixos e também não perde eventos importantes durante a limpeza
  • & gt; 1000 relatórios de bugs corrigidos e muitas outras correções de bugs e outras melhorias em todos os lugares que não tinham relatórios de bugs
  • Itens a serem observados:
  • Cabeçalho único inclui para todas as bibliotecas, por exemplo #include - isso foi necessário para algumas ligações.
  • O Stricter (correto) limita a verificação de subconjuntos em alguns casos em que isso não estava correto antes. Caps agora sempre falhará em ser um subconjunto compatível de outro conjunto de limites se os limites de subconjunto estiverem faltando alguns campos que os limites de superconjunto têm. Isso pode levar a erros não negociados se os limites estiverem incompletos agora. No entanto, também evita a possível corrupção de dados causada por dados de tubulação formatados de maneira incompatível / inesperada em alguns elementos. Verifique seus limites de h264 para campos de formato e alinhamento de fluxo e limites de AAC para o campo de formato de fluxo. Essa alteração também será incluída na próxima versão 1.0.8 estável.
  • Verificação mais rigorosa de eventos ausentes e correção de ordem de eventos (stream-start, caps, segment) em alguns lugares; isso não está habilitado em versões estáveis ​​por padrão, mas você pode receber avisos ao usar compilações git, lançamentos de desenvolvimento ou ao compilar com -UG_DISABLE_ASSERT em CFLAGS
  • x264enc agora exibe dados em byte-stream por padrão se downstream tiver ANY caps (por exemplo, appsink sem caps set, filesink, udpsink, tcpserversink, etc.)
  • O demuxador MPEG TS envia mensagens contendo o PMT, PAT, etc. em um formato diferente agora. Este novo formato usa as estruturas de dados da nova biblioteca MPEGTS
  • A API do GstContext foi alterada entre 1.1.4 e 1.1.90

O que há de novo na versão 1.1.4:

  • Nova API:
  • Negociação / compartilhamento / anúncio de GstContext para compartilhar um contexto genérico entre elementos, por exemplo, uma alça de exibição
  • meta de conversão de upload de textura GL para permitir que diferentes tipos de buffer sejam convertidos em uma textura OpenGL
  • GstCapsFeatures como extensão para GstCaps para permitir a negociação de memória específica ou meta requisitos entre elementos
  • Sinalizadores GstMemory para memória contígua e não mapeável
  • O evento de início de stream tem sinalizadores opcionais agora, por exemplo para sinalizar fluxos esparsos
  • O início da transmissão ainda tem um campo id de grupo opcional para sinalizar todos os fluxos que devem ser reproduzidos juntos
  • Biblioteca de alocadores em gst-plugins-base, atualmente apenas com suporte a memória dmabuf genérica
  • biblioteca insertbin para facilitar o manuseio de pipelines dinamicamente vinculados (em -bad por enquanto)
  • Biblioteca Auxiliar EGL (em -bad por enquanto)
  • Biblioteca de estrutura de dados MPEG-TS (em -bad no momento)
  • Novo GstVideoRegionOfInterestMeta para descrever uma região de interesse em quadros de vídeo.
  • O GstVideoDecoder / Encoder possui o novo vfunc :: flush () para substituir o vfunc illefinido :: reset ().
  • A consulta de URI permite consultar o URI redirecionado agora.
  • Principais alterações:
  • Nova ferramenta: gst-play-1.0 no gst-plugins-base para testes básicos de reprodução na linha de comando.
  • Novos plug-ins:
  • mssdemux para Microsoft Smooth Streaming
  • dashdemux para o protocolo de fluxo adaptável DASH
  • bluez para interação com dispositivos Bluetooth
  • openjpeg para decodificação e codificação JPEG2000
  • daala para decodificação e codificação experimental do Daala
  • o plugin vpx tem suporte experimental para decodificação e codificação V9
  • plug-in webp para decodificação de WebP (codificação a ser adicionada posteriormente)
  • Vários outros: yadif, srtp, sbc, fluidsynth, midiparse, mfc, ivtv, recurso de precisão e audiofxbad
  • Plugins movidos:

  • Os plug-ins
  • dtmf, vp8rtp, scaletempo e rtpmux estão em bom estado agora
  • Vídeo:
  • Corrigir o tratamento de vídeo entrelaçado em conversores como videoscale e videoconvert (por exemplo, dimensionar ambos os campos de forma independente)
  • O videoconvert se esforçará para minimizar as perdas de qualidade quando a conversão for necessária
  • As APIs experimentais GstSurfaceConverter, GstSurfaceMeta e GstVideoContext da biblioteca libgstbasevideo-1.0 (com nomes confusos) em gst-plugins-bad foram removidas e substituídas por novas APIs no GStreamer Core e gst-plugins-base (veja acima ). Desde que foi tudo o que restou nesta biblioteca, toda a biblioteca experimental libgstbasevideo-1.0 foi removida do gst-plugins-bad.
  • A subamostragem de croma e a conversão de localização são melhor tratadas no videoconvert
  • Novos padrões de cata-vento e raio em videotestes
  • Áudio:
  • o somador agora permite silenciar / ativar seus fluxos de entrada e também o volume do fluxo por entrada
  • elementos pulseaudio podem alternar entre dispositivos durante a reprodução agora
  • aacparse pode converter entre ADTS ← -> RAW
  • Alterações específicas da plataforma:
  • Caps, eventos, etc. são agora impressos nos logs de depuração do GStreamer com seu conteúdo, em vez de apenas o endereço do ponteiro, mesmo em plataformas não-glibc (por exemplo, Windows, OSX, Android).
  • Os elementos de rede (UDP / TCP) agora funcionam melhor com plataformas, nas quais os soquetes IPv6 não conseguem lidar com o IPv4 (por exemplo, o Windows)
  • Windows: o d3dvideosink fornece um conjunto de buffers para elementos upstream
  • Linux / BSD: v4l2 teve muitas melhorias e limpezas
  • Outras alterações:
  • gst-libav agora usa libav 9
  • Vinculação estática de plugins é suportada agora (também em 1.0.7)
  • rtspsrc: adiciona suporte para NetClientClock: quando o servidor sugere um GstNetTimeProvider no SDP, configure um GstNetClientClock que escravize para o relógio remoto e sugira este relógio em provide_clock. Simplifica a reprodução sincronizada de um recurso de um servidor RTSP. O gst-rtsp-server agora suporta a adição deste ao SDP e pode fornecer um relógio de rede
  • Suporte a retransmissão / NACK RTP e grandes melhorias no jitterbuffer da RTP
  • Suporte a SRTP e DTLS
  • Altera para muitos elementos e núcleo para usar a ordem correta de eventos fixos e também não perde eventos importantes durante a limpeza
  • & gt; 1000 relatórios de bugs corrigidos e muitas outras correções de bugs e outras melhorias em todos os lugares que não tinham relatórios de bugs
  • Itens a serem observados:
  • Cabeçalho único inclui para todas as bibliotecas, por exemplo #include - isso foi necessário para algumas ligações.
  • O Stricter (correto) limita a verificação de subconjuntos em alguns casos em que isso não estava correto antes. Caps agora sempre falhará em ser um subconjunto compatível de outro conjunto de limites se os limites de subconjunto estiverem faltando alguns campos que os limites de superconjunto têm. Isso pode levar a erros não negociados se os limites estiverem incompletos agora. No entanto, também evita a possível corrupção de dados causada por dados de tubulação formatados de maneira incompatível / inesperada em alguns elementos. Verifique seus limites de h264 para campos de formato e alinhamento de fluxo e limites de AAC para o campo de formato de fluxo. Essa alteração também será incluída na próxima versão 1.0.8 estável.
  • Verificação mais rigorosa de eventos ausentes e correção de ordem de eventos (stream-start, caps, segment) em alguns lugares; isso não está habilitado em versões estáveis ​​por padrão, mas você pode receber avisos ao usar compilações git, lançamentos de desenvolvimento ou ao compilar com -UG_DISABLE_ASSERT em CFLAGS
  • x264enc agora exibe dados em byte-stream por padrão se downstream tiver ANY caps (por exemplo, appsink sem caps set, filesink, udpsink, tcpserversink, etc.)

Programas semelhantes

Audex
Audex

20 Feb 15

ZebraTuner
ZebraTuner

3 Jun 15

NCXmms
NCXmms

3 Jun 15

Ogmtools
Ogmtools

3 Jun 15

Outro software de desenvolvedor Wim Taymans

Comentário para GStreamer

Comentários não encontrado
Adicionar comentário
Ligue imagens!