InglêsFrancêsEspanhol

Ad


favicon do OnWorks

formatos ffmpeg - online na nuvem

Execute formatos ffmpeg no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando ffmpeg-Formats 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 Windows online ou emulador MAC OS online

PROGRAMA:

NOME


formatos ffmpeg - formatos FFmpeg

DESCRIÇÃO


Este documento descreve os formatos suportados (muxers e demuxers) fornecidos pelo
biblioteca libavformat.

FORMATO OPÇÕES


A biblioteca libavformat fornece algumas opções globais genéricas, que podem ser definidas em todos os
muxers e demuxers. Além disso, cada muxer ou demuxer pode suportar os chamados privados
opções, que são específicas para aquele componente.

As opções podem ser definidas especificando -opção valor nas ferramentas FFmpeg, ou definindo o
valor explicitamente nas opções "AVFormatContext" ou usando o libavutil / opt.h API para
uso programático.

A lista de opções com suporte é a seguinte:

avioflags bandeiras (input / output)
Valores possíveis:

diretamente
Reduza o armazenamento em buffer.

sonda número inteiro (entrada)
Defina o tamanho de sondagem em bytes, ou seja, o tamanho dos dados a serem analisados ​​para obter o fluxo
em formação. Um valor mais alto permitirá detectar mais informações caso sejam
disperso no fluxo, mas aumentará a latência. Deve ser um número inteiro não menor
de 32. É 5000000 por padrão.

tamanho do pacote número inteiro (saída)
Defina o tamanho do pacote.

bandeiras bandeiras (input / output)
Defina sinalizadores de formato.

Valores possíveis:

ignidx
Ignore o índice.

busca rápida
Habilite buscas rápidas, mas imprecisas para alguns formatos.

genptos
Gerar PTS.

nofilina
Não preencha os valores ausentes que podem ser calculados com exatidão.

noparso
Desative o AVParsers, isso também precisa de "+ nofillin".

igndts
Ignore o DTS.

descartar corrupção
Descarte os quadros corrompidos.

sortdts
Tente intercalar os pacotes de saída por DTS.

guarda-roupa
Não mescle dados secundários.

latino-americano
Habilite a carga útil RTP MP4A-LATM.

sem buffer
Reduza a latência introduzida pelo buffer opcional

bitexato
Grave apenas dados independentes de plataforma, construção e tempo. Isso garante que o arquivo
e as somas de verificação de dados são reproduzíveis e combinam entre as plataformas. Seu uso principal
é para teste de regressão.

see2any número inteiro (entrada)
Permitir a busca de frames não-chave no nível do demuxer quando compatível, se definido como 1. Padrão
é 0.

analisado número inteiro (entrada)
Especifique quantos microssegundos são analisados ​​para testar a entrada. Um valor mais alto irá
permitem detectar informações mais precisas, mas aumentará a latência. O padrão é
5,000,000 microssegundos = 5 segundos.

chave criptográfica hexadecimal corda (entrada)
Defina a chave de descriptografia.

indexmem número inteiro (entrada)
Defina a memória máxima usada para o índice de carimbo de data / hora (por fluxo).

rtbufsize número inteiro (entrada)
Defina a memória máxima usada para o buffer de frames em tempo real.

fdebug bandeiras (input / output)
Imprima informações de depuração específicas.

Valores possíveis:

ts
max_delay número inteiro (input / output)
Defina o atraso máximo de muxing ou demuxing em microssegundos.

fpsprobesize número inteiro (entrada)
Defina o número de quadros usados ​​para testar fps.

audio_preload número inteiro (saída)
Defina microssegundos pelos quais os pacotes de áudio devem ser intercalados anteriormente.

pedaço_duração número inteiro (saída)
Defina microssegundos para cada pedaço.

tamanho do pedaço número inteiro (saída)
Defina o tamanho em bytes para cada pedaço.

err_detectar, f_err_detect bandeiras (entrada)
Defina sinalizadores de detecção de erros. "f_err_detect" está obsoleto e deve ser usado apenas via
que o ffmpeg ferramenta.

Valores possíveis:

verificar
Verifique os CRCs incorporados.

fluxo de bits
Detecte desvios de especificação de fluxo de bits.

amortecer
Detecte comprimento de fluxo de bits impróprio.

explodir
Abortar a decodificação na detecção de erros menores.

cuidadoso
Considere coisas que violam as especificações e não foram vistas na natureza como
erros.

compatível
Considere todas as não conformidades de especificações como erros.

agressivo
Considere coisas que um codificador lógico não deve fazer como um erro.

max_interleave_delta número inteiro (saída)
Defina a duração máxima do buffer para intercalação. A duração é expressa em
microssegundos e o padrão é 1000000 (1 segundo).

Para garantir que todos os fluxos sejam intercalados corretamente, libavformat irá esperar até que
tem pelo menos um pacote para cada fluxo antes de realmente gravar qualquer pacote no
arquivo de saída. Quando alguns fluxos são "esparsos" (ou seja, há grandes lacunas entre
pacotes sucessivos), isso pode resultar em buffer excessivo.

Este campo especifica a diferença máxima entre os carimbos de data / hora do primeiro e
o último pacote na fila de muxing, acima do qual libavformat produzirá um pacote
independentemente de ter colocado um pacote na fila para todos os fluxos.

Se definido como 0, libavformat continuará armazenando pacotes em buffer até que tenha um pacote para
cada fluxo, independentemente da diferença máxima de carimbo de data / hora entre os
pacotes.

use_wallclock_as_timestamps número inteiro (entrada)
Use o relógio de parede como carimbos de data / hora.

Avoid_negative_ts número inteiro (saída)
Valores possíveis:

make_non_negative
Mude os carimbos de data / hora para torná-los não negativos. Observe também que isso afeta apenas
carimbos de data / hora negativos principais e carimbos de data / hora negativos não monotônicos.

fazer_zero
Mude os carimbos de data / hora para que o primeiro seja 0.

auto (Padrão)
Permite a mudança quando exigido pelo formato de destino.

inválido
Desativa a mudança de carimbo de data / hora.

Quando a mudança está habilitada, todos os carimbos de data / hora de saída são deslocados na mesma quantidade. Áudio,
vídeo, dessincronização de legendas e diferenças de timestamp relativas são preservadas
em comparação a como eles teriam sido sem mudar.

skip_initial_bytes número inteiro (entrada)
Defina o número de bytes a pular antes de ler o cabeçalho e os quadros se definido como 1. O padrão é
0.

correct_ts_overflow número inteiro (entrada)
Corrija estouros de carimbo de data / hora único se definido como 1. O padrão é 1.

flush_packets número inteiro (saída)
Libere o fluxo de E / S subjacente após cada pacote. O padrão 1 o habilita e tem o
efeito de redução da latência; 0 desativa e pode aumentar ligeiramente o desempenho em
alguns casos.

saída_ts_offset compensar (saída)
Defina a diferença de tempo de saída.

compensar deve ser uma especificação de duração de tempo, consulte que o Horário duração seção in que o
ffmpeg-utils(1) manual.

O deslocamento é adicionado pelo muxer aos carimbos de data / hora de saída.

Especificar um deslocamento positivo significa que os fluxos correspondentes são atrasados ​​pelo
duração de tempo especificada em compensar. O valor padrão é 0 (o que significa que nenhum deslocamento é
aplicado).

formato_lista_branca Lista (entrada)
"," Lista separada de demuxers permitidos. Por padrão, todos são permitidos.

dump_separator corda (entrada)
Separador usado para separar os campos impressos na linha de comando sobre o Fluxo
parâmetros. Por exemplo, para separar os campos com novas linhas e recuo:

ffprobe -dump_separator "
" -eu ~ / videos / matrixbench_mpeg2.mpg

Formato transmitir canais especificadores
Especificadores de fluxo de formato permitem a seleção de um ou mais fluxos que correspondem
propriedades.

As formas possíveis de especificadores de fluxo são:

índice_stream
Corresponde ao fluxo com este índice.

stream_type[:índice_stream]
stream_type é um dos seguintes: 'v' para vídeo, 'a' para áudio, 's' para legenda, 'd'
para dados e 't' para anexos. Se índice_stream é fornecido, então ele corresponde ao
número do fluxo índice_stream deste tipo. Caso contrário, ele corresponde a todos os fluxos deste
tipo.

p:ID_do_programa[:índice_stream]
If índice_stream é fornecido, então ele combina o fluxo com o número índice_stream no
programa com o id ID_do_programa. Caso contrário, ele corresponde a todos os fluxos do programa.

#stream_id
Corresponde ao fluxo por um ID específico de formato.

A semântica exata dos especificadores de fluxo é definida pelo
função "avformat_match_stream_specifier ()" declarada no libavformat / avformat.h
cabeçalho.

DEMUXADORES


Demuxers são elementos configurados no FFmpeg que podem ler os fluxos de multimídia de um
tipo específico de arquivo.

Quando você configura sua construção FFmpeg, todos os demuxers suportados são habilitados por padrão.
Você pode listar todos os disponíveis usando a opção de configuração "--list-demuxers".

Você pode desabilitar todos os demuxers usando a opção de configuração "--disable-demuxers", e
habilitar seletivamente um único demuxer com a opção "--enable-demuxer =DEMUXER ", ou desabilitar
com a opção "--disable-demuxer =DEMUXER ".

A opção "-formats" das ferramentas ff * exibirá a lista de demuxers habilitados.

Segue-se a descrição de alguns dos demuxers atualmente disponíveis.

aa
Desmuxador de formato audível 2, 3 e 4.

Este demuxer é usado para demuxar arquivos Audible Format 2, 3 e 4 (.aa).

maçãhttp
Demuxer Apple HTTP Live Streaming.

Este demuxer apresenta todos os AVStreams de todos os streams variantes. O campo id é definido para o
número de índice da variante de taxa de bits. Definindo os sinalizadores de descarte em AVStreams (pressionando 'a'
ou 'v' em ffplay), o chamador pode decidir quais fluxos variantes realmente receber. o
a taxa de bits total da variante à qual o stream pertence está disponível em uma chave de metadados
denominado "variant_bitrate".

apng
Demuxer do Animated Portable Network Graphics.

Este demuxer é usado para demuxar arquivos APNG. Todos os cabeçalhos, exceto a assinatura PNG, até (mas
não incluindo) o primeiro bloco fcTL é transmitido como extradados. Os quadros são então divididos
como sendo todos os pedaços entre dois fcTL, ou entre os últimos pedaços fcTL e IEND.

-ignore_loop bool
Ignore a variável de loop no arquivo, se configurada.

-max_fps int
Taxa de quadros máxima em quadros por segundo (0 para sem limite).

-default_fps int
Taxa de quadros padrão em quadros por segundo quando nenhum é especificado no arquivo (0 significa
o mais rápido possível).

asf
Demuxer de formato de sistemas avançados.

Este demuxer é usado para demuxar arquivos ASF e fluxos de rede MMS.

-no_resync_search bool
Não tente sincronizar novamente procurando um determinado código de início opcional.

concat
Demuxer de script de concatenação virtual.

Este demuxer lê uma lista de arquivos e outras diretivas de um arquivo de texto e os desmuxa
um após o outro, como se todos os seus pacotes tivessem sido misturados.

Os carimbos de data / hora nos arquivos são ajustados de forma que o primeiro arquivo comece em 0 e cada próximo
o arquivo começa onde o anterior termina. Observe que isso é feito globalmente e pode causar
lacunas se todos os fluxos não tiverem exatamente o mesmo comprimento.

Todos os arquivos devem ter os mesmos streams (mesmos codecs, mesma base de tempo, etc.).

A duração de cada arquivo é usada para ajustar os carimbos de data / hora do próximo arquivo: se o
a duração está incorreta (porque foi calculada usando a taxa de bits ou porque o arquivo é
truncado, por exemplo), pode causar artefatos. A diretiva "duração" pode ser usada para
sobrescrever a duração armazenada em cada arquivo.

Sintaxe

O script é um arquivo de texto em ASCII estendido, com uma diretiva por linha. Linhas vazias,
espaços e linhas que começam com '#' são ignorados. A seguinte diretiva é
reconhecido:

"Arquivo caminho"
Caminho para um arquivo a ser lido; caracteres especiais e espaços devem ser escapados com barra invertida
ou aspas simples.

Todas as diretivas subsequentes relacionadas a arquivos se aplicam a esse arquivo.

"ffconcat versão 1.0 "
Identifique o tipo e a versão do script. Ele também define o seguro opção para 1 se fosse para
seu padrão -1.

Para fazer o FFmpeg reconhecer o formato automaticamente, esta diretiva deve aparecer exatamente
como está (sem espaço extra ou marca de ordem de byte) na primeira linha do script.

"duração difícil"
Duração do arquivo. Essas informações podem ser especificadas no arquivo; especificando-o
aqui pode ser mais eficiente ou ajudar se a informação do arquivo não estiver disponível
ou preciso.

Se a duração for definida para todos os arquivos, então é possível buscar na totalidade
vídeo concatenado.

"no ponto timestamp"
No ponto do arquivo. Quando o demuxer abre o arquivo, ele procura instantaneamente
carimbo de data / hora especificado. A busca é feita para que todos os fluxos possam ser apresentados com sucesso
no ponto.

Esta diretiva funciona melhor com codecs intra frame, porque para os não intra frame
você geralmente obterá pacotes extras antes do ponto de entrada real e do conteúdo decodificado
provavelmente conterá quadros antes do ponto de entrada também.

Para cada arquivo, os pacotes antes do ponto de entrada do arquivo terão carimbos de data / hora menores que o
data e hora de início calculada do arquivo (negativo no caso do primeiro arquivo), e o
a duração dos arquivos (se não for especificada pela diretiva "duração") será reduzida
com base em seu ponto de entrada especificado.

Por causa de pacotes potenciais antes do ponto In especificado, os carimbos de data / hora do pacote podem
sobreposição entre dois arquivos concatenados.

"marcar mais pontos que timestamp"
Ponto de saída do arquivo. Quando o demuxer atinge o timestamp de decodificação especificado em
qualquer um dos streams, ele o trata como uma condição de fim de arquivo e pula o atual
e todos os pacotes restantes de todos os fluxos.

O ponto de saída é exclusivo, o que significa que o demuxer não emitirá pacotes com um
timestamp de decodificação maior ou igual ao ponto de saída.

Esta diretiva funciona melhor com codecs intra-quadro e formatos onde todos os fluxos são
firmemente intercalado. Para codecs não intraquadro, você geralmente obterá
pacotes com data e hora de apresentação após o ponto de saída, portanto, o conteúdo decodificado irá
muito provavelmente também contém quadros após o ponto de saída. Se seus streams não estão estreitos
intercalado, você pode não obter todos os pacotes de todos os fluxos antes do ponto de saída e você
só poderá decodificar o fluxo mais antigo até o ponto de saída.

A duração dos arquivos (se não for especificada pela diretiva "duração") será
reduzido com base em seu ponto de saída especificado.

"file_packet_metadata chave = valor"
Metadados dos pacotes do arquivo. Os metadados especificados serão definidos para cada arquivo
pacote. Você pode especificar esta diretiva várias vezes para adicionar vários metadados
entradas.

"Stream"
Apresente um fluxo no arquivo virtual. Todas as diretivas subsequentes relacionadas ao fluxo
aplicam-se ao último fluxo introduzido. Algumas propriedades de streams devem ser definidas para
permitem identificar os fluxos correspondentes nos subarquivos. Se nenhum fluxo for definido em
o script, os fluxos do primeiro arquivo são copiados.

"exact_stream_id id"
Defina a id do stream. Se esta diretiva for fornecida, a string com o
ids correspondentes nos subarquivos serão usados. Isso é especialmente útil para MPEG-PS
(VOB), em que a ordem dos fluxos não é confiável.

Opções

Este demuxer aceita a seguinte opção:

seguro
Se definido como 1, rejeita caminhos de arquivo não seguros. Um caminho de arquivo é considerado seguro se não
contém uma especificação de protocolo e é relativo e todos os componentes contêm apenas
caracteres do conjunto de caracteres portáteis (letras, dígitos, ponto, sublinhado e
hífen) e não tem ponto no início de um componente.

Se definido como 0, qualquer nome de arquivo é aceito.

O padrão é -1, é equivalente a 1 se o formato foi detectado automaticamente e 0
de outra forma.

auto_convert
Se definido como 1, tente realizar conversões automáticas em dados de pacote para tornar os fluxos
concatenável. O padrão é 1.

Atualmente, a única conversão é adicionar o filtro de fluxo de bits h264_mp4toannexb para
Transmissões H.264 em formato MP4. Isso é necessário, em particular se houver resolução
alterações.

flv
Demuxer do Adobe Flash Video Format.

Este demuxer é usado para demuxar arquivos FLV e fluxos de rede RTMP.

-flv_metadados bool
Aloque os fluxos de acordo com o conteúdo da matriz onMetaData.

libgme
A biblioteca Game Music Emu é uma coleção de emuladores de arquivos de música de videogame.

Vejohttp://code.google.com/p/game-music-emu/> para mais informações.

Alguns arquivos possuem várias faixas. O demuxer escolherá a primeira faixa por padrão. o
track_index opção pode ser usada para selecionar uma faixa diferente. Os índices de trilha começam em 0. O
demuxer exporta o número de faixas como faixas entrada de metadados.

Para arquivos muito grandes, o tamanho máximo pode ser necessário ajustar a opção.

libquvi
Reproduza mídia de serviços de Internet usando o projeto quvi.

O demuxer aceita um formato opção de solicitar uma qualidade específica. É por padrão definido como
melhor.

Vejohttp://quvi.sourceforge.net/> para mais informações.

O FFmpeg precisa ser compilado com "--enable-libquvi" para que este demuxer seja habilitado.

gif
Demuxer de GIF animado.

Aceita as seguintes opções:

min_atraso
Defina o atraso mínimo válido entre os quadros em centésimos de segundos. O intervalo é de 0 a
6000. O valor padrão é 2.

max_gif_delay
Defina o atraso máximo válido entre os quadros em centésimos de segundos. O intervalo é de 0 a
65535. O valor padrão é 65535 (quase onze minutos), o valor máximo permitido por
a especificação.

atraso_padrão
Defina o atraso padrão entre os quadros em centésimos de segundos. O intervalo é de 0 a 6000.
O valor padrão é 10.

ignorar_loop
Os arquivos GIF podem conter informações para repetir um certo número de vezes (ou infinitamente).
If ignorar_loop é definido como 1, então a configuração de loop da entrada será ignorada e
looping não ocorrerá. Se definido como 0, então ocorrerá um loop e fará o ciclo do número
de vezes de acordo com o GIF. O valor padrão é 1.

Por exemplo, com o filtro de sobreposição, coloque um GIF em loop infinito sobre outro vídeo:

ffmpeg -i input.mp4 -ignore_loop 0 -i input.gif -filter_complex overlay = shortest = 1 out.mkv

Observe que no exemplo acima, a opção mais curta para o filtro de sobreposição é usada para encerrar o
saída de vídeo no comprimento do arquivo de entrada mais curto, que neste caso é entrada.mp4 as
o GIF neste exemplo faz um loop infinito.

image2
Demuxer de arquivo de imagem.

Este demuxer lê de uma lista de arquivos de imagem especificados por um padrão. A sintaxe e
o significado do padrão é especificado pela opção Tipo de Padrão.

O padrão pode conter um sufixo que é usado para determinar automaticamente o formato de
as imagens contidas nos arquivos.

O tamanho, o formato do pixel e o formato de cada imagem devem ser iguais para todos os
arquivos na sequência.

Este demuxer aceita as seguintes opções:

framerate
Defina a taxa de quadros para o fluxo de vídeo. O padrão é 25.

laço
Se definido como 1, faz um loop na entrada. O valor padrão é 0.

Tipo de Padrão
Selecione o tipo de padrão usado para interpretar o nome do arquivo fornecido.

Tipo de Padrão aceita um dos seguintes valores.

Nenhum
Desative a correspondência de padrões, portanto, o vídeo conterá apenas os
imagem. Você deve usar esta opção se não quiser criar sequências de
várias imagens e seus nomes de arquivo podem conter caracteres de padrão especial.

seqüência
Selecione um tipo de padrão de sequência, usado para especificar uma sequência de arquivos indexados por
números sequenciais.

Um padrão de sequência pode conter a string "% d" ou "% 0Nd ", que especifica o
posição dos caracteres que representam um número sequencial em cada nome de arquivo
correspondido pelo padrão. Se a forma "% d0Nd "é usado, a string que representa o
número em cada nome de arquivo é preenchido com 0 e N é o número total de dígitos preenchidos com 0
representando o número. O caractere literal '%' pode ser especificado no padrão
com a string "%%".

Se o padrão de sequência contém "% d" ou "% 0Nd ", o primeiro nome do arquivo
lista especificada pelo padrão deve conter um número contido inclusive entre
número_inicial e número_inicial+intervalo_número_inicial-1 e todos os seguintes números
deve ser sequencial.

Por exemplo, o padrão "img-% 03d.bmp" corresponderá a uma sequência de nomes de arquivos do
formulário img-001.bmp, img-002.bmp, ..., img-010.bmpetc .; o padrão
"i %% m %% g-% d.jpg" loading = "preguiçoso" irá corresponder a uma sequência de nomes de arquivo do formulário i% m% g-1.jpg,
i% m% g-2.jpg, ..., i% m% g-10.jpg, etc.

Observe que o padrão não deve conter necessariamente "% d" ou "% 0Nd ", por exemplo para
converter um único arquivo de imagem img.jpeg você pode empregar o comando:

ffmpeg -i img.jpeg img.png

glob
Selecione um tipo de padrão de curinga glob.

O padrão é interpretado como um padrão "glob ()". Isso só é selecionável se
libavformat foi compilado com suporte a globbing.

sequência_glob (descontinuada, precisarão be removido)
Selecione um padrão de sequência / curinga glob misturado.

Se sua versão do libavformat foi compilada com suporte a globbing, e o
padrão fornecido contém pelo menos um metacaractere glob entre "% *? [] {}" que é
precedido por um "%" sem escape, o padrão é interpretado como um padrão "glob ()",
caso contrário, é interpretado como um padrão de sequência.

Todos os caracteres especiais glob "% *? [] {}" Devem ser prefixados com "%". Para escapar de um
literal "%" você deve usar "%%".

Por exemplo, o padrão "foo -% *. Jpeg" irá corresponder a todos os nomes de arquivos prefixados por
"foo-" e terminando com ".jpeg", e "foo -%?%?% ?. jpeg" irá corresponder a todos os
nomes de arquivos prefixados com "foo-", seguido por uma sequência de três caracteres, e
terminando com ".jpeg".

Este tipo de padrão está obsoleto em favor de glob e seqüência.

O valor padrão é sequência_glob.

formato_pixel
Defina o formato de pixel das imagens a serem lidas. Se não for especificado, o formato do pixel é
adivinhada a partir do primeiro arquivo de imagem na sequência.

número_inicial
Defina o índice do arquivo correspondente ao padrão de arquivo de imagem para começar a ler.
O valor padrão é 0.

intervalo_número_inicial
Defina o intervalo de intervalo de índice para verificar ao procurar o primeiro arquivo de imagem no
sequência, começando de número_inicial. O valor padrão é 5.

ts_from_file
Se definido como 1, definirá o carimbo de data / hora do quadro para a hora de modificação do arquivo de imagem. Observe que
a monotonia dos carimbos de data / hora não é fornecida: as imagens vão na mesma ordem que sem isso
opção. O valor padrão é 0. Se definido como 2, definirá o timestamp do quadro para a modificação
hora do arquivo de imagem na precisão de nanossegundos.

tamanho do vídeo
Defina o tamanho do vídeo das imagens a serem lidas. Se não for especificado, o tamanho do vídeo é adivinhado
do primeiro arquivo de imagem na sequência.

Exemplos

· Usar ffmpeg para criar um vídeo a partir das imagens na sequência de arquivos img-001.jpeg,
img-002.jpeg, ..., assumindo uma taxa de quadros de entrada de 10 quadros por segundo:

ffmpeg -framerate 10 -i 'img-% 03d.jpeg' out.mkv

· Como acima, mas comece lendo um arquivo com índice 100 na sequência:

ffmpeg -framerate 10 -start_number 100 -i 'img-% 03d.jpeg' out.mkv

· Leia as imagens que correspondem ao padrão glob "* .png" loading = "lazy", ou seja, todos os arquivos que terminam com
o sufixo ".png" loading = "preguiçoso":

ffmpeg -framerate 10 -pattern_type glob -i "* .png" loading = "preguiçoso" out.mkv

mov / mp4 / 3gp / Quicktme
Demuxer Quicktime / MP4.

Este demuxer aceita as seguintes opções:

enable_drefs
Habilita o carregamento de trilhas externas, desabilitado por padrão. Habilitando isso pode
teoricamente vaza informações em alguns casos de uso.

use_absolute_path
Permite o carregamento de trilhas externas por meio de caminhos absolutos, desativado por padrão. Possibilitando
isso representa um risco de segurança. Só deve ser habilitado se a fonte for conhecida como não
malicioso.

MPEGTS
Demuxer de fluxo de transporte MPEG-2.

Este demuxer aceita as seguintes opções:

tamanho_ressincronizado
Defina o limite de tamanho para procurar uma nova sincronização. O valor padrão é 65536.

fix_teletext_pts
Substitua os valores PTS e DTS do pacote de teletexto com os carimbos de data / hora calculados a partir do
PCR do primeiro programa do qual o fluxo de teletexto faz parte e não é descartado.
O valor padrão é 1, defina esta opção para 0 se você quiser que seu pacote de teletexto PTS e DTS
valores intocados.

ts_packetsize
Opção de saída carregando o tamanho do pacote bruto em bytes. Mostra o pacote bruto detectado
tamanho, não pode ser definido pelo usuário.

scan_all_pmts
Digitalize e combine todos os PMTs. O valor é um número inteiro com valor de -1 a 1 (-1 significa
configuração automática, 1 significa habilitado, 0 significa desabilitado). O valor padrão é -1.

vídeo bruto
Demuxer de vídeo cru.

Este demuxer permite a leitura de dados de vídeo brutos. Uma vez que não há cabeçalho especificando o
parâmetros de vídeo assumidos, o usuário deve especificá-los para poder decodificar o
dados corretamente.

Este demuxer aceita as seguintes opções:

framerate
Defina a taxa de quadros do vídeo de entrada. O valor padrão é 25.

formato_pixel
Defina o formato de pixel de vídeo de entrada. O valor padrão é "yuv420p".

tamanho do vídeo
Defina o tamanho do vídeo de entrada. Este valor deve ser especificado explicitamente.

Por exemplo, para ler um arquivo rawvideo input.raw de ffplay, assumindo um formato de pixel de
"rgb24", um tamanho de vídeo de "320x240" e uma taxa de quadros de 10 imagens por segundo, use o
comando:

ffplay -f rawvideo -pixel_format rgb24 -video_size 320x240 -framerate 10 input.raw

sbg
Demuxer de script SBaGen.

Este demuxer lê a linguagem de script usada por SBaGenhttp://uazu.net/sbagen/> para
gerar sessões de batidas binaurais. Um script SBG se parece com isso:

-AUTO
a: 300-2.5/3 440+4.5/0
b: 300-2.5/0 440+4.5/3
desligado: -
AGORA == a
+0: ​​07: 00 == b
+0: ​​14: 00 == a
+0: ​​21: 00 == b
+0: ​​30: 00 de desconto

Um script SBG pode misturar carimbos de data / hora absolutos e relativos. Se o script usar apenas
carimbos de data / hora absolutos (incluindo o horário de início do script) ou apenas relativos, então é
o layout é fixo e a conversão é direta. Por outro lado, se o script
mistura os dois tipos de carimbo de data / hora, então o Estamos referência para carimbos de data / hora relativos será
tirado da hora atual do dia no momento em que o script é lido e o layout do script
será congelado de acordo com essa referência. Isso significa que se o script for diretamente
tocado, os tempos reais corresponderão aos carimbos de data / hora absolutos até o controlador de som
precisão do relógio, mas se o usuário de alguma forma pausar a reprodução ou buscar, todos os tempos serão
mudou de acordo.

legendas
Legendas JSON usadas parahttp://www.ted.com/>.

O TED não fornece links para as legendas, mas eles podem ser adivinhados na página. o
lima tools / bookmarklets.html da árvore de origem FFmpeg contém um bookmarklet para expor
Eles.

Este demuxer aceita a seguinte opção:

hora_início
Defina a hora de início da palestra TED, em milissegundos. O padrão é 15000 (15s). Isto é
usado para sincronizar as legendas com os vídeos para download, porque eles incluem um 15s
introdução.

Exemplo: converta as legendas para um formato que a maioria dos jogadores entenda:

ffmpeg -eu http://www.ted.com/talks/subtitles/id/1/lang/en talk1-pt.srt

MUXADORES


Muxers são elementos configurados no FFmpeg que permitem escrever fluxos de multimídia para um
tipo específico de arquivo.

Quando você configura sua construção FFmpeg, todos os muxers suportados são habilitados por padrão. Você
pode listar todos os muxers disponíveis usando a opção de configuração "--list-muxers".

Você pode desativar todos os muxers com a opção de configuração "--disable-muxers" e
habilitar / desabilitar seletivamente muxers únicos com as opções "--enable-muxer =MUXER " /
"--disable-muxer =MUXER ".

A opção "-formats" das ferramentas ff * exibirá a lista de muxers habilitados.

Segue uma descrição de alguns dos muxers disponíveis atualmente.

aff
Muxer de formato de arquivo de intercâmbio de áudio.

Opções

Aceita as seguintes opções:

write_id3v2
Habilite a gravação de tags ID3v2 quando definido como 1. O padrão é 0 (desabilitado).

id3v2_versão
Selecione a versão ID3v2 para gravar. Atualmente, apenas as versões 3 e 4 (também conhecidas como ID3v2.3 e
ID3v2.4) são suportados. O padrão é a versão 4.

crc
Formato de teste CRC (Cyclic Redundancy Check).

Este muxer calcula e imprime o Adler-32 CRC de todos os quadros de áudio e vídeo de entrada.
Por padrão, os quadros de áudio são convertidos em áudio bruto de 16 bits e os quadros de vídeo em bruto
vídeo antes de calcular o CRC.

A saída do muxer consiste em uma única linha da forma: CRC = 0xCRC, Onde CRC é um
número hexadecimal 0 preenchido com 8 dígitos contendo o CRC para todas as entradas decodificadas
quadros.

Veja também o framecrc misturador.

Exemplos

Por exemplo, para calcular o CRC da entrada e armazená-lo no arquivo saída.crc:

ffmpeg -i INPUT -f crc saída.crc

Você pode imprimir o CRC em stdout com o comando:

ffmpeg -i ENTRADA -f crc -

Você pode selecionar o formato de saída de cada quadro com ffmpeg especificando o áudio e
codec e formato de vídeo. Por exemplo, para calcular o CRC do áudio de entrada convertido para PCM
8 bits sem sinal e o vídeo de entrada convertido em vídeo MPEG-2, use o comando:

ffmpeg -i INPUT -c: a pcm_u8 -c: v mpeg2video -f crc -

framecrc
Formato de teste CRC (Cyclic Redundancy Check) por pacote.

Este muxer calcula e imprime o Adler-32 CRC para cada pacote de áudio e vídeo. Por
os quadros de áudio padrão são convertidos em áudio bruto de 16 bits e os quadros de vídeo em bruto
vídeo antes de calcular o CRC.

A saída do muxer consiste em uma linha para cada pacote de áudio e vídeo da forma:

, , , , , 0x

CRC é um número hexadecimal com 0 preenchido com 8 dígitos que contém o CRC do pacote.

Exemplos

Por exemplo, para calcular o CRC dos quadros de áudio e vídeo em INPUT , convertido em cru
pacotes de áudio e vídeo e armazená-los no arquivo saída.crc:

ffmpeg -i INPUT -f framecrc out.crc

Para imprimir as informações em stdout, use o comando:

ffmpeg -i ENTRADA -f framecrc -

Com o ffmpeg, você pode selecionar o formato de saída para o qual os quadros de áudio e vídeo são
codificado antes de calcular o CRC para cada pacote, especificando o codec de áudio e vídeo.
Por exemplo, para calcular o CRC de cada quadro de áudio de entrada decodificado convertido para PCM
8 bits sem sinal e de cada quadro de vídeo de entrada decodificado convertido em vídeo MPEG-2, use o
comando:

ffmpeg -i INPUT -c: a pcm_u8 -c: v mpeg2video -f framecrc -

Veja também o crc misturador.

quadromd5
Formato de teste MD5 por pacote.

Este muxer calcula e imprime o hash MD5 para cada pacote de áudio e vídeo. Por padrão
os quadros de áudio são convertidos em áudio bruto assinado de 16 bits e os quadros de vídeo em vídeo bruto antes
computar o hash.

A saída do muxer consiste em uma linha para cada pacote de áudio e vídeo da forma:

, , , , ,

MD5 é um número hexadecimal que representa o hash MD5 calculado para o pacote.

Exemplos

Por exemplo, para calcular o MD5 dos quadros de áudio e vídeo em INPUT , convertido em cru
pacotes de áudio e vídeo e armazená-los no arquivo fora.md5:

ffmpeg -i INPUT -f framemd5 saída.md5

Para imprimir as informações em stdout, use o comando:

ffmpeg -i ENTRADA -f framemd5 -

Veja também o md5 misturador.

gif
Múxer de GIF animado.

Aceita as seguintes opções:

laço
Defina o número de vezes para fazer o loop da saída. Use "-1" para nenhum loop, 0 para looping
indefinidamente (padrão).

atraso_final
Força o atraso (expresso em centissegundos) após o último quadro. Cada quadro termina com
um atraso até o próximo quadro. O padrão é "-1", que é um valor especial a ser informado
o muxer para reutilizar o atraso anterior. No caso de um loop, você pode querer personalizar
este valor para marcar uma pausa, por exemplo.

Por exemplo, para codificar um loop de gif 10 vezes, com um atraso de 5 segundos entre os loops:

ffmpeg -i INPUT -loop 10 -final_delay 500 saída.gif

Nota 1: se você deseja extrair os quadros em arquivos GIF separados, você precisa forçar o
image2 misturador:

ffmpeg -i INPUT -c: v gif -f image2 "out% d.gif"

Nota 2: o formato GIF tem uma base de tempo muito pequena: o atraso entre dois frames não pode ser
menor do que um centi segundo.

hls
Apple HTTP Live Streaming muxer que segmenta MPEG-TS de acordo com HTTP Live Streaming
(HLS) especificação.

Ele cria um arquivo de lista de reprodução e um ou mais arquivos de segmento. O nome do arquivo de saída especifica
o nome do arquivo da lista de reprodução.

Por padrão, o muxer cria um arquivo para cada segmento produzido. Esses arquivos têm o mesmo
nome como a lista de reprodução, seguido por um número sequencial e uma extensão .ts.

Por exemplo, para converter um arquivo de entrada com ffmpeg:

ffmpeg -i entrada.nut saída.m3u8

Este exemplo irá produzir a lista de reprodução, fora.m3u8e arquivos de segmento: out0.ts, out1.ts,
out2.ts, etc.

Veja também o segmento muxer, que fornece uma implementação mais genérica e flexível de um
segmentador e pode ser usado para realizar a segmentação HLS.

Opções

Este muxer suporta as seguintes opções:

hora_hls segundo
Defina a duração do segmento em segundos. O valor padrão é 2.

hls_list_size tamanho
Defina o número máximo de entradas da lista de reprodução. Se definido como 0, o arquivo de lista conterá todos
os segmentos. O valor padrão é 5.

hls_ts_opções lista_opções
Defina as opções de formato de saída usando uma: -lista separada de parâmetros chave = valor. Valores
contendo ":" caracteres especiais devem ser escapados.

hls_wrap embrulho
Defina o número após o qual o número do nome do arquivo do segmento (o número especificado em cada
arquivo de segmento) quebra. Se definido como 0, o número nunca será quebrado. O valor padrão é 0.

Esta opção é útil para evitar encher o disco com muitos arquivos de segmento e limites
o número máximo de arquivos de segmento gravados em disco para embrulho.

número_inicial número
Inicie o número de sequência da lista de reprodução a partir de número. O valor padrão é 0.

hls_allow_cache permitircache
Defina explicitamente se o cliente PODE \fIs0(1) ou NÃO DEVE \fIs0(0) mídia de cache
segmentos.

hls_base_url básico
Acrescentar básico a cada entrada na lista de reprodução. Útil para gerar playlists com
caminhos absolutos.

Observe que o número de sequência da lista de reprodução deve ser único para cada segmento e não é
para ser confundido com o número de sequência do nome do arquivo do segmento, que pode ser cíclico, para
exemplo se o embrulho opção é especificada.

hls_segment_filename nome do arquivo
Defina o nome do arquivo do segmento. A menos que hls_flags single_file seja definido nome do arquivo é usado como um
formato de string com o número do segmento:

ffmpeg in.nut -hls_segment_filename 'file% 03d.ts' out.m3u8

Este exemplo irá produzir a lista de reprodução, fora.m3u8e arquivos de segmento: arquivo000.ts,
arquivo001.ts, arquivo002.ts, etc.

hls_key_info_file key_info_file
Use as informações em key_info_file para criptografia de segmento. A primeira linha de
key_info_file especifica o URI principal gravado na lista de reprodução. O URL da chave é usado para
acessar a chave de criptografia durante a reprodução. A segunda linha especifica o caminho para o
arquivo de chave usado para obter a chave durante o processo de criptografia. O arquivo da chave é lido como
uma única matriz compactada de 16 octetos em formato binário. A terceira linha opcional especifica
o vetor de inicialização (IV) como uma string hexadecimal a ser usada em vez do
número de sequência do segmento (padrão) para criptografia. Muda para key_info_file resultará
na criptografia de segmento com a nova chave / IV e uma entrada na lista de reprodução para a nova chave
URI / IV.

Formato de arquivo de informações importantes:



(opcional)

URIs de chave de exemplo:

http://server/file.key
/caminho/para/arquivo.chave
arquivo.chave

Caminhos de arquivo de chave de exemplo:

arquivo.chave
/caminho/para/arquivo.chave

Exemplo IV:

0123456789ABCDEF0123456789ABCDEF

Exemplo de arquivo de informações importantes:

http://server/file.key
/caminho/para/arquivo.chave
0123456789ABCDEF0123456789ABCDEF

Script de shell de exemplo:

#!/ Bin / sh
BASE_URL = $ {1: - '.'}
openssl rand 16> file.key
echo $ BASE_URL / file.key> file.keyinfo
echo file.key >> file.keyinfo
echo $ (openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testsrc -c: v h264 -hls_flags delete_segments \
-hls_key_info_file arquivo.keyinfo out.m3u8

hls_flags único arquivo
Se este sinalizador for definido, o muxer irá armazenar todos os segmentos em um único arquivo MPEG-TS, e
usará intervalos de bytes na lista de reprodução. As listas de reprodução HLS geradas desta forma terão
o número da versão 4. Por exemplo:

ffmpeg -i in.nut -hls_flags arquivo_único out.m3u8

Irá produzir a lista de reprodução, fora.m3u8, e um único arquivo de segmento, fora.ts.

hls_flags deletar_segmentos
Os arquivos de segmento removidos da lista de reprodução são excluídos após um período de tempo igual a
a duração do segmento mais a duração da lista de reprodução.

ico
misturador de arquivos ICO.

O formato de arquivo de ícone da Microsoft (ICO) tem algumas limitações estritas que devem ser observadas:

· O tamanho não pode exceder 256 pixels em qualquer dimensão

· Apenas imagens BMP e PNG podem ser armazenadas

· Se uma imagem BMP for usada, ela deve ter um dos seguintes formatos de pixel:

Formato de pixel FFmpeg de profundidade de bits BMP
1 bit pal8
4 bit pal8
8 bit pal8
16 bits rgb555le
24 bits bgr24
32 bits bgra

· Se uma imagem BMP for usada, ela deve usar o cabeçalho BITMAPINFOHEADER DIB

· Se uma imagem PNG for usada, ela deve usar o formato de pixel rgba

image2
Moxer de arquivo de imagem.

O muxer de arquivo de imagem grava quadros de vídeo em arquivos de imagem.

Os nomes dos arquivos de saída são especificados por um padrão, que pode ser usado para produzir sequencialmente
série numerada de arquivos. O padrão pode conter a string "% d" ou "% 0Nd ", esta corda
especifica a posição dos caracteres que representam uma numeração nos nomes dos arquivos. Se o
formulário "% 0Nd "é usado, a string que representa o número em cada nome de arquivo é preenchida com 0 para N
dígitos. O caractere literal '%' pode ser especificado no padrão com a string "%%".

Se o padrão contém "% d" ou "% 0Nd ", o primeiro nome do arquivo da lista de arquivos especificada irá
contêm o número 1, todos os números a seguir serão sequenciais.

O padrão pode conter um sufixo que é usado para determinar automaticamente o formato de
os arquivos de imagem a serem gravados.

Por exemplo, o padrão "img-% 03d.bmp" irá especificar uma sequência de nomes de arquivos do formulário
img-001.bmp, img-002.bmp, ..., img-010.bmp, etc. O padrão "img %% -% d.jpg" loading = "preguiçoso" irá especificar
uma sequência de nomes de arquivos do formulário img% -1.jpg, img% -2.jpg, ..., img% -10.jpg, etc.

Exemplos

O exemplo a seguir mostra como usar ffmpeg para criar uma sequência de arquivos
img-001.jpeg, img-002.jpeg, ..., tirando uma imagem a cada segundo do vídeo de entrada:

ffmpeg -i in.avi -vsync 1 -r 1 -f image2 'img-% 03d.jpeg'

Observe que com ffmpeg, se o formato não for especificado com a opção "-f" e a saída
nome do arquivo especifica um formato de arquivo de imagem, o muxer image2 é automaticamente selecionado, então
o comando anterior pode ser escrito como:

ffmpeg -i in.avi -vsync 1 -r 1 'img-% 03d.jpeg'

Observe também que o padrão não deve conter necessariamente "% d" ou "% 0Nd ", por exemplo para
criar um único arquivo de imagem img.jpeg a partir do vídeo de entrada, você pode empregar o comando:

ffmpeg -i in.avi -f image2 -frames: v 1 img.jpeg

A horário de trabalho opção permite expandir o nome do arquivo com informações de data e hora.
Verifique a documentação da função "strftime ()" para a sintaxe.

Por exemplo, para gerar arquivos de imagem a partir do padrão "strftime ()" "% Y-% m-% d_% H-% M-% S", o
seguinte ffmpeg comando pode ser usado:

ffmpeg -f v4l2 -r 1 -i / dev / video0 -f image2 -strftime 1 "% Y-% m-% d_% H-% M-% S.jpg"

Opções

número_inicial
Inicie a sequência a partir do número especificado. O valor padrão é 0.

atualizar
Se definido como 1, o nome do arquivo sempre será interpretado como apenas um nome de arquivo, não um
padrão, e o arquivo correspondente será continuamente substituído por novas imagens.
O valor padrão é 0.

horário de trabalho
Se definido como 1, expanda o nome do arquivo com informações de data e hora de "strftime ()".
O valor padrão é 0.

O muxer de imagem suporta o formato de arquivo de imagem .YUV. Este formato é especial porque
cada quadro de imagem consiste em três arquivos, para cada um dos componentes YUV420P. Para ler ou
escrever este formato de arquivo de imagem, especifique o nome do arquivo '.Y'. O muxer vai
abra automaticamente os arquivos '.U' e '.V' conforme necessário.

Matroska
Muxer de contêiner Matroska.

Este muxer implementa as especificações de contêiner matroska e webm.

metadados

As configurações de metadados reconhecidas neste muxer são:

título
Defina o nome do título fornecido para uma única faixa.

língua
Especifique o idioma da pista no formulário de idiomas da Matroska.

O idioma pode ser a forma bibliográfica ISO-3-639 (ISO 2-639 / B) de 2 letras
(como "fre" para francês), ou um código de idioma misturado com um código de país para especialidades
em idiomas (como "fre-ca" para o francês canadense).

modo_estéreo
Defina o layout de vídeo 3D estéreo de duas visualizações em uma única trilha de vídeo.

Os seguintes valores são reconhecidos:

mono
o vídeo não é estéreo

esquerda direita
Ambas as visualizações são organizadas lado a lado, a visualização do olho esquerdo está à esquerda

fundo_topo
Ambas as vistas são organizadas na orientação de cima para baixo, a vista do olho esquerdo está na parte inferior

superior_inferior
Ambas as vistas são organizadas na orientação de cima para baixo, a vista do olho esquerdo está no topo

tabuleiro de damas_rl
Cada vista é organizada em um padrão entrelaçado quadriculado, sendo a vista do olho esquerdo
primeiro

tabuleiro de damas_lr
Cada visualização é organizada em um padrão quadriculado intercalado, sendo a visualização do olho direito
primeiro

row_interleaved_rl
Cada visualização é constituída por uma intercalação baseada em linha, a visualização do olho direito é a primeira linha

row_interleaved_lr
Cada vista é constituída por uma intercalação baseada em linha, a vista do olho esquerdo é a primeira linha

col_interleaved_rl
Ambas as vistas são organizadas em uma maneira intercalada com base em coluna, a vista do olho direito é
primeira coluna

col_interleaved_lr
Ambas as vistas são organizadas de forma intercalada com base em colunas, a vista do olho esquerdo é
primeira coluna

anáglifo_ciano_vermelho
Todos os quadros estão em formato anáglifo, visíveis por meio de filtros vermelho-ciano

direita esquerda
Ambas as visualizações são organizadas lado a lado, a visualização do olho direito está à esquerda

anaglyph_green_magenta
Todos os quadros estão em formato anáglifo, visíveis por meio de filtros verde-magenta

bloco_lr
Ambos os olhos entrelaçados em um bloco, a visão do olho esquerdo é o primeiro

bloco_rl
Ambos os olhos entrelaçados em um bloco, a visão do olho direito é o primeiro

Por exemplo, um clipe 3D WebM pode ser criado usando a seguinte linha de comando:

ffmpeg -i sample_left_right_clip.mpg -an -c: v libvpx -metadata stereo_mode = left_right -y stereo_clip.webm

Opções

Este muxer suporta as seguintes opções:

reserve_index_space
Por padrão, este muxer grava o índice de busca (chamado de dicas nos termos da Matroska) em
no final do arquivo, pois não pode saber com antecedência quanto espaço deixará para o
índice no início do arquivo. No entanto, para alguns casos de uso - por exemplo, streaming
onde a busca é possível, mas lenta - é útil colocar o índice no início
do arquivo.

Se esta opção for definida para um valor diferente de zero, o muxer irá reservar uma determinada quantidade de
espaço no cabeçalho do arquivo e, em seguida, tente escrever as dicas lá quando o muxing
termina. Se o espaço disponível não for suficiente, a multiplexação falhará. Um tamanho seguro para
a maioria dos casos de uso deve ter cerca de 50 KB por hora de vídeo.

Observe que as dicas são escritas apenas se a saída for pesquisável e esta opção não terá
efeito se não for.

md5
Formato de teste MD5.

Este muxer calcula e imprime o hash MD5 de todos os quadros de áudio e vídeo de entrada. Por
os quadros de áudio padrão são convertidos em áudio bruto de 16 bits e os quadros de vídeo em bruto
vídeo antes de calcular o hash.

A saída do muxer consiste em uma única linha da forma: MD5 =MD5, Onde MD5 é um
número hexadecimal que representa o hash MD5 calculado.

Por exemplo, para calcular o hash MD5 da entrada convertida em áudio e vídeo brutos, e
armazene-o no arquivo fora.md5:

ffmpeg -i INPUT -f md5 saída.md5

Você pode imprimir o MD5 em stdout com o comando:

ffmpeg -i ENTRADA -f md5 -

Veja também o quadromd5 misturador.

mover, mp4, ismv
MOV / MP4 / ISMV (Smooth Streaming) muxer.

O muxer mov / mp4 / ismv suporta fragmentação. Normalmente, um arquivo MOV / MP4 tem todos os
metadados sobre todos os pacotes armazenados em um local (escrito no final do arquivo, pode
ser movido para o início para uma melhor reprodução adicionando início rápido ao movflags, ou usando
que o qt-faststart ferramenta). Um arquivo fragmentado consiste em uma série de fragmentos, onde os pacotes
e os metadados sobre esses pacotes são armazenados juntos. Escrever um arquivo fragmentado tem o
vantagem de que o arquivo é decodificável mesmo se a gravação for interrompida (enquanto um normal
MOV / MP4 não pode ser decodificado se não estiver devidamente concluído) e requer menos memória quando
escrever arquivos muito longos (já que escrever arquivos MOV / MP4 normais armazena informações sobre cada
pacote na memória até que o arquivo seja fechado). A desvantagem é que é menos compatível
com outros aplicativos.

Opções

A fragmentação é ativada pela configuração de uma das opções AV que definem como cortar o arquivo
em fragmentos:

-moov_tamanho bytes
Reserva espaço para o átomo moov no início do arquivo em vez de colocar o
átomo de moov no final. Se o espaço reservado for insuficiente, a multiplexação falhará.

-movflags frag_keyframe
Comece um novo fragmento em cada quadro-chave de vídeo.

-frag_duração duração
Crie fragmentos que são duração microssegundos de duração.

-frag_size tamanho
Crie fragmentos que contenham até tamanho bytes de dados de carga útil.

-movflags frag_custom
Permita que o chamador escolha manualmente quando cortar fragmentos, chamando
"av_write_frame (ctx, NULL)" para escrever um fragmento com os pacotes escritos até agora. (Isto
só é útil com outros aplicativos que integram libavformat, não de ffmpeg.)

-min_frag_duration duração
Não crie fragmentos menores que duração microssegundos de duração.

Se mais de uma condição for especificada, os fragmentos serão cortados quando um dos
condições sejam cumpridas. A exceção a isso é "-min_frag_duration", que deve ser
cumpridas para que qualquer uma das outras condições seja aplicável.

Além disso, a forma como o arquivo de saída é escrito pode ser ajustada por meio de alguns outros
opções:

-movflags vazio_moov
Escreva um átomo moov inicial diretamente no início do arquivo, sem descrever qualquer
amostras nele. Geralmente, um par mdat / moov é escrito no início do arquivo, como um
arquivo MOV / MP4 normal, contendo apenas uma pequena parte do arquivo. Com esta opção
definido, não há átomo mdat inicial, e o átomo moov apenas descreve as trilhas, mas
tem duração zero.

Esta opção é definida implicitamente ao gravar arquivos ismv (Smooth Streaming).

-movflags separada_moof
Escreva um átomo moof (fragmento de filme) separado para cada trilha. Normalmente, pacotes para todos
faixas são escritas em um átomo moof (que é um pouco mais eficiente), mas com este
conjunto de opções, o muxer escreve um par moof / mdat para cada faixa, tornando mais fácil
faixas separadas.

Esta opção é definida implicitamente ao gravar arquivos ismv (Smooth Streaming).

-movflags início rápido
Execute uma segunda passagem movendo o índice (átomo moov) para o início do arquivo. Isto
operação pode demorar um pouco e não funcionará em várias situações, como fragmentada
saída, portanto, não é habilitado por padrão.

-movflags rtphint
Adicione faixas de dicas RTP ao arquivo de saída.

-movflags desativar_chpl
Desative os marcadores de capítulo do Nero (átomo chpl). Normalmente, os capítulos do Nero e um
A trilha de capítulo QuickTime é gravada no arquivo. Com esta opção definida, apenas o
A trilha do capítulo QuickTime será escrita. Os capítulos do Nero podem causar falhas quando o
arquivo é reprocessado com certos programas de marcação, como mp3Tag 2.61a e iTunes 11.3,
muito provavelmente outras versões também são afetadas.

-movflags omit_tfhd_offset
Não escreva nenhum base_data_offset absoluto em átomos tfhd. Isso evita amarrar fragmentos
para posições de byte absolutas no arquivo / fluxos.

-movflags default_base_moof
Da mesma forma que omit_tfhd_offset, este sinalizador evita escrever o absoluto
campo base_data_offset em átomos tfhd, mas faz isso usando o novo default-base-is-
bandeira moof em vez disso. Este sinalizador é novo de 14496-12: 2012. Isso pode fazer com que os fragmentos
mais fácil de analisar em certas circunstâncias (evitando basear a localização do fragmento de trilha
cálculos no final implícito do fragmento de faixa anterior).

Exemplo

O conteúdo do Smooth Streaming pode ser enviado em tempo real para um ponto de publicação no IIS com este
muxer. Exemplo:

ffmpeg -re < > -movflags isml + frag_keyframe -f ismv http://server/publishingpoint.isml/Streams(Codificador1)

Audible AAX

Os arquivos AAX audíveis são arquivos M4B criptografados e podem ser descriptografados especificando um 4
segredo de ativação de byte.

ffmpeg -activation_bytes 1CEB00DA -i test.aax -vn -c: uma cópia de saída.mp4

mp3
O muxer de MP3 grava um fluxo de MP3 bruto com os seguintes recursos opcionais:

· Um cabeçalho de metadados ID3v2 no início (habilitado por padrão). Versões 2.3 e 2.4
são suportados, a opção privada "id3v2_version" controla qual é usada (3 ou 4).
Definir "id3v2_version" como 0 desativa o cabeçalho ID3v2 completamente.

O muxer suporta a gravação de imagens anexadas (quadros APIC) no cabeçalho ID3v2. O
as fotos são fornecidas ao muxer na forma de um fluxo de vídeo com um único pacote.
Pode haver qualquer número desses fluxos, cada um corresponderá a um único quadro APIC.
As tags de metadados do stream título e comentar mapear para APIC descrição e fotografia tipo
respectivamente. Verhttp://id3.org/id3v2.4.0-frames> para tipos de imagem permitidos.

Observe que os quadros APIC devem ser escritos no início, de modo que o muxer fará o buffer
os quadros de áudio até obter todas as imagens. Portanto, é aconselhável fornecer
as fotos o mais rápido possível para evitar buffer excessivo.

· Um quadro Xing / LAME logo após o cabeçalho ID3v2 (se houver). Está habilitado por padrão,
mas será escrito apenas se a saída for pesquisável. A opção privada "write_xing"
pode ser usado para desativá-lo. O quadro contém várias informações que podem ser úteis
para o decodificador, como a duração do áudio ou o atraso do codificador.

· Uma tag ID3v1 legada no final do arquivo (desabilitada por padrão). Pode ser habilitado
com a opção privada "write_id3v1", mas como seus recursos são muito limitados, é
o uso não é recomendado.

Exemplos:

Escreva um mp3 com um cabeçalho ID3v2.3 e um rodapé ID3v1:

ffmpeg -i INPUT -id3v2_versão 3 -write_id3v1 1 saída.mp3

Para anexar uma imagem a um arquivo mp3, selecione o áudio e o fluxo de imagem com
"mapa":

ffmpeg -i input.mp3 -i cover.png -c copy -map 0 -map 1
-metadados: s: v title = "Album cover" -metadata: s: v comment = "Cover (Front)" out.mp3

Escreva um MP3 "limpo" sem quaisquer recursos extras:

ffmpeg -i input.wav -write_xing 0 -id3v2_version 0 out.mp3

MPEGTS
Moxer de fluxo de transporte MPEG.

Este muxer implementa ISO 13818-1 e parte do ETSI EN 300 468.

As configurações de metadados reconhecidas no mpegts muxer são "service_provider" e
"Nome do Serviço". Se eles não estiverem definidos, o padrão para "service_provider" é "FFmpeg" e o
o padrão para "service_name" é "Service01".

Opções

As opções do muxer são:

-mpegts_original_network_id número
Defina o original_network_id (padrão 0x0001). Este é o identificador único de uma rede
em DVB. Seu principal uso é na identificação única de um serviço através do caminho
Original_Network_ID, Transport_Stream_ID.

-mpegts_transport_stream_id número
Defina o transport_stream_id (padrão 0x0001). Isso identifica um transponder em DVB.

-mpegts_service_id número
Defina o service_id (padrão 0x0001), também conhecido como programa no DVB.

-mpegts_service_type número
Defina o programa service_type (padrão televisão digital), veja abaixo uma lista de pré-definidos
valores.

-mpegts_pmt_start_pid número
Defina o primeiro PID para PMT (padrão 0x1000, máx 0x1f00).

-mpegts_start_pid número
Defina o primeiro PID para pacotes de dados (padrão 0x0100, máx. 0x0f00).

-mpegts_m2ts_mode número
Habilite o modo m2ts se definido como 1. O valor padrão é -1, que desabilita o modo m2ts.

-muxrate número
Defina um muxrate constante (VBR padrão).

-pcr_período numer
Substituir o tempo de retransmissão de PCR padrão (padrão 20ms), ignorado se variável
muxrate é selecionado.

pat_período número
Tempo máximo em segundos entre as tabelas PAT / PMT.

período_sdt número
Tempo máximo em segundos entre as tabelas SDT.

-pes_payload_size número
Defina a carga útil mínima do pacote PES em bytes.

-mpegts_flags bandeiras
Defina sinalizadores (veja abaixo).

-mpegts_copyts número
Preserve os carimbos de data / hora originais, se o valor for definido como 1. O valor padrão é -1, o que resulta
na mudança de carimbos de data / hora para que comecem de 0.

-tables_version número
Defina a versão PAT, PMT e SDT (padrão 0, os valores válidos vão de 0 a 31, inclusive).
Esta opção permite atualizar a estrutura do fluxo para que o consumidor padrão possa detectar o
mudança. Para fazer isso, reabra a saída AVFormatContext (no caso de uso de API) ou reinicie
instância ffmpeg, alterando ciclicamente o valor de tables_version:

ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp: //1.1.1.1: 1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp: //1.1.1.1: 1111
...
ffmpeg -i source3.ts -codec copy -f mpegts -tables_version 31 udp: //1.1.1.1: 1111
ffmpeg -i source1.ts -codec copy -f mpegts -tables_version 0 udp: //1.1.1.1: 1111
ffmpeg -i source2.ts -codec copy -f mpegts -tables_version 1 udp: //1.1.1.1: 1111
...

A opção mpegts_service_type aceita os seguintes valores:

valor_hexa
Qualquer valor hexadecimal entre 0x01 a 0xff conforme definido em ETSI 300 468.

televisão digital
Serviço de TV digital.

rádio digital
Serviço de rádio digital.

teletexto
Serviço de teletexto.

advanced_codec_digital_radio
Serviço avançado de Codec Digital Radio.

mpeg2_digital_hdtv
Serviço MPEG2 Digital HDTV.

advanced_codec_digital_sdtv
Serviço Codec Digital SDTV avançado.

advanced_codec_digital_hdtv
Serviço Codec Digital HDTV avançado.

A opção mpegts_flags pode receber um conjunto de tais sinalizadores:

reenviar cabeçalhos
Emita novamente o PAT / PMT antes de gravar o próximo pacote.

latino-americano
Use o empacotamento LATM para AAC.

pat_pmt_at_frames
Reemitir PAT e PMT em cada quadro de vídeo.

Exemplo

ffmpeg -i arquivo.mpg -c copiar \
-mpegts_original_network_id 0x1122 \
-mpegts_transport_stream_id 0x3344\
-mpegts_service_id 0x5566\
-mpegts_pmt_start_pid 0x1500\
-mpegts_start_pid 0x150\
-metadata service_provider = "Algum provedor" \
-metadata service_name = "Algum canal" \
-y out.ts

mxf, mxf_d10
misturador MXF.

Opções

As opções do muxer são:

store_user_comments bool
Defina se os comentários do usuário devem ser armazenados, se disponíveis, ou nunca. IRT D-10 não permite
comentários do usuário. O padrão é, portanto, escrevê-los para mxf, mas não para mxf_d10

nulo
Muxer nulo.

Este muxer não gera nenhum arquivo de saída, é principalmente útil para teste ou
fins de benchmarking.

Por exemplo, para comparar a decodificação com ffmpeg você pode usar o comando:

ffmpeg -benchmark -i INPUT -f null out.null

Observe que o comando acima não lê ou grava o fora.nulo arquivo, mas especificando o
arquivo de saída é exigido pelo ffmpeg sintaxe.

Como alternativa, você pode escrever o comando como:

ffmpeg -benchmark -i INPUT -f nulo -

castanha
-pontos de sincronização bandeiras
Altere o uso do ponto de sincronização no mínimo:

omissão usar que o normal baixo custo busca Auxilia.
Nenhum do não usar que o pontos de sincronização at tudo, redução que o em cima mas a fazer que o transmitir canais
não procurável;
O uso desta opção não é recomendado, pois os arquivos resultantes são muito danificados
sensível e buscando não é possível. Também, em geral, a sobrecarga de
pontos de sincronização são insignificantes. Nota, -C 0 pode ser usado para desativar
todas as tabelas de dados crescentes, permitindo mixar streams infinitos com memória limitada
e sem essas desvantagens.

data carimbada estender que o ponto de sincronização de a relógio de parede campo.

A Nenhum e data carimbada sinalizadores são experimentais.

-write_index bool
Grave o índice no final, o padrão é gravar um índice.

ffmpeg -i INPUT -f_strict experimental -syncpoints nenhum - | processador

ogg
Misturador de recipiente Ogg.

-page_duration duração
Duração da página preferida, em microssegundos. O muxer tentará criar páginas que
são aproximadamente duração microssegundos de duração. Isso permite que o usuário comprometa
entre a granularidade de busca e a sobrecarga do contêiner. O padrão é 1 segundo. Um valor de 0
irá preencher todos os segmentos, tornando as páginas tão grandes quanto possível. Um valor de 1 será
usa efetivamente 1 pacote por página na maioria das situações, dando uma pequena granularidade de busca
ao custo de overhead adicional do contêiner.

-serial_offset valor
Valor de série a partir do qual definir o número de série dos fluxos. Configurando-o para diferente e
valores suficientemente grandes garantem que os arquivos ogg produzidos possam ser encadeados com segurança.

segmento, segmento_de_fluxo, segmento
Segmentador de fluxo básico.

Este muxer envia streams para vários arquivos separados de duração quase fixa. Saída
padrão de nome de arquivo pode ser definido de uma forma semelhante a image2, ou usando um "strftime"
modelo se o horário de trabalho opção está ativada.

"stream_segment" é uma variante do muxer usado para escrever em formatos de saída de streaming, ou seja,
que não requerem cabeçalhos globais e é recomendado para saída, por exemplo, para MPEG
segmentos de fluxo de transporte. "ssegment" é um apelido mais curto para "stream_segment".

Cada segmento começa com um quadro-chave do fluxo de referência selecionado, que é definido
através de stream_reference opção.

Observe que se você quiser uma divisão precisa para um arquivo de vídeo, você precisa fazer a chave de entrada
os quadros correspondem aos tempos de divisão exatos esperados pelo segmentador ou pelo segmento
muxer irá iniciar o novo segmento com o quadro chave encontrado a seguir após o início especificado
tempo.

O muxer de segmento funciona melhor com um único vídeo de taxa de quadros constante.

Opcionalmente, pode gerar uma lista dos segmentos criados, definindo a opção
lista_segmento. O tipo de lista é especificado pelo segment_list_type opção. A entrada
nomes de arquivos na lista de segmentos são configurados por padrão com o nome de base do correspondente
arquivos de segmento.

Veja também o hls muxer, que fornece uma implementação mais específica para HLS
segmentação.

Opções

O muxer de segmento oferece suporte às seguintes opções:

stream_reference especificador
Defina o fluxo de referência, conforme especificado pela string especificador. Se especificador é definida
para "auto", a referência é escolhida automaticamente. Caso contrário, deve ser um riacho
especificador (veja o capítulo `` Especificadores de fluxo '' no manual do ffmpeg) que especifica
o fluxo de referência. O valor padrão é "auto".

formato_segmento formato
Substitua o formato do contêiner interno, por padrão, ele é adivinhado pelo nome do arquivo
extensão.

segment_format_options lista_opções
Defina as opções de formato de saída usando uma: -lista separada de parâmetros chave = valor. Valores
contendo o caractere especial ":" deve ser escapado.

lista_segmento nome
Gere também um listfile chamado nome. Se não for especificado, nenhum listfile será gerado.

segment_list_flags bandeiras
Defina sinalizadores que afetam a geração da lista de segmentos.

Atualmente, ele suporta os seguintes sinalizadores:

esconderijo
Permitir armazenamento em cache (afeta apenas arquivos de lista M3U8).

viver
Permitir a geração de arquivos ao vivo.

segment_list_size tamanho
Atualize o arquivo de lista para que contenha no máximo tamanho segmentos. Se 0, o arquivo de lista
irá conter todos os segmentos. O valor padrão é 0.

segment_list_entry_prefix prefixo
Anexar prefixo para cada entrada. Útil para gerar caminhos absolutos. Por padrão, sem prefixo
é aplicado.

segment_list_type tipo
Selecione o formato da lista.

Os seguintes valores são reconhecidos:

plano
Gere uma lista plana para os segmentos criados, um segmento por linha.

csv, ext
Gere uma lista para os segmentos criados, um segmento por linha, cada linha correspondendo
o formato (valores separados por vírgula):

, ,

nome_do_arquivo do segmento é o nome do arquivo de saída gerado pelo muxer de acordo
para o padrão fornecido. O escape CSV (de acordo com RFC4180) é aplicado se
necessário.

segment_start_time e segmento_end_time especificar a hora de início e término do segmento
expresso em segundos.

Um arquivo de lista com o sufixo ".csv" ou ".ext" selecionará automaticamente este formato.

ext é preterido em favor ou csv.

ffconcat
Gere um arquivo ffconcat para os segmentos criados. O arquivo resultante pode ser lido
usando o FFmpeg concat desmuxer.

Um arquivo de lista com o sufixo ".ffcat" ou ".ffconcat" selecionará automaticamente este formato.

m3u8
Gere um arquivo M3U8 estendido, versão 3, compatível com
<http://tools.ietf.org/id/draft-pantos-http-live-streaming>.

Um arquivo de lista com o sufixo ".m3u8" selecionará automaticamente este formato.

Se não for especificado, o tipo será calculado a partir do sufixo do nome do arquivo da lista.

segmento_tempo tempo
Defina a duração do segmento para tempo, o valor deve ser uma especificação de duração. Padrão
o valor é "2". Veja também o segment_times opção.

Observe que a divisão pode não ser precisa, a menos que você force a chave do fluxo de referência
quadros em um determinado momento. Veja o aviso introdutório e os exemplos abaixo.

segmento_atclocktime 1 | 0
Se definido como "1", divida em intervalos regulares de tempo, começando às 00:00 horas. O
tempo valor especificado em segmento_tempo é usado para definir o comprimento da divisão
intervalo.

Por exemplo com segmento_tempo definido como "900", isso torna possível criar arquivos em
12h00, 12h15, 12h30, etc.

O valor padrão é "0".

segmento_tempo_delta delta
Especifique o tempo de precisão ao selecionar o tempo de início para um segmento, expresso como um
especificação de duração. O valor padrão é "0".

Quando delta é especificado, um quadro-chave iniciará um novo segmento se seu PTS satisfizer o
relação:

PTS> = start_time - time_delta

Esta opção é útil ao dividir o conteúdo do vídeo, que é sempre dividido no GOP
limites, no caso de um quadro-chave ser encontrado imediatamente antes do tempo intermediário especificado.

Em particular, pode ser usado em combinação com o ffmpeg opção force_key_frames. O
tempos de quadro chave especificados por force_key_frames pode não ser definido com precisão por causa de
problemas de arredondamento, com a consequência de que um tempo de quadro chave pode resultar definido um pouco antes
o tempo especificado. Para vídeos de taxa de quadros constante, um valor de 1 / (2 *taxa de quadros) deve
resolver o pior caso de incompatibilidade entre o tempo especificado e o tempo definido por
force_key_frames.

segment_times vezes
Especifique uma lista de pontos de divisão. vezes contém uma lista de duração separada por vírgulas
especificações, em ordem crescente. Veja também o segmento_tempo opção.

segment_frames quadros
Especifique uma lista de números de quadro de vídeo dividido. quadros contém uma lista de separados por vírgulas
números inteiros, em ordem crescente.

Esta opção especifica o início de um novo segmento sempre que um quadro-chave do fluxo de referência é
encontrado e o número sequencial (começando em 0) do quadro é maior ou igual a
o próximo valor na lista.

segment_wrap limitar
Envolva o índice do segmento assim que atingir limitar.

número_inicial do segmento número
Defina o número de sequência do primeiro segmento. O padrão é 0.

horário de trabalho 1 | 0
Use a função "strftime" para definir o nome dos novos segmentos a serem escritos. Se este
for selecionado, o nome do segmento de saída deve conter um modelo de função "strftime".
O valor padrão é 0.

break_non_keyframes 1 | 0
Se habilitado, permite que os segmentos comecem em outros quadros que não sejam quadros-chave. Isso melhora
comportamento em alguns jogadores quando o tempo entre os quadros-chave é inconsistente, mas pode fazer
coisas piores para os outros e podem causar algumas estranhezas durante a busca. O padrão é 0.

reset_timestamps 1 | 0
Redefina os carimbos de data / hora no início de cada segmento, de modo que cada segmento comece com
carimbos de data / hora quase zero. Destina-se a facilitar a reprodução dos segmentos gerados. Poderia
não funciona com algumas combinações de muxers / codecs. Ele é definido como 0 por padrão.

deslocamento_inicial compensar
Especifique o deslocamento do carimbo de data / hora para aplicar aos carimbos de data / hora do pacote de saída. O argumento deve
ser uma especificação de duração de tempo e o padrão é 0.

Exemplos

· Remuxar o conteúdo do arquivo em.mkv a uma lista de segmentos out-000.nut, out-001.nut, Etc,
e escrever a lista de segmentos gerados para lista.fora:

ffmpeg -i in.mkv -codec copiar -map 0 -f segment -segment_list out.list out% 03d.nut

· Segmentar entrada e definir opções de formato de saída para os segmentos de saída:

ffmpeg -i in.mkv -f segment -segment_time 10 -segment_format_options movflags = + início rápido% 03d.mp4

· Segmentar o arquivo de entrada de acordo com os pontos de divisão especificados pelo segment_times
opção:

ffmpeg -i in.mkv -codec cópia -map 0 -f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 out% 03d.nut

· Use o ffmpeg force_key_frames opção de forçar quadros-chave na entrada no
localização especificada, junto com a opção de segmento segmento_tempo_delta para explicar
possíveis arredondamentos operados ao definir tempos de quadro-chave.

ffmpeg -i in.mkv -force_key_frames 1,2,3,5,8,13,21 -codec: v mpeg4 -codec: a pcm_s16le -map 0 \
-f segment -segment_list out.csv -segment_times 1,2,3,5,8,13,21 -segment_time_delta 0.05 out% 03d.nut

Para forçar quadros-chave no arquivo de entrada, a transcodificação é necessária.

· Segmente o arquivo de entrada dividindo o arquivo de entrada de acordo com os números dos quadros
sequência especificada com o segment_frames opção:

ffmpeg -i in.mkv -codec cópia -map 0 -f segment -segment_list out.csv -segment_frames 100,200,300,500,800 out% 03d.nut

· Converta o em.mkv para segmentos de TS usando os codificadores "libx264" e "libfaac":

ffmpeg -i in.mkv -map 0 -codec: v libx264 -codec: a libfaac -f ssegment -segment_list out.list out% 03d.ts

· Segmente o arquivo de entrada e crie uma lista de reprodução ao vivo M3U8 (pode ser usado como HLS ao vivo
fonte):

ffmpeg -re -i in.mkv -codec copiar -map 0 -f segmento -segment_list playlist.m3u8 \
-segment_list_flags + live -segment_time 10 out% 03d.mkv

suavização
O Smooth Streaming muxer gera um conjunto de arquivos (manifesto, pedaços) adequados para servir
com o servidor web convencional.

tamanho da janela
Especifique o número de fragmentos mantidos no manifesto. Padrão 0 (manter tudo).

tamanho_da_janela_extra
Especifique o número de fragmentos mantidos fora do manifesto antes de remover de
disco. Padrão 5.

contagem antecipada
Especifique o número de fragmentos de lookahead. Padrão 2.

min_frag_duration
Especifique a duração mínima do fragmento (em microssegundos). Padrão 5000000.

remover_at_exit
Especifique se deseja remover todos os fragmentos ao terminar. Padrão 0 (não remover).

tee
O tee muxer pode ser usado para gravar os mesmos dados em vários arquivos ou qualquer outro tipo de
muxer. Ele pode ser usado, por exemplo, para transmitir um vídeo para a rede e salvá-lo em
disco ao mesmo tempo.

É diferente de especificar várias saídas para o ffmpeg ferramenta de linha de comando porque
os dados de áudio e vídeo serão codificados apenas uma vez com o tee muxer; codificação pode ser um
processo muito caro. Não é útil ao usar a API libavformat diretamente porque
então, é possível alimentar os mesmos pacotes diretamente para vários muxers.

As saídas escravas são especificadas no nome do arquivo dado ao muxer, separados por '|'. Se
qualquer nome de escravo contém o caractere '|' separador, espaços à esquerda ou à direita ou qualquer
caractere especial, deve ser escapado (ver que o "Citando e escapando " seção in que o
ffmpeg-utils(1) manual).

As opções do Muxer podem ser especificadas para cada escravo, acrescentando-os como uma lista de chave=valor
pares separados por ':', entre colchetes. Se os valores das opções contiverem um especial
caractere ou o separador ':', eles devem ter escape; note que este é um segundo nível
escapando.

As seguintes opções especiais também são reconhecidas:

f Especifique o nome do formato. Útil se não puder ser adivinhado a partir do sufixo do nome de saída.

bsfs [/especulação]
Especifique uma lista de filtros de fluxo de bits para aplicar à saída especificada.

É possível especificar a quais fluxos um determinado filtro de fluxo de bits se aplica, por
anexar um especificador de fluxo à opção separada por "/". especulação deve ser um riacho
especificador (ver Formato transmitir canais especificadores) Se o especificador de fluxo não for especificado,
os filtros de fluxo de bits serão aplicados a todos os fluxos na saída.

Vários filtros de fluxo de bits podem ser especificados, separados por ",".

selecionar
Selecione os fluxos que devem ser mapeados para a saída escrava, especificada por um fluxo
especificador. Se não for especificado, o padrão é todos os fluxos de entrada.

Exemplos

· Codificar algo e arquivar em um arquivo WebM e transmiti-lo como MPEG-TS sobre UDP
(os fluxos precisam ser mapeados explicitamente):

ffmpeg -i ... -c: v libx264 -c: a mp2 -f tee -map 0: v -map 0: a
"archive-20121107.mkv | [f = mpegts] udp: //10.0.1.255: 1234 /"

· Usar ffmpeg para codificar a entrada e enviar a saída para três destinos diferentes.
O filtro de fluxo de bits "dump_extra" é usado para adicionar informações extradados a todos os
pacotes de quadros-chave de saída de vídeo, conforme solicitado pelo formato MPEG-TS. A opção de seleção
é aplicado a fora.aac para que contenha apenas pacotes de áudio.

ffmpeg -i ... -map 0 -flags + global_header -c: v libx264 -c: um aac -strict experimental
-f tee "[bsfs / v = dump_extra] out.ts | [movflags = + faststart] out.mp4 | [select = a] out.aac"

· Como abaixo, mas selecione apenas o stream "a: 1" para a saída de áudio. Observe que um segundo nível
o escape deve ser executado, pois ":" é um caractere especial usado para separar opções.

ffmpeg -i ... -map 0 -flags + global_header -c: v libx264 -c: um aac -strict experimental
-f tee "[bsfs / v = dump_extra] out.ts | [movflags = + faststart] out.mp4 | [select = \ 'a: 1 \'] out.aac"

Nota: alguns codecs podem precisar de opções diferentes dependendo do formato de saída; o auto-
a detecção disso não pode funcionar com o muxer tee. O principal exemplo é o cabeçalho_global
bandeira.

webm_dash_manifest
Muxer WebM DASH Manifest.

Este muxer implementa a especificação WebM DASH Manifest para gerar o manifesto DASH
XML. Ele também oferece suporte à geração de manifesto para transmissões ao vivo DASH.

Para mais informações, veja:

· Especificação WebM DASH:
<https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification>

· Especificação ISO DASH:
<http://standards.iso.org/ittf/PubliclyAvailableStandards/c065274_ISO_IEC_23009-1_2014.zip>

Opções

Este muxer suporta as seguintes opções:

adaptações_conjuntos
Esta opção tem a seguinte sintaxe: "id = x, streams = a, b, c id = y, streams = d, e" onde x
e y são os identificadores únicos dos conjuntos de adaptação e a, b, c, d e e são os
índices dos fluxos de áudio e vídeo correspondentes. Qualquer número de conjuntos de adaptação
pode ser adicionado usando esta opção.

viver
Defina como 1 para criar um Manifesto DASH de transmissão ao vivo. Padrão: 0.

chunk_start_index
Comece o índice do primeiro pedaço. Isso irá no número inicial atributo do
SegmentModelo elemento no manifesto. Padrão: 0.

pedaço_duração_ms
Duração de cada bloco em milissegundos. Isso irá no duração atributo do
SegmentModelo elemento no manifesto. Padrão: 1000.

utc_timing_url
URL da página que retornará o carimbo de data / hora UTC no formato ISO. Isso irá no
valor atributo do Tempo UTC elemento no manifesto. Padrão: Nenhum.

time_shift_buffer_profundidade
O menor tempo (em segundos) de buffer de deslocamento para o qual qualquer representação é garantida
estar disponível. Isso irá no timeShiftBufferDepth atributo do MPD
elemento. Padrão: 60.

mínimo_atualização_período
Período mínimo de atualização (em segundos) do manifesto. Isso irá no
mínimoAtualizaçãoPeríodo atributo do MPD elemento. Padrão: 0.

Exemplo

ffmpeg -f webm_dash_manifest -i video1.webm \
-f webm_dash_manifest -i video2.webm \
-f webm_dash_manifest -i audio1.webm \
-f webm_dash_manifest -i audio2.webm \
-mapa 0 -mapa 1 -mapa 2 -mapa 3\
-c cópia \
-f webm_dash_manifest \
-adaptation_sets "id = 0, streams = 0,1 id = 1, streams = 2,3" \
manifesto.xml

webm_chunk
WebM Live Chunk Muxer.

Este muxer grava cabeçalhos e pedaços do WebM como arquivos separados que podem ser consumidos por
clientes que suportam streams WebM Live via DASH.

Opções

Este muxer suporta as seguintes opções:

chunk_start_index
Índice do primeiro bloco (o padrão é 0).

cabeçalho
Nome do arquivo do cabeçalho onde os dados de inicialização serão gravados.

audio_chunk_duration
Duração de cada bloco de áudio em milissegundos (o padrão é 5000).

Exemplo

ffmpeg -f v4l2 -i / dev / video0 \
-f alsa -i hw: 0 \
-map 0: 0 \
-c: v libvpx-vp9 \
-s 640x360 -keyint_min 30 -g 30\
-f webm_chunk\
-cabeçalho webm_live_video_360.hdr \
-chunk_start_index 1\
webm_live_video_360_% d.chk \
-map 1: 0 \
-c: a libvorbis \
-b: a 128k \
-f webm_chunk\
-cabeçalho webm_live_audio_128.hdr \
-chunk_start_index 1\
-audio_chunk_duration 1000\
webm_live_audio_128_% d.chk

METADATA


O FFmpeg é capaz de despejar metadados de arquivos de mídia em um texto simples do tipo INI codificado em UTF-8
arquivo e carregue-o de volta usando o muxer / demuxer de metadados.

O formato do arquivo é o seguinte:

1. Um arquivo consiste em um cabeçalho e uma série de tags de metadados divididos em seções, cada uma
em sua própria linha.

2. O cabeçalho é um ; FFMETADATA string, seguido por um número de versão (agora 1).

3. As tags de metadados têm o formato chave = valor

4. Imediatamente após o cabeçalho segue os metadados globais

5. Após os metadados globais, pode haver seções com metadados por fluxo / por capítulo.

6. Uma seção começa com o nome da seção em maiúsculas (ou seja, STREAM ou CAPÍTULO) em
colchetes ([, ]) e termina com a próxima seção ou final do arquivo.

7. No início de uma seção de capítulo, pode haver uma base de tempo opcional a ser usada para
valores inicial / final. Deve estar na forma TIMEBASE =Números/dia, Onde Números e dia são inteiros.
Se a base de tempo estiver ausente, os tempos de início / término serão considerados em milissegundos.

A seguir, uma seção de capítulo deve conter os horários de início e término do capítulo no formulário INICIAR =Números,
END =Números, Onde Números é um número inteiro positivo.

8. Linhas vazias e linhas começando com ; or # são ignorados.

9. Chaves de metadados ou valores contendo caracteres especiais (=, ;, #, \ e uma nova linha) deve
ser escapado com uma barra invertida \.

10. Observe que os espaços em branco nos metadados (por exemplo Foo = Barra) é considerado parte do
tag (no exemplo acima a chave é Foo , o valor é
Barra).

Um arquivo ffmetadata pode ter a seguinte aparência:

; FFMETADATA1
title = bike \\ shed
; este é um comentário
artista = equipe de trolls FFmpeg

[CAPÍTULO]
TIMEBASE = 1/1000
START = 0
# capítulo termina às 0:01:00
END = 60000
título = capítulo \ # 1
[FLUXO]
title = multi \
linha

Usando o ffmetadata muxer e demuxer é possível extrair metadados de uma entrada
arquivo para um arquivo ffmetadata e, em seguida, transcodifique o arquivo em um arquivo de saída com o
arquivo ffmetadata editado.

Extraindo um arquivo ffmetadata com ffmpeg acontece da seguinte forma:

ffmpeg -i INPUT -f ffmetadata FFMETADATAFILE

A reinserção das informações de metadados editadas do arquivo FFMETADATAFILE pode ser feita como:

ffmpeg -i INPUT -i FFMETADATAFILE -map_metadata 1 -codec cópia OUTPUT

Use formatos ffmpeg online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad