Documentação do ffplay
1 Sinopse
ffplay [options] [input_url]
2 Descrição
FFplay é um reprodutor de mídia muito simples e portátil que usa as bibliotecas do FFmpeg e a biblioteca SDL. É usado principalmente como banco de testes para as diversas APIs do FFmpeg.
3 Opções
Todas as opções numéricas, salvo indicação em contrário, aceitam como entrada uma string que representa um número, que pode ser seguida de um dos prefixos de unidade do SI, por exemplo: ’K’, ’M’ ou ’G’.
Se ’i’ for anexado ao prefixo de unidade do SI, o prefixo completo será interpretado como um prefixo de unidade para múltiplos binários, baseados em potências de 1024 em vez de potências de 1000. Anexar ’B’ ao prefixo de unidade do SI multiplica o valor por 8. Isso permite usar, por exemplo, ’KB’, ’MiB’, ’G’ e ’B’ como sufixos numéricos.
Opções que não recebem argumentos são opções booleanas e definem o valor correspondente como true. Elas podem ser definidas como false colocando "no" antes do nome da opção. Por exemplo, usar "-nofoo" definirá como false a opção booleana chamada "foo".
Opções que recebem argumentos aceitam uma sintaxe especial em que o argumento informado na linha de comando é interpretado como o caminho do arquivo do qual o valor real do argumento é carregado. Para usar esse recurso, adicione uma barra ’/’ imediatamente antes do nome da opção (depois do traço inicial). Por exemplo,
ffmpeg -i INPUT -/filter:v filter.script OUTPUT
carregará a descrição de um filtergraph a partir do arquivo chamado filter.script.
3.1 Especificadores de fluxo
Algumas opções são aplicadas por fluxo, por exemplo a taxa de bits ou o codec. Especificadores de fluxo são usados para especificar com precisão a qual fluxo (ou fluxos) uma determinada opção pertence.
Um especificador de fluxo é uma string geralmente anexada ao nome da opção e separada dele por dois-pontos. Por exemplo, -codec:a:1 ac3 contém o especificador de fluxo a:1, que corresponde ao segundo fluxo de áudio. Portanto, isso selecionaria o codec ac3 para o segundo fluxo de áudio.
Um especificador de fluxo pode corresponder a vários fluxos, de modo que a opção é aplicada a todos eles. Por exemplo, o especificador de fluxo em -b:a 128k corresponde a todos os fluxos de áudio.
Um especificador de fluxo vazio corresponde a todos os fluxos. Por exemplo, -codec copy ou -codec: copy copiaria todos os fluxos sem recodificar.
As formas possíveis de especificadores de fluxo são:
stream_index
Corresponde ao fluxo com este índice. Por exemplo, -threads:1 4 definiria a contagem de threads do segundo fluxo como 4. Se stream_index for usado como especificador de fluxo adicional (veja abaixo), ele seleciona o fluxo número stream_index dentre os fluxos correspondentes. A numeração dos fluxos é baseada na ordem dos fluxos conforme detectada pelo libavformat, exceto quando um especificador de grupo de fluxos ou um ID de programa também é especificado. Nesse caso, ela é baseada na ordenação dos fluxos no grupo ou no programa.
stream_type[:additional_stream_specifier]
stream_type é um dos seguintes: ’v’ ou ’V’ para vídeo, ’a’ para áudio, ’s’ para legenda, ’d’ para dados e ’t’ para anexos. ’v’ corresponde a todos os fluxos de vídeo; ’V’ corresponde apenas aos fluxos de vídeo que não são imagens anexadas, miniaturas de vídeo ou artes de capa. Se additional_stream_specifier for usado, ele corresponde aos fluxos que têm esse tipo e também correspondem a additional_stream_specifier. Caso contrário, corresponde a todos os fluxos do tipo especificado.
g:group_specifier[:additional_stream_specifier]
Corresponde aos fluxos que estão no grupo com o especificador group_specifier. Se additional_stream_specifier for usado, corresponde aos fluxos que fazem parte do grupo e também correspondem a additional_stream_specifier. group_specifier pode ser um dos seguintes:
group_index
Corresponde ao fluxo com este índice de grupo.
#group_id ou i:group_id
Corresponde ao fluxo com este id de grupo.
p:program_id[:additional_stream_specifier]
Corresponde aos fluxos que estão no programa com o id program_id. Se additional_stream_specifier for usado, corresponde aos fluxos que fazem parte do programa e também correspondem a additional_stream_specifier.
#stream_id ou i:stream_id
Corresponde ao fluxo pelo id de fluxo (por exemplo, o PID em um container MPEG-TS).
m:key[:value]
Corresponde aos fluxos cuja tag de metadados key tem o valor especificado. Se value não for informado, corresponde aos fluxos que contêm a tag dada com qualquer valor. O caractere de dois-pontos ’:’ em key ou value precisa ser escapado com barra invertida.
disp:dispositions[:additional_stream_specifier]
Corresponde aos fluxos com a(s) disposition(s) especificada(s). dispositions é uma lista de uma ou mais dispositions (como exibidas pela opção -dispositions) unidas por ’+’.
u
Corresponde aos fluxos com configuração utilizável: o codec precisa estar definido e as informações essenciais, como as dimensões de vídeo ou a taxa de amostragem de áudio, precisam estar presentes.
Observe que, no ffmpeg, a correspondência por metadados só funciona corretamente para arquivos de entrada.
3.2 Opções genéricas
Estas opções são compartilhadas entre as ferramentas ff*.
-L, -license
Mostra a licença.
-h, -?, -help, --help [arg]
Mostra a ajuda. Um parâmetro opcional pode ser especificado para exibir a ajuda sobre um item específico. Se nenhum argumento for especificado, apenas as opções básicas (não avançadas) da ferramenta são exibidas.
Os valores possíveis para arg são:
long
Exibe as opções avançadas da ferramenta além das opções básicas.
full
Exibe a lista completa de opções, incluindo as opções compartilhadas e privadas de encoders, decoders, demuxers, muxers, filtros etc.
decoder=decoder_name
Exibe informações detalhadas sobre o decoder chamado decoder_name. Use a opção -decoders para obter uma lista de todos os decoders.
encoder=encoder_name
Exibe informações detalhadas sobre o encoder chamado encoder_name. Use a opção -encoders para obter uma lista de todos os encoders.
demuxer=demuxer_name
Exibe informações detalhadas sobre o demuxer chamado demuxer_name. Use a opção -formats para obter uma lista de todos os demuxers e muxers.
muxer=muxer_name
Exibe informações detalhadas sobre o muxer chamado muxer_name. Use a opção -formats para obter uma lista de todos os muxers e demuxers.
filter=filter_name
Exibe informações detalhadas sobre o filtro chamado filter_name. Use a opção -filters para obter uma lista de todos os filtros.
bsf=bitstream_filter_name
Exibe informações detalhadas sobre o filtro de bitstream chamado bitstream_filter_name. Use a opção -bsfs para obter uma lista de todos os filtros de bitstream.
protocol=protocol_name
Exibe informações detalhadas sobre o protocolo chamado protocol_name. Use a opção -protocols para obter uma lista de todos os protocolos.
-version
Mostra a versão.
-buildconf
Mostra a configuração de compilação, uma opção por linha.
-formats
Mostra os formatos disponíveis (incluindo dispositivos).
-demuxers
Mostra os demuxers disponíveis.
-muxers
Mostra os muxers disponíveis.
-devices
Mostra os dispositivos disponíveis.
-codecs
Mostra todos os codecs conhecidos pela libavcodec.
Observe que o termo ’codec’ é usado ao longo desta documentação como uma forma abreviada do que, mais corretamente, se chama formato de bitstream de mídia.
-decoders
Mostra os decoders disponíveis.
-encoders
Mostra todos os encoders disponíveis.
-bsfs
Mostra os filtros de bitstream disponíveis.
-protocols
Mostra os protocolos disponíveis.
-filters
Mostra os filtros do libavfilter disponíveis.
-pix_fmts
Mostra os pixel formats disponíveis.
-sample_fmts
Mostra os sample format disponíveis.
-layouts
Mostra os nomes de canal e os layouts de canais padrão.
-dispositions
Mostra as dispositions de fluxo.
-colors
Mostra os nomes de cores reconhecidos.
-sources device[,opt1=val1[,opt2=val2]...]
Mostra as fontes detectadas automaticamente do dispositivo de entrada. Alguns dispositivos podem fornecer nomes de fonte dependentes do sistema que não podem ser detectados automaticamente. Não se deve presumir que a lista retornada esteja sempre completa.
ffmpeg -sources pulse,server=192.168.0.4
-sinks device[,opt1=val1[,opt2=val2]...]
Mostra os sinks detectados automaticamente do dispositivo de saída. Alguns dispositivos podem fornecer nomes de sink dependentes do sistema que não podem ser detectados automaticamente. Não se deve presumir que a lista retornada esteja sempre completa.
ffmpeg -sinks pulse,server=192.168.0.4
-loglevel [flags+]loglevel | -v [flags+]loglevel
Define o nível de registro e as flags usadas pela biblioteca.
O prefixo opcional flags pode ser composto pelos seguintes valores:
‘repeat’
Indica que a saída de registro repetida não deve ser condensada na primeira linha, e a linha "Last message repeated n times" será omitida.
‘level’
Indica que a saída de registro deve adicionar um prefixo [level] a cada linha de mensagem. Isso pode ser usado como alternativa à coloração do registro, por exemplo, ao despejar o registro em um arquivo.
‘time’
Indica que as linhas de registro devem ser prefixadas com informação de horário.
‘datetime’
Indica que as linhas de registro devem ser prefixadas com informação de data e horário.
As flags também podem ser usadas isoladamente, adicionando um prefixo ’+’/’-’ para definir/redefinir uma única flag sem afetar as demais nem alterar loglevel. Ao definir flags e loglevel juntos, é esperado um separador ’+’ entre o último valor de flags e loglevel.
loglevel é uma string ou um número contendo um dos seguintes valores:
‘quiet, -8’
Não mostra absolutamente nada; permanece em silêncio.
‘panic, 0’
Mostra apenas erros fatais que poderiam levar o processo a travar, como uma falha de asserção. Atualmente isso não é usado para nada.
‘fatal, 8’
Mostra apenas erros fatais. São erros após os quais o processo definitivamente não pode continuar.
‘error, 16’
Mostra todos os erros, incluindo aqueles dos quais é possível se recuperar.
‘warning, 24’
Mostra todos os avisos e erros. Qualquer mensagem relacionada a eventos possivelmente incorretos ou inesperados será exibida.
‘info, 32’
Mostra mensagens informativas durante o processamento. Isso é exibido além dos avisos e erros. Este é o valor padrão.
‘verbose, 40’
O mesmo que info, porém mais detalhado.
‘debug, 48’
Mostra tudo, incluindo informações de depuração.
‘trace, 56’
Por exemplo, para habilitar a saída de registro repetida, adicione o prefixo level e defina loglevel como verbose:
ffmpeg -loglevel repeat+level+verbose -i input output
Outro exemplo que habilita a saída de registro repetida sem afetar o estado atual da flag de prefixo level nem do loglevel:
ffmpeg [...] -loglevel +repeat
Por padrão, o programa registra no stderr. Se o terminal for compatível com coloração, cores são usadas para marcar erros e avisos. A coloração do registro pode ser desabilitada definindo a variável de ambiente AV_LOG_FORCE_NOCOLOR, ou pode ser forçada definindo a variável de ambiente AV_LOG_FORCE_COLOR.
-report
Despeja a linha de comando completa e a saída de registro em um arquivo chamado program-YYYYMMDD-HHMMSS.log no diretório atual. Esse arquivo pode ser útil para relatos de bugs. Também implica -loglevel debug.
Definir a variável de ambiente FFREPORT com qualquer valor tem o mesmo efeito. Se o valor for uma sequência de pares key=value separados por ’:’, essas opções afetarão o relatório; os valores das opções precisam ter escape se contiverem caracteres especiais ou o delimitador de opções ’:’ (veja a seção “Quoting and escaping” no manual ffmpeg-utils).
As seguintes opções são reconhecidas:
file
define o nome de arquivo a ser usado para o relatório; %p é expandido para o nome do programa, %t é expandido para uma marca de tempo, %% é expandido para um simples %
level
define o nível de detalhamento do registro usando um valor numérico (veja -loglevel).
Por exemplo, para gerar um relatório em um arquivo chamado ffreport.log usando um nível de registro 32 (apelido do nível de registro info):
FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
Erros ao analisar a variável de ambiente não são fatais e não aparecerão no relatório.
-hide_banner
Suprime a impressão do banner.
Normalmente, todas as ferramentas do FFmpeg exibem um aviso de copyright, opções de compilação e versões de bibliotecas. Esta opção pode ser usada para suprimir a exibição dessas informações.
-cpuflags flags (global)
Permite definir e limpar flags de CPU. Esta opção é destinada a testes. Não a use a menos que saiba o que está fazendo.
ffmpeg -cpuflags -sse+mmx ...
ffmpeg -cpuflags mmx ...
ffmpeg -cpuflags 0 ...
As flags possíveis para esta opção são:
‘x86’
‘mmx’ ‘mmxext’ ‘sse’ ‘sse2’ ‘sse2slow’ ‘sse3’ ‘sse3slow’ ‘ssse3’ ‘atom’ ‘sse4.1’ ‘sse4.2’ ‘avx’ ‘avx2’ ‘xop’ ‘fma3’ ‘fma4’ ‘3dnow’ ‘3dnowext’ ‘bmi1’ ‘bmi2’ ‘cmov’ ‘ARM’
‘armv5te’ ‘armv6’ ‘armv6t2’ ‘vfp’ ‘vfpv3’ ‘neon’ ‘setend’ ‘AArch64’
‘armv8’ ‘vfp’ ‘neon’ ‘PowerPC’
‘altivec’ ‘Processadores específicos’
‘pentium2’ ‘pentium3’ ‘pentium4’ ‘k6’ ‘k62’ ‘athlon’ ‘athlonxp’ ‘k8’ -cpucount count (global)
Sobrescreve a detecção da contagem de CPUs. Esta opção é destinada a testes. Não a use a menos que saiba o que está fazendo.
ffmpeg -cpucount 2
-max_alloc bytes
Define o limite máximo de tamanho para a alocação de um bloco no heap pelas funções malloc da família do ffmpeg. Tenha extrema cautela ao usar esta opção. Não a use se você não entender completamente as consequências disso. O padrão é INT_MAX.
3.3 AVOptions
Estas opções são fornecidas diretamente pelas bibliotecas libavformat, libavdevice e libavcodec. Para ver a lista de AVOptions disponíveis, use a opção -help. Elas são divididas em duas categorias:
generic
Estas opções podem ser definidas para qualquer container, codec ou dispositivo. As opções genéricas são listadas em AVFormatContext options para containers/dispositivos e em AVCodecContext options para codecs.
private
Estas opções são específicas do container, dispositivo ou codec em questão. As opções privadas são listadas sob o container/dispositivo/codec correspondente.
Por exemplo, para gravar um cabeçalho ID3v2.3 em vez do ID3v2.4 padrão em um arquivo MP3, use a opção privada id3v2_version do muxer de MP3:
ffmpeg -i input.flac -id3v2_version 3 out.mp3
Todas as AVOptions de codec são por fluxo e, portanto, um especificador de fluxo deve ser anexado a elas:
ffmpeg -i multichannel.mxf -map 0:v:0 -map 0:a:0 -map 0:a:0 -c:a:0 ac3 -b:a:0 640k -ac:a:1 2 -c:a:1 aac -b:2 128k out.mp4
No exemplo acima, um fluxo de áudio multicanal é mapeado duas vezes para a saída. A primeira instância é codificada com o codec ac3 e taxa de bits de 640k. A segunda instância tem o downmix feito para 2 canais e é codificada com o codec aac. Uma taxa de bits de 128k é especificada para ela usando o índice absoluto do fluxo de saída.
Nota: a sintaxe -nooption não pode ser usada para AVOptions booleanas; use -option 0/-option 1.
Nota: a antiga forma não documentada de especificar AVOptions por fluxo prefixando v/a/s ao nome da opção agora está obsoleta e será removida em breve.
3.4 Opções principais
-x width
Força a largura exibida.
-y height
Força a altura exibida.
-fs
Inicia em modo de tela cheia.
-an
Desativa o áudio.
-vn
Desativa o vídeo.
-sn
Desativa as legendas.
-ss pos
Busca até pos. Observe que, na maioria dos formatos, não é possível buscar com exatidão, portanto o ffplay buscará o ponto de busca mais próximo de pos.
pos precisa ser uma especificação de duração de tempo; veja (ffmpeg-utils)a seção Time duration do manual ffmpeg-utils(1).
-t duration
Reproduz duration segundos de áudio/vídeo.
duration precisa ser uma especificação de duração de tempo; veja (ffmpeg-utils)a seção Time duration do manual ffmpeg-utils(1).
-bytes
Busca por bytes.
-seek_interval
Define um intervalo personalizado, em segundos, para buscar usando as teclas esquerda/direita. O padrão é 10 segundos.
-nodisp
Desativa a exibição gráfica.
-noborder
Janela sem bordas.
-alwaysontop
Janela sempre em primeiro plano. Disponível em: X11 com SDL >= 2.0.5, Windows com SDL >= 2.0.6.
-volume
Define o volume inicial. 0 significa silêncio, 100 significa nenhuma redução ou amplificação de volume. Valores negativos são tratados como 0, valores acima de 100 são tratados como 100.
-f fmt
Força o formato.
-window_title title
Define o título da janela (o padrão é o nome do arquivo de entrada).
-left title
Define a posição x da borda esquerda da janela (o padrão é uma janela centralizada).
-top title
Define a posição y da borda superior da janela (o padrão é uma janela centralizada).
-loop number
Repete a reprodução do filme
-showmode mode
Define o modo de exibição a ser usado. Os valores disponíveis para mode são:
‘0, video’
exibe o vídeo
‘1, waves’
exibe as ondas de áudio
‘2, rdft’
exibe a banda de frequência de áudio usando RDFT (transformada discreta de Fourier real (inversa))
O valor padrão é "video"; se o vídeo não estiver presente ou não puder ser reproduzido, "rdft" é selecionado automaticamente.
Você pode percorrer interativamente os modos de exibição disponíveis pressionando a tecla w.
-vf filtergraph
Cria o filtergraph especificado por filtergraph e o usa para filtrar o fluxo de vídeo.
filtergraph é uma descrição do filtergraph a ser aplicado ao fluxo, e precisa ter uma única entrada de vídeo e uma única saída de vídeo. No filtergraph, a entrada é associada ao rótulo in, e a saída ao rótulo out. Consulte o manual ffmpeg-filters para mais informações sobre a sintaxe de filtergraph.
Você pode especificar esse parâmetro várias vezes e percorrer os filtergraphs especificados junto com os modos de exibição pressionando a tecla w.
-af filtergraph
filtergraph é uma descrição do filtergraph a ser aplicado ao áudio de entrada. Use a opção "-filters" para exibir todos os filtros disponíveis (incluindo fontes e sinks).
-i input_url
Lê input_url.
3.5 Opções avançadas
-stats
Exibe várias estatísticas de reprodução; em particular, mostra a duração do fluxo, os parâmetros do codec, a posição atual no fluxo e o desvio de sincronização entre áudio e vídeo. É exibido por padrão, a menos que o nível de registro seja inferior a info. Sua exibição pode ser forçada especificando esta opção manualmente. Para desativá-la, você precisa especificar -nostats.
-fast
Otimizações que não seguem a especificação.
-genpts
Gera pts.
-sync type
Define o clock mestre como áudio (type=audio), vídeo (type=video) ou externo (type=ext). O padrão é áudio. O clock mestre é usado para controlar a sincronização entre áudio e vídeo. A maioria dos reprodutores de mídia usa o áudio como clock mestre, mas em alguns casos (streaming ou transmissão de alta qualidade) é necessário alterar isso. Esta opção é usada principalmente para fins de depuração.
-ast audio_stream_specifier
Seleciona o fluxo de áudio desejado usando o especificador de fluxo informado. Os especificadores de fluxo são descritos no capítulo "Especificadores de fluxo". Se esta opção não for especificada, o "melhor" fluxo de áudio é selecionado no programa do fluxo de vídeo já selecionado.
-vst video_stream_specifier
Seleciona o fluxo de vídeo desejado usando o especificador de fluxo informado. Os especificadores de fluxo são descritos no capítulo "Especificadores de fluxo". Se esta opção não for especificada, o "melhor" fluxo de vídeo é selecionado.
-sst subtitle_stream_specifier
Seleciona o fluxo de legenda desejado usando o especificador de fluxo informado. Os especificadores de fluxo são descritos no capítulo "Especificadores de fluxo". Se esta opção não for especificada, o "melhor" fluxo de legenda é selecionado no programa do fluxo de vídeo ou áudio já selecionado.
-autoexit
Sai quando o vídeo termina de ser reproduzido.
-exitonkeydown
Sai se qualquer tecla for pressionada.
-exitonmousedown
Sai se qualquer botão do mouse for pressionado.
-codec:media_specifier codec_name
Força uma implementação de decoder específica para o fluxo identificado por media_specifier, que pode assumir os valores a (áudio), v (vídeo) e s (legenda).
-acodec codec_name
Força um decoder de áudio específico.
-vcodec codec_name
Força um decoder de vídeo específico.
-scodec codec_name
Força um decoder de legenda específico.
-autorotate
Gira o vídeo automaticamente de acordo com os metadados do arquivo. Habilitado por padrão; use -noautorotate para desativar.
-framedrop
Descarta quadros de vídeo se o vídeo estiver fora de sincronia. Habilitado por padrão se o clock mestre não estiver definido como vídeo. Use esta opção para habilitar o descarte de quadros para todas as fontes de clock mestre; use -noframedrop para desativar.
-infbuf
Não limita o tamanho do buffer de entrada; lê da entrada o máximo de dados possível o quanto antes. Habilitado por padrão para fluxos em tempo real, nos quais dados podem ser perdidos se não forem lidos a tempo. Use esta opção para habilitar buffers infinitos em todas as entradas; use -noinfbuf para desativar.
-filter_threads nb_threads
Define quantas threads são usadas para processar um pipeline de filtros. Cada pipeline produzirá um pool de threads com essa quantidade de threads disponíveis para processamento paralelo. O padrão é 0, o que significa que a contagem de threads será determinada pelo número de CPUs disponíveis.
-enable_vulkan
Usa o renderizador vulkan em vez do renderizador nativo do SDL. Depende de libplacebo.
-vulkan_params
Configuração do Vulkan usando uma lista de pares key=value separados por ":".
-hwaccel
Usa decodificação acelerada por hardware. Habilitar esta opção habilita automaticamente o renderizador vulkan.
-video_bg pattern
Define o padrão de plano de fundo do vídeo usado para vídeos transparentes. Para padrões de cor sólida, você pode usar o nome da cor ou o código de cor conforme especificado na (ffmpeg-utils)seção Color do manual ffmpeg-utils(1). Você também pode usar a palavra-chave especial tiles para um padrão estilo tabuleiro de xadrez, que também é o padrão. O padrão none renderiza sem alpha blending, ignorando efetivamente o canal alfa.
3.6 Durante a reprodução
q, ESC
Sai.
f
Alterna a tela cheia.
p, SPC
Pausa.
m
Alterna o mudo.
9, 0
/, *
Diminui e aumenta o volume, respectivamente.
a
Percorre o canal de áudio no programa atual.
v
Percorre o canal de vídeo.
t
Percorre o canal de legenda no programa atual.
c
Percorre os programas.
w
Percorre os filtros de vídeo ou os modos de exibição.
s
Avança para o próximo quadro.
Pausa se o fluxo ainda não estiver pausado, avança para o próximo quadro de vídeo e pausa.
left/right
Busca para trás/frente 10 segundos, ou um intervalo personalizado se -seek_interval estiver definido.
down/up
Busca para trás/frente 1 minuto.
page down/page up
Busca o capítulo anterior/seguinte, ou 10 minutos para trás/frente se não houver capítulos.
right mouse click
Busca até a porcentagem no arquivo correspondente à fração da largura.
left mouse double-click
Alterna a tela cheia.
4 Veja também
ffmpeg-all, ffmpeg, ffprobe, ffmpeg-utils, ffmpeg-scaler, ffmpeg-resampler, ffmpeg-codecs, ffmpeg-bitstream-filters, ffmpeg-formats, ffmpeg-devices, ffmpeg-protocols, ffmpeg-filters
5 Autores
Os desenvolvedores do FFmpeg.
Para detalhes sobre a autoria, veja o histórico Git do projeto (https://git.ffmpeg.org/ffmpeg), por exemplo digitando o comando git log no diretório de código-fonte do FFmpeg, ou navegando pelo repositório on-line em https://git.ffmpeg.org/ffmpeg.
Os mantenedores dos componentes específicos estão listados no arquivo MAINTAINERS na árvore de código-fonte.
Hospedagem fornecida por telepoint.bg