Metadados
Muitos arquivos contêm informações interessantes sobre o próprio conteúdo. Isso é chamado de “metadados”. A Transloadit extrai automaticamente esses metadados de todos os arquivos enviados, importados e processados.
No mínimo, cada arquivo terá informações como:
{
"id": "ae52b7f8c1b3426e8c29ea0a9daf8306",
"name": "straw-apple.jpg",
"basename": "straw-apple",
"ext": "jpg",
"size": 92230,
"mime": "image/jpeg",
"type": "image",
"field": "test_file",
"url": "http://tmp.maynard.transloadit.com/upload/1324a798a99fce7f5f8289a95a74f02b.jpg",
"original_id": "4af24fb2595f44809f3adc2f77bc9bfa",
"meta": {
// …
}
}
As informações que conseguimos extrair dependem do arquivo de mídia e do tipo dele, mas também de quem o produziu. Se ele
foi gerado por um iPhone, provavelmente haverá latitude para geolocalização. Chaves mais comuns incluem
height e duration.
Para ver quais informações conseguimos extrair dos arquivos que você nos enviar, experimente uma das nossas demos (English) e inspecione nossa resposta depois de enviar um arquivo por lá.
id-
Um ID aleatório e único usado internamente pela Transloadit para rastrear o arquivo.
name-
O nome do arquivo. A Transloadit alterará a extensão usada neste campo se o arquivo for processado para um formato diferente.
basename-
O nome do arquivo sem a extensão.
ext-
A extensão do arquivo.
size-
O tamanho do arquivo, em bytes.
mime-
O tipo MIME determinado para este arquivo.
type-
Uma categoria abstrata que descreve o arquivo. Os valores conhecidos são
"audio","document","image","office","pdf","swf","video","xls"ounullquando nenhuma categoria foi detectada. Os consumidores devem aceitar outras strings para que categorias futuras continuem compatíveis. field-
O nome do campo de formulário usado para enviar este arquivo.
url-
Uma URL a partir da qual o arquivo pode ser baixado, ou
nullquando nenhuma URL de entrega está disponível. URLs temporárias em nossos servidores expiram após algumas horas; exporte os arquivos para um armazenamento para uso posterior. Resultados de armazenamento privado de/transloadit/storeretornamnulltanto paraurlquanto parassl_url. Guarde o Workspace, oasset_ide oversion_idretornados como referência durável, sujeita às regras de acesso e retenção./transloadit/importaceitaasset_idcom umversion_idopcional, ou umpathmutável. Nem uma URL temporária nem oiddo arquivo de processamento são uma referência durável de armazenamento. original_id-
O ID único do arquivo enviado original a partir do qual este arquivo foi gerado. Isso é útil para determinar qual arquivo de um upload com vários arquivos foi usado para gerar determinado arquivo, após vários Steps de processamento.
meta-
Um objeto que contém metadados adicionais extraídos do arquivo, conforme mostrado abaixo.
Metadados de imagem
Embora isso dependa do arquivo em questão, arquivos cujo type é image normalmente podem conter dados
como os seguintes dentro da propriedade meta:
width-
A largura da mídia em pixels. Para vídeos cuja proporção de exibição difere da proporção de pixels, esta é a largura de exibição pretendida.
height-
A altura da mídia em pixels.
aspect_ratio-
A proporção da imagem, ou seja, a largura dividida pela altura. Será 0 se, por algum motivo, a altura da imagem for 0.
date_recorded-
A data e a hora em que a mídia foi gravada, no formato
YYYY/MM/DD HH:MM:SS TZ, como"2010/06/30 22:16:06 GMT". date_file_created-
O carimbo de data/hora de criação informado pelos metadados da mídia, quando disponível.
date_file_modified-
O horário de modificação do arquivo de mídia no sistema de arquivos.
title-
O título desta imagem, como
"Tree". keywords-
Palavras-chave extraídas dos metadados do arquivo: uma string, um número finito ou um array cujas entradas podem ser strings, números finitos ou booleanos. Por exemplo,
["tree", "nature"]. O campo pode estar ausente ou sernull. Verifique o tipo antes de iterar; as entradas do array não são necessariamente strings. description-
Uma descrição desta imagem, como
"This tree is very old.". location-
O local onde esta imagem foi tirada, que geralmente é a rua, como
"Zingster Str. 32". creator-
O criador que tirou a imagem.
author-
O autor que tirou a imagem. Algumas câmeras preenchem este campo em vez de
creator. copyright-
O campo de metadados de direitos autorais.
copyright_notice-
O campo de metadados do aviso de direitos autorais.
city-
A cidade em que esta imagem foi tirada, como
"Berlin". state-
O estado em que esta imagem foi tirada, como
"Berlin". country-
O país em que esta imagem foi tirada, como
"Germany". country_code-
O código do país em que esta imagem foi tirada, como
"de". aperture-
A configuração de abertura desta imagem, como
5.7. exposure_compensation-
A compensação de exposição desta imagem, como
"+4/3". exposure_mode-
O modo de exposição desta imagem, como
"Auto". exposure_time-
O tempo de exposição desta imagem, como
"1/30". flash-
As configurações de flash desta imagem, como
"Off, Did not fire". focal_length-
A distância focal desta imagem, como
"55.0 mm". f_number-
O número f desta imagem, como
5.6. iso-
O valor ISO desta imagem, como
800. light_value-
O valor de luz desta imagem, como
6.9. metering_mode-
O modo de medição desta imagem, como
"Multi-segment". shutter_speed-
A velocidade do obturador desta imagem, como
"1/32". white_balance-
A configuração de balanço de branco desta imagem, como
"Manual". device_name-
O nome do dispositivo que gravou a mídia, como
"iPhone 3GS". device_vendor-
O fabricante do dispositivo que gravou a mídia, como
"Apple". device_software-
A versão do software do dispositivo que gravou a mídia, como
"3.1.2". latitude-
A latitude em que a mídia foi gravada, como
52.5374. longitude-
A longitude em que a mídia foi gravada, como
13.4034. thumb_index-
O índice da miniatura atual, começando em 0. Esta chave só está presente em resultados do 🤖/video/thumbs.
thumb_offset-
O deslocamento da miniatura atual, em segundos. Esta chave só está presente em resultados do 🤖/video/thumbs.
frame_count-
O número de quadros em um arquivo GIF animado. Por padrão, é
1para todos os outros tipos de imagem. colorspace-
O espaço de cores detectado da mídia, como
"sRGB"ou"Gray". O espaço de cores de vídeo fica disponível quando é detectado com a extração de metadados habilitada; isso não exigeoutput_meta.colorspace: true. Definiroutput_meta: falsedesabilita a extração de metadados. has_clipping_path-
É
truese a imagem contém um traçado de recorte efalsecaso contrário. average_color-
Não confunda com a cor dominante, que conta a cor de pixel que mais ocorre e tem casos de uso limitados. A cor média é calculada redimensionando primeiro a imagem de entrada para 1 pixel.
has_transparency-
Indica se a imagem tem áreas transparentes. Defina
output_meta.has_transparencycomotruepara solicitar a inspeção de transparência. Valores já conhecidos como falsos, comofalsepara imagens JPEG, podem ser retornados mesmo quando essa opção é omitida ou definida comofalse. Definir o própriooutput_metacomofalseignora a extração de metadados adicionais; verificações básicas de tipo e tamanho do arquivo ainda podem ser executadas. dominant_colors-
Retorna um array de até 10 cores dominantes da imagem como valores hexadecimais. Omita
output_meta.dominant_colorspara ignorar essa extração. Informar a propriedade, inclusive comofalse, solicita a extração e pode gerar cobranças de uso adicionais quando cores são retornadas. Definir o própriooutput_metacomofalsedesabilita a extração de metadados adicionais; verificações básicas de tipo e tamanho do arquivo ainda podem ser executadas.
Metadados de vídeo
Embora isso dependa do arquivo em questão, arquivos cujo type é video normalmente podem conter dados
como os seguintes dentro da propriedade meta:
width-
A largura da mídia em pixels. Para vídeos cuja proporção de exibição difere da proporção de pixels, esta é a largura de exibição pretendida.
height-
A altura da mídia em pixels.
framerate-
A taxa de quadros do vídeo, como
29.5. video_bitrate-
A taxa de bits de vídeo do vídeo, como
500000. video_codec-
O codec de vídeo do vídeo, como
"ffh264". audio_bitrate-
A taxa de bits de áudio em bits por segundo, somando todos os canais, como
128000. audio_samplerate-
A taxa de amostragem de áudio em hertz, como
44100. audio_channels-
O número de canais de áudio, normalmente
2para estéreo. audio_codec-
O codec de áudio, como
"faad". Veja os codecs de áudio compatíveis. seekable-
Indica se o formato do vídeo permite busca (seeking), como
true. interlaced-
Indica se o vídeo parece usar varredura entrelaçada:
truepara vídeos entrelaçados oufalsepara vídeos progressivos. Definaoutput_meta.interlacedcomotruepara solicitar a detecção. Esta chave pode estar presente comonullquando a detecção não foi solicitada ou quando a detecção solicitada foi inconclusiva. A presença do campo, por si só, não indica que a detecção foi executada. field_order-
A ordem de campos informada pelo FFprobe, como
"tt","bb","tb","bt"ou"progressive". Definaoutput_meta.interlacedcomotruepara solicitar a detecção que preenche este campo de diagnóstico. Esta chave pode estar presente comonullquando a detecção não foi solicitada ou a ordem de campos não estava disponível. Useinterlacedpara uma ramificação simples entre entrelaçado e progressivo. interlace_detection-
Detalhes de diagnóstico do detector de entrelaçamento da Transloadit. Este objeto pode incluir
sampled_frames,tff,bff,progressive,undetermined,confidence,methodeffprobe_field_order. Definaoutput_meta.interlacedcomotruepara solicitar a detecção. Esta chave pode estar presente comonullquando a detecção não foi solicitada; verifique se há um objeto não nulo antes de ler as propriedades dele. colorspace-
O espaço de cores detectado da mídia, como
"sRGB"ou"Gray". O espaço de cores de vídeo fica disponível quando é detectado com a extração de metadados habilitada; isso não exigeoutput_meta.colorspace: true. Definiroutput_meta: falsedesabilita a extração de metadados. date_recorded-
A data e a hora em que a mídia foi gravada, no formato
YYYY/MM/DD HH:MM:SS TZ, como"2010/06/30 22:16:06 GMT". date_file_created-
O carimbo de data/hora de criação informado pelos metadados da mídia, quando disponível.
date_file_modified-
O horário de modificação do arquivo de mídia no sistema de arquivos.
device_name-
O nome do dispositivo que gravou a mídia, como
"iPhone 3GS". device_vendor-
O fabricante do dispositivo que gravou a mídia, como
"Apple". device_software-
A versão do software do dispositivo que gravou a mídia, como
"3.1.2". latitude-
A latitude em que a mídia foi gravada, como
52.5374. longitude-
A longitude em que a mídia foi gravada, como
13.4034.
Por exemplo, você pode detectar vídeos entrelaçados em um Step de importação ou upload e encaminhar apenas esses arquivos para um Step seguinte:
{
"steps": {
":original": {
"robot": "/upload/handle",
"output_meta": {
"interlaced": true
}
},
"only_interlaced": {
"use": ":original",
"robot": "/file/filter",
"accepts": [["${file.meta.interlaced}", "==", "true"]]
}
}
}
Metadados de áudio
Embora isso dependa do arquivo em questão, arquivos cujo type é audio normalmente podem conter dados
como os seguintes dentro da propriedade meta:
duration-
A duração do arquivo de áudio em segundos.
audio_bitrate-
A taxa de bits de áudio em bits por segundo, somando todos os canais, como
128000. audio_samplerate-
A taxa de amostragem de áudio em hertz, como
44100. audio_channels-
O número de canais de áudio, normalmente
2para estéreo. audio_codec-
O codec de áudio, como
"faad". Veja os codecs de áudio compatíveis. artist-
Muitos aplicativos que produzem áudio gravam informações adicionais no arquivo de áudio, como
artist,year,album,genre. mean_volume-
O volume médio do arquivo de áudio. Defina
output_meta.mean_volumecomotruepara solicitar a medição. Esta chave pode estar presente comonullquando a medição não foi solicitada ou o valor não estava disponível. A presença do campo, por si só, não indica que a medição foi executada.