Este é o comando gst-launch-1.0 que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS
PROGRAMA:
NOME
gst-launch - construir e executar um pipeline GStreamer
SINOPSE
gst-lançamento [OPÇÃO...] DESCRIÇÃO DO PIPELINE
DESCRIÇÃO
gst-lançamento é uma ferramenta que constrói e executa o básico GStreamer gasodutos.
De forma simples, uma DESCRIÇÃO DO PIPELINE é uma lista de elementos separados por exclamação
marcas (!). As propriedades podem ser anexadas a elementos, na forma propriedade = valor.
Para uma descrição completa das possíveis DESCRIÇÕES DO PIPELINE veja a seção oleoduto
descrição abaixo ou consulte a documentação do GStreamer.
Por favor, note que gst-lançamento é principalmente uma ferramenta de depuração para desenvolvedores e usuários. Vocês
não deve construir aplicativos sobre ele. Para aplicativos, use o gst_parse_launch ()
função da API GStreamer como uma maneira fácil de construir pipelines a partir de pipeline
descrições.
OPÇÕES
gst-lançamento aceita as seguintes opções:
--Socorro Imprimir sinopse da ajuda e FLAGS disponíveis
-dentro, --verbose
Informações de status de saída e notificações de propriedade
-q, --quieto
Não imprima nenhuma informação de progresso
-m, --mensagens
Mensagens de saída postadas no barramento do pipeline
-t, --Tag
Tags de saída (também conhecidas como metadados)
-e --eos-on-desligamento
Força um evento EOS nas origens antes de encerrar o pipeline. Isso é útil para
certifique-se de que os muxers criam arquivos legíveis quando um pipeline de muxing é desligado
forçosamente via Control-C.
-eu, --índice
Reúna e imprima estatísticas de índice. Isso é principalmente útil para reprodução ou gravação
gasodutos.
-f, --sem culpa
Não instale um gerenciador de falhas
-T, --vestígio
Imprimir rastreios de alocação de memória. O recurso deve ser habilitado em tempo de compilação para
<span class="word" data-word="work." style="--word-index: 2; translate: none; rotate: none; scale: none; transform: translate(0px, 0px); opacity: 1;">work.</span>
GSTREAMER OPÇÕES
gst-lançamento também aceita as seguintes opções que são comuns a todos os GStreamer
formulários:
--gst-versão
Imprime a string de versão do GStreamer biblioteca central.
--gst-avisos fatais
destaque GStreamer para abortar se ocorrer uma mensagem de aviso. Isso é equivalente a
definindo a variável de ambiente G_DEBUG para 'fatal_warnings' (veja a seção
meio Ambiente variáveis abaixo para mais informações).
--gst-debug = STRING
Uma lista separada por vírgulas de category_name: pares de nível para especificar os níveis de depuração
para cada categoria. O nível está no intervalo 0-9, onde 0 não mostrará nenhuma mensagem e 9
irá mostrar todas as mensagens. O curinga * pode ser usado para corresponder aos nomes das categorias. Observação
que a ordem das categorias e níveis é importante, os curingas no final podem
níveis de substituição definidos anteriormente. Os níveis de registro são: 1 = ERROR, 2 = WARNING, 3 = FIXME,
4 = INFO, 5 = DEBUG, 6 = LOG, 7 = TRACE, 9 = MEMDUMP. Desde GStreamer 1.2, também se pode usar
os nomes dos níveis de depuração, por exemplo --gst-debug = * sink: LOG. Uma descrição completa do
vários níveis de depuração podem ser encontrados na documentação da API da biblioteca central do GStreamer,
na seção "Executando aplicativos GStreamer".
Use --gst-debug-help para mostrar os nomes das categorias
Exemplo: GST_CAT: 5, GST_ELEMENT _ *: 3, oggdemux: 5
--gst-debug-level = LEVEL
Define o limite para impressão de mensagens de depuração. Um nível superior irá imprimir
mais mensagens. O intervalo útil é 0-9, com o padrão sendo 0. Nível 6 (LOG
nível) mostrará todas as informações geralmente necessárias para fins de depuração.
Os níveis mais altos são úteis apenas em casos muito específicos. Veja acima a lista completa
de níveis.
--gst-debug-sem-cor
GStreamer normalmente imprime mensagens de depuração para que as mensagens sejam codificadas por cores
quando impresso em um terminal que lida com sequências de escape ANSI. Usando esta opção
causas GStreamer para imprimir mensagens sem cor. Configurando o GST_DEBUG_NO_COLOR
a variável de ambiente alcançará a mesma coisa.
--gst-debug-color-mode
GStreamer normalmente imprime mensagens de depuração para que as mensagens sejam codificadas por cores
quando impresso em um terminal que lida com sequências de escape ANSI (em * nix), ou usa
API do console W32 para colorir as mensagens impressas em um console (no W32). Usando este
opção causa GStreamer para imprimir mensagens sem cor ('desligado' ou 'desabilitado'),
imprimir mensagens com cores padrão ('on' ou 'auto'), ou imprimir mensagens usando ANSI
sequências de escape para colorir ('unix'). Configurando o GST_DEBUG_COLOR_MODE
a variável de ambiente alcançará a mesma coisa.
--gst-debug-disable
Desativa a depuração.
--gst-debug-ajuda
Imprime uma lista de categorias de depuração disponíveis e seu nível de depuração padrão.
--gst-plugin-spew
GStreamer sinalizadores de informações para ativar a impressão de erros durante o carregamento GStreamer
plugins
--gst-plugin-path = PATH
Adicione diretórios separados por ':' ao caminho de pesquisa do plugin
--gst-plugin-load = PLUGINS
Pré-carregar plug-ins especificados em uma lista separada por vírgulas. Outra maneira de especificar
plug-ins para pré-carregar é usar a variável de ambiente GST_PLUGIN_PATH
TUBULAÇÃO DESCRIÇÃO
Um pipeline consiste elementos e Links. elementos pode ser colocado em caixas de diferentes tipos.
elementos, Links e caixas pode ser especificado em uma descrição de pipeline em qualquer ordem.
elementos
TIPO DE ELEMENTO [PROPRIEDADE1 ...]
Cria um elemento do tipo ELEMENTTYPE e define PROPERTIES.
Propriedades
PROPRIEDADE = VALOR ...
Define a propriedade com o valor especificado. Você pode usar gst-inspecionar(1) para descobrir sobre
propriedades e valores permitidos de diferentes elementos.
As propriedades de enumeração podem ser definidas por nome, apelido ou valor.
bins
[BINTIPO.] ( [PROPRIEDADE1 ...] DESCRIÇÃO DO PIPELINE)
Especifica que um compartimento do tipo BINTYPE é criado e as propriedades fornecidas são definidas. Cada
elemento entre as chaves é colocado na caixa. Observe o ponto que deve ser usado
após o BINTYPE. Você quase nunca vai precisar dessa funcionalidade, ela só é realmente útil
para aplicativos que usam a API gst_launch_parse () com 'bin' como bintype. Assim é
possível construir pipelines parciais em vez de um pipeline de nível superior completo.
Informações Úteis
[[SRCELEMENT]. [PAD1, ...]] ! [[SINKELEMENT]. [PAD1, ...]] [[SRCELEMENT]. [PAD1, ...]] ! CÁPSULAS !
[[SINKELEMENT]. [PAD1, ...]]
Vincula o elemento com o nome SRCELEMENT ao elemento com o nome SINKELEMENT, usando o
limites especificados em CAPS como um filtro. Os nomes podem ser definidos em elementos com a propriedade name.
Se o nome for omitido, o elemento que foi especificado diretamente antes ou depois do
link é usado. Isso funciona em caixas. Se um padname for fornecido, o link é feito com estes
almofadas. Se nenhum nome de pad for fornecido, todas as possibilidades serão tentadas e um pad correspondente será usado.
Se vários padnames forem fornecidos, ambos os lados devem ter o mesmo número de pads especificados e
vários links são feitos na ordem fornecida.
Portanto, o link mais simples é um ponto de exclamação simples, que liga o elemento à esquerda de
para o elemento à direita dele.
Caps
TIPO DE MÍDIA [, PROPRIEDADE[, PROPRIEDADE ...]]] [; CÁPSULAS[; CAPS ...]]
Cria um recurso com o tipo de mídia fornecido e, opcionalmente, com as propriedades fornecidas. o
tipo de mídia pode ser escapado usando "ou '. Se você quiser encadear caps, você pode adicionar mais caps
posteriormente no mesmo formato.
Propriedades
Name =[(MODELO)]VALOR
em listas e intervalos: [(MODELO)]VALOR
Define a propriedade solicitada em recursos. O nome é um valor alfanumérico e o
type pode ter os seguintes valores que não diferenciam maiúsculas de minúsculas:
- i or int para valores inteiros ou intervalos
- f or flutuar para valores flutuantes ou intervalos
- b, bool or booleano para valores booleanos
- s, str or corda para cordas
- fração para frações (taxa de quadros, proporção de pixel)
- l or Lista para listas
Se nenhum tipo for fornecido, a seguinte ordem é tentada: inteiro, flutuante, booleano, string.
Os valores inteiros devem ser analisáveis por strtol (), flutua por strtod (). Os valores FOURCC podem
ser inteiros ou strings. Os valores booleanos não diferenciam maiúsculas de minúsculas sim, não, verdadeiro or falso e
pode gostar de strings com escape de "ou '.
Os intervalos estão neste formato: [VALUE, VALUE]
As listas usam este formato: {VALUE [, VALOR ...] }
TUBULAÇÃO EXEMPLOS
Os exemplos a seguir presumem que você possui os plug-ins corretos disponíveis. Em geral,
"osssink" pode ser substituído por outro plug-in de saída de áudio, como "esdsink",
"alsasink", "osxaudiosink" ou "artsdsink". Da mesma forma, "xvimagesink" pode ser substituído
com "ximagesink", "sdlvideosink", "osxvideosink" ou "aasink". Tenha em mente que
coletores diferentes podem aceitar formatos diferentes e até mesmo o mesmo coletor pode aceitar
formatos diferentes em máquinas diferentes, então pode ser necessário adicionar elementos de conversão como
audioconvert e audiorample (para áudio) ou videoconvert (para vídeo) na frente do
afundar para fazer as coisas funcionarem.
em áudio reprodução
gst-lançamento arquivosrc location = music.mp3 ! louco ! audioconvert ! audioramostra !
sumidouro
Toque o arquivo de música mp3 "music.mp3" usando um plug-in baseado em libmad e envie para um OSS
dispositivo
gst-lançamento arquivosrc location = music.ogg ! oggdemux ! Vorbisdec ! audioconvert !
audioramostra ! sumidouro
Tocar um arquivo no formato Ogg Vorbis
gst-lançamento gnomevfssrc location = music.mp3 ! louco ! sumidouro
gst-lançamento gnomevfssrc localização =http://domain.com/music.mp3 ! louco ! audioconvert !
audioramostra ! sumidouro
Tocar um arquivo mp3 ou um fluxo http usando GNOME-VFS
gst-lançamento gnomevfssrc location = smb: //computer/music.mp3 ! louco ! audioconvert !
audioramostra ! sumidouro
Use GNOME-VFS para reproduzir um arquivo mp3 localizado em um servidor SMB
Formato conversão
gst-lançamento arquivosrc location = music.mp3 ! louco ! audioconvert ! vorbissen ! oggmux !
link de arquivo location = music.ogg
Converter um arquivo de música mp3 em um arquivo Ogg Vorbis
gst-lançamento arquivosrc location = music.mp3 ! louco ! audioconvert ! flacência ! link de arquivo
location = test.flac
Converter para o formato FLAC
Outros
gst-lançamento arquivosrc location = music.wav ! wavparse ! audioconvert ! audioramostra !
sumidouro
Reproduz um arquivo .WAV que contém dados de áudio brutos (PCM).
gst-lançamento arquivosrc location = music.wav ! wavparse ! audioconvert ! vorbissen !
oggmux ! link de arquivo location = music.ogg
gst-lançamento arquivosrc location = music.wav ! wavparse ! audioconvert ! paralítico ! link de arquivo
location = music.mp3
Converta um arquivo .WAV contendo dados de áudio brutos em um arquivo Ogg Vorbis ou mp3
gst-lançamento cdparanoiasrc modo = contínuo ! audioconvert ! paralítico ! id3v2mux !
link de arquivo location = cd.mp3
extrai todas as faixas do disco compacto e as converte em um único arquivo mp3
gst-lançamento cdparanoiasrc trilha = 5 ! audioconvert ! paralítico ! id3v2mux ! link de arquivo
location = track5.mp3
extrai a faixa 5 do CD e a converte em um único arquivo mp3
utilização gst-inspecionar(1), é possível descobrir configurações como as acima para cdparanoiasrc
que o dirá para rasgar o CD inteiro ou apenas faixas dele. Alternativamente, você pode usar
um URI e gst-launch-1.0 irão encontrar um elemento (como cdparanoia) que suporta que
protocolo para você, por exemplo:
gst-lançamento cdda: // 5 ! paralítico vbr = novo qualidade vbr = 6 ! link de arquivo location = track5.mp3
gst-lançamento osssrc ! audioconvert ! vorbissen ! oggmux ! link de arquivo
location = input.ogg
grava o som de sua entrada de áudio e o codifica em um arquivo ogg
Vídeo
gst-lançamento arquivosrc location = JB_FF9_TheGravityOfLove.mpg ! dvddemux ! MPEG2DEC !
xviimagesink
Exibe apenas a parte de vídeo de um arquivo de vídeo MPEG-1, enviando para uma janela de exibição X
gst-lançamento arquivosrc location = / flflfj.vob ! dvddemux ! MPEG2DEC ! sdlvideosink
Exibir a parte do vídeo de um arquivo .vob (usado em DVDs), enviando para uma janela SDL
gst-lançamento arquivosrc location = movie.mpg ! dvddemux name = demuxer desmuxer. ! fila !
MPEG2DEC ! sdlvideosink desmuxer. ! fila ! louco ! audioconvert ! audioramostra ! sumidouro
Reproduza partes de vídeo e áudio de um filme MPEG
gst-lançamento arquivosrc location = movie.mpg ! MPEGDEMUX name = demuxer desmuxer. ! fila !
MPEG2DEC ! videoconversão ! sdlvideosink desmuxer. ! fila ! louco ! audioconvert !
audioramostra ! sumidouro
Reproduza um filme AVI com um fluxo de legenda de texto externo
Este exemplo também mostra como se referir a blocos específicos por nome se for um elemento (aqui:
textoverlay) tem vários coletores ou almofadas de origem.
gst-lançamento sobreposição de texto name = overlay ! videoconversão ! escala de vídeo ! coletor de vídeo automático
arquivosrc location = movie.avi ! decodebina ! videoconversão ! overlay.video_sink arquivosrc
location = movie.srt ! subparso ! overlay.text_sink
Reproduza um filme AVI com um fluxo de legenda de texto externo usando o playbin
gst-lançamento caixa de brinquedos uri = file: ///path/to/movie.avi suburi = file: ///path/to/movie.srt
Network de streaming
Transmita vídeo usando RTP e elementos de rede.
gst-lançamento v4l2src ! video / x-raw, largura = 128, altura = 96, formato = UYVY ! videoconversão !
fenc_h263 ! video / x-h263 ! rtph263ppay pt = 96 ! udpsink host = 192.168.1.1 port = 5000
Este comando seria executado no transmissor
gst-lançamento udpsrc port = 5000 ! application / x-rtp, clock-rate = 90000, payload = 96 !
rtph263pdepay atraso de fila = 0 ! ffdec_h263 ! xviimagesink
Use este comando no receptor
Diagnóstico
gst-lançamento -v Fakesrc num-buffers = 16 ! falsa
Gere um fluxo nulo e ignore-o (e imprima os detalhes).
gst-lançamento audiotestsrc ! audioconvert ! audioramostra ! sumidouro
Gere um tom senoidal puro para testar a saída de áudio
gst-lançamento videotestsrc ! xviimagesink
gst-lançamento videotestsrc ! ximagesink
Gere um padrão de teste familiar para testar a saída de vídeo
Automático vinculação
Você pode usar o elemento decodebin para selecionar automaticamente os elementos certos para obter um
pipeline de trabalho.
gst-lançamento arquivosrc location = musicfile ! decodebina ! audioconvert ! audioramostra !
sumidouro
Reproduza qualquer formato de áudio compatível
gst-lançamento arquivosrc location = videofile ! decodebina nome = decodificador decodificador. ! fila !
audioconvert ! audioramostra ! sumidouro decodificador. ! videoconversão ! xviimagesink
Jogue qualquer formato de vídeo compatível com saída de vídeo e áudio. Threads são usados
automaticamente. Para tornar isso ainda mais fácil, você pode usar o elemento playbin:
gst-lançamento caixa de brinquedos uri = file: ///home/joe/foo.avi
Filtrada conexões
Esses exemplos mostram como usar tampas filtradas.
gst-lançamento videotestsrc ! 'video / x-raw, format = YUY2; video / x-raw, format = YV12' !
xviimagesink
Mostre uma imagem de teste e use o formato de vídeo YUY2 ou YV12 para isso.
gst-lançamento osssrc ! 'audio / x-raw, rate = [32000,64000], format = {S16LE, S24LE, S32LE}' !
onda ! link de arquivo localização = gravação.wav
gravar áudio e gravá-lo em um arquivo .wav. Força o uso de amostras assinadas de 16 a 32 bits e um
taxa de amostragem entre 32kHz e 64kHz.
MEIO AMBIENTE VARIÁVEIS
GST_DEBUG
Lista separada por vírgulas de categorias e níveis de depuração (por exemplo
GST_DEBUG = totem: 4, tipo de letra: 5). '*' é permitido como um caractere curinga como parte da depuração
nomes de categorias (por exemplo, GST_DEBUG = * coletor: 6, * áudio *: 6). Desde 1.2.0 também é possível
para especificar o nível de log por nome (1 = ERROR, 2 = WARN, 3 = FIXME, 4 = INFO, 5 = DEBUG, 6 = LOG,
7 = TRACE, 9 = MEMDUMP) (por exemplo, GST_DEBUG = * áudio *: LOG)
GST_DEBUG_NO_COLOR
Quando esta variável de ambiente é definida, a saída de depuração colorida é desabilitada.
GST_DEBUG_DUMP_DOT_DIR
Quando definido para um caminho de sistema de arquivos, armazene arquivos 'dot' de gráficos de pipeline lá. Esses
pode então ser convertido em uma imagem usando o utilitário 'ponto' do graphviz
conjunto de ferramentas, como este: ponto foo.dot -Tsvg -o foo.svg (png ou jpg também são possíveis
como formato de saída). Também existe um utilitário chamado 'xdot' que permite visualizar
o arquivo .dot diretamente sem convertê-lo primeiro.
GST_REGISTRY
Caminho do arquivo de registro do plugin. O padrão é ~ / .cache / gstreamer-1.0 / registry-
CPU.bin onde CPU é o tipo de máquina / cpu para o qual GStreamer foi compilado, por exemplo, 'i486',
'i686', 'x86-64',
GST_REGISTRY_UPDATE
Defina como "não" para forçar o GStreamer a assumir que nenhum plug-in foi alterado, foi adicionado
ou foi removido. Isso fará com que o GStreamer pule a verificação inicial se uma reconstrução
do cache de registro é necessário ou não. Isso pode ser útil em
ambientes onde os plug-ins instalados nunca mudam. Não use esta opção em
qualquer outra configuração.
GST_PLUGIN_PATH
Especifica uma lista de diretórios para pesquisar plug-ins adicionais. Estes levam
precedência sobre os plug-ins do sistema.
GST_PLUGIN_SYSTEM_PATH
Especifica uma lista de plug-ins que sempre são carregados por padrão. Se não for definido, este
o padrão é o caminho de instalação do sistema e os plug-ins instalados na casa do usuário
anuário
GST_DEBUG_FILE
Defina esta variável para um caminho de arquivo para redirecionar todas as mensagens de depuração do GStreamer para este
Arquivo. Se não for definido, as mensagens de depuração serão geradas até o erro padrão.
ORC_CODE
Variável de ambiente Orc útil. Defina ORC_CODE = debug para habilitar depuradores como gdb
para criar backtraces úteis a partir do código gerado pelo Orc. Defina ORC_CODE = backup ou
ORC_CODE = emular se você suspeitar que o gerador de código SIMD do Orc está produzindo incorretamente
código. (Alguns plug-ins importantes do GStreamer como videotestsrc, audioconvert ou
audiosample use Orc).
G_DEBUG
Variável de ambiente GLib útil. Defina G_DEBUG = fatal_warnings para fazer GStreamer
os programas são interrompidos quando ocorre um aviso crítico, como uma falha de declaração. Isto é
útil se você quiser descobrir qual parte do código fez com que esse aviso fosse
desencadeada e em que circunstâncias. Basta definir G_DEBUG conforme mencionado acima e
execute o programa em gdb (ou deixe-o fazer o dump principal). Em seguida, obtenha um rastreamento de pilha no usual
maneira.
Use gst-launch-1.0 online usando serviços onworks.net