Metadatos
Muchos archivos contienen información interesante sobre su contenido. Esta información se denomina «metadatos». Transloadit extrae automáticamente estos metadatos de todos los archivos subidos, importados y procesados.
Como mínimo, cada archivo incluirá información como la siguiente:
{
"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": {
// …
}
}
La información que podemos extraer depende del archivo multimedia, de su tipo y también de quién lo haya creado. Si se
creó con un iPhone, probablemente incluya latitude para la geolocalización. Otras claves más habituales son
height y duration.
Para ver qué información podemos extraer de los archivos que nos envíes, puedes probar una de nuestras demostraciones (English) e inspeccionar nuestra respuesta después de subir un archivo allí.
id-
Un ID aleatorio y único que Transloadit utiliza internamente para hacer un seguimiento del archivo.
name-
El nombre del archivo. Transloadit cambiará la extensión utilizada en este campo si el archivo se procesa para convertirlo a un formato diferente.
basename-
El nombre del archivo sin la extensión.
ext-
La extensión del archivo. Puede ser
nullcuando no se haya determinado una extensión, o una cadena vacía si el nombre no tiene extensión. size-
El tamaño del archivo, en bytes.
mime-
El tipo MIME determinado para este archivo.
type-
Una categoría abstracta que describe el archivo. Los valores conocidos son
"audio","document","image","office","pdf","swf","video","xls", onullcuando no se haya detectado ninguna categoría. Los consumidores deben aceptar otras cadenas para mantener la compatibilidad con futuras categorías. field-
El nombre del campo del formulario utilizado para enviar este archivo.
url-
Una URL desde la que se puede descargar el archivo, o
nullcuando no hay ninguna URL de entrega disponible. Las URL temporales de nuestros servidores caducan al cabo de unas horas; exporta los archivos a un almacenamiento para usarlos más adelante. Los resultados de almacenamiento privado de/transloadit/storedevuelvennulltanto paraurlcomo parassl_url. Conserva el Workspace,asset_idyversion_iddevueltos para disponer de una referencia duradera, sujeta a las condiciones de acceso y retención./transloadit/importaceptaasset_idcon unversion_idopcional, o unpathmutable. Ni una URL temporal ni eliddel archivo de procesamiento constituyen una referencia duradera de almacenamiento. original_id-
El ID único del archivo original subido a partir del cual se generó este archivo. Esto resulta útil para determinar qué archivo de una subida de varios archivos se utilizó para generar un archivo concreto, después de varios Steps de procesamiento.
meta-
Un objeto que contiene metadatos adicionales extraídos del archivo, como se muestra a continuación. Las etiquetas de fecha repetidas pueden devolverse como listas de sus valores originales. Comprueba el tipo del valor antes de usarlo como una sola marca de tiempo.
Metadatos de imagen
Aunque depende del archivo en cuestión, los archivos cuyo type es image suelen poder contener datos
como los siguientes dentro de la propiedad meta:
width-
El ancho del contenido multimedia en píxeles. En los vídeos cuya relación de aspecto de visualización difiere de su relación de aspecto en píxeles, este es el ancho de visualización previsto.
height-
La altura del contenido multimedia en píxeles.
aspect_ratio-
La relación de aspecto de la imagen, que es su ancho dividido entre su altura. Será 0 si por algún motivo la altura de la imagen es 0.
date_recorded-
La fecha y hora en que se grabó el contenido multimedia. Una marca de tiempo individual en forma de cadena válida se normaliza al formato
YYYY/MM/DD HH:MM:SS. Cuando incluye una zona horaria, se convierte a UTC/GMT y termina enGMT. Las marcas de tiempo en forma de cadena que no se puedan interpretar se convierten ennull. Las marcas de tiempo numéricas y las listas de etiquetas de fecha repetidas conservan sus valores originales. date_file_created-
La marca de tiempo de creación indicada por los metadatos del contenido multimedia, cuando está disponible.
date_file_modified-
La marca de tiempo de modificación indicada por el sistema de archivos o por los metadatos incrustados en el contenido multimedia.
title-
El título de esta imagen, como
"Tree". keywords-
Palabras clave extraídas de los metadatos del archivo: una cadena, un número finito o un array cuyas entradas pueden ser cadenas, números finitos o booleanos. Por ejemplo,
["tree", "nature"]. El campo puede estar ausente o sernull. Comprueba su tipo antes de iterar; las entradas del array no son necesariamente cadenas. description-
Una descripción de esta imagen, como
"This tree is very old.". location-
El lugar donde se tomó esta imagen, que suele ser la calle, como
"Zingster Str. 32". creator-
El creador que tomó la imagen.
author-
El autor que tomó la imagen. Algunas cámaras rellenan este campo en lugar de
creator. copyright-
El campo de metadatos de derechos de autor.
copyright_notice-
El campo de metadatos del aviso de derechos de autor.
city-
La ciudad donde se tomó esta imagen, como
"Berlin". state-
El estado donde se tomó esta imagen, como
"Berlin". country-
El país donde se tomó esta imagen, como
"Germany". country_code-
El código de país del país donde se tomó esta imagen, como
"de". aperture-
El ajuste de apertura de esta imagen, como
5.7. exposure_compensation-
La compensación de exposición de esta imagen, como
"+4/3". exposure_mode-
El modo de exposición de esta imagen, como
"Auto". exposure_time-
El tiempo de exposición de esta imagen, como
"1/30". flash-
Los ajustes del flash de esta imagen, como
"Off, Did not fire". focal_length-
La distancia focal de esta imagen, como
"55.0 mm". f_number-
El número f de esta imagen, como
5.6. iso-
El valor ISO de esta imagen, como
800. light_value-
El valor de luz de esta imagen, como
6.9. metering_mode-
El modo de medición de esta imagen, como
"Multi-segment". shutter_speed-
La velocidad de obturación de esta imagen, como
"1/32". white_balance-
El ajuste de balance de blancos de esta imagen, como
"Manual". device_name-
El nombre del dispositivo que grabó el contenido multimedia, como
"iPhone 3GS". device_vendor-
El fabricante del dispositivo que grabó el contenido multimedia, como
"Apple". device_software-
La versión del software del dispositivo que grabó el contenido multimedia, como
"3.1.2". latitude-
La latitud donde se grabó el contenido multimedia, como
52.5374. longitude-
La longitud donde se grabó el contenido multimedia, como
13.4034. thumb_index-
El índice de la miniatura actual, empezando por 0. Esta clave solo está presente en los resultados de 🤖/video/thumbs.
thumb_offset-
El desplazamiento temporal de la miniatura actual, en segundos. Esta clave solo está presente en los resultados de 🤖/video/thumbs.
frame_count-
El número de fotogramas de un archivo GIF animado. Es
1de forma predeterminada para todos los demás tipos de imagen. colorspace-
El espacio de color detectado del contenido multimedia, como
"sRGB"o"Gray". El espacio de color del vídeo está disponible cuando se detecta mientras la extracción de metadatos está habilitada; no requiereoutput_meta.colorspace: true. Estableceroutput_meta: falsedesactiva la extracción de metadatos. has_clipping_path-
Es
truesi la imagen contiene un trazado de recorte yfalseen caso contrario. average_color-
No debe confundirse con el color dominante, que toma en cuenta un único color de píxel, el más frecuente, y tiene casos de uso limitados. El color promedio se calcula reduciendo primero la imagen de entrada a 1 píxel.
has_transparency-
Indica si la imagen tiene áreas transparentes. Establece
output_meta.has_transparencyentruepara solicitar la comprobación de transparencia. Los valores booleanos que se sabe que son falsos, comofalsepara las imágenes JPEG, pueden devolverse incluso cuando esta opción se omite o esfalse. Establecer el propiooutput_metaenfalseomite la extracción de metadatos adicionales; las comprobaciones básicas del tipo y el tamaño del archivo pueden seguir ejecutándose. dominant_colors-
Devuelve un array de hasta 10 colores dominantes de la imagen como valores hexadecimales. Omite
output_meta.dominant_colorspara omitir esta extracción. Proporcionar la propiedad, incluso con el valorfalse, solicita la extracción y puede generar cargos de uso adicionales cuando se devuelven colores. Establecer el propiooutput_metaenfalsedesactiva la extracción de metadatos adicionales; las comprobaciones básicas del tipo y el tamaño del archivo pueden seguir ejecutándose.
Metadatos de vídeo
Aunque depende del archivo en cuestión, los archivos cuyo type es video suelen poder contener datos
como los siguientes dentro de la propiedad meta:
width-
El ancho del contenido multimedia en píxeles. En los vídeos cuya relación de aspecto de visualización difiere de su relación de aspecto en píxeles, este es el ancho de visualización previsto.
height-
La altura del contenido multimedia en píxeles.
framerate-
La tasa de fotogramas del vídeo, como
29.5. video_bitrate-
La tasa de bits de vídeo del archivo, como
500000. video_codec-
El códec de vídeo del archivo, como
"ffh264". audio_bitrate-
La tasa de bits de audio en bits por segundo para el conjunto de todos los canales, como
128000. audio_samplerate-
La frecuencia de muestreo de audio en hercios, como
44100. audio_channels-
El número de canales de audio, normalmente
2para estéreo. audio_codec-
El códec de audio, como
"faad". Consulta los códecs de audio compatibles. seekable-
Indica si el formato del vídeo permite desplazarse a una posición concreta, como
true. interlaced-
Indica si el vídeo parece usar barrido entrelazado:
truepara vídeos entrelazados ofalsepara vídeos progresivos. Estableceoutput_meta.interlacedentruepara solicitar la detección. Esta clave puede estar presente con el valornullcuando no se haya solicitado la detección o cuando la detección solicitada no haya sido concluyente. La mera presencia del campo no indica que se haya ejecutado la detección. field_order-
El orden de los campos indicado por FFprobe, como
"tt","bb","tb","bt"o"progressive". Estableceoutput_meta.interlacedentruepara solicitar la detección que rellena este campo de diagnóstico. Esta clave puede estar presente con el valornullcuando no se haya solicitado la detección o el orden de los campos no estuviera disponible. Usainterlacedpara aplicar una lógica condicional sencilla entre entrelazado y progresivo. interlace_detection-
Detalles de diagnóstico del detector de entrelazado de Transloadit. Este objeto puede incluir
sampled_frames,tff,bff,progressive,undetermined,confidence,methodyffprobe_field_order. Estableceoutput_meta.interlacedentruepara solicitar la detección. Esta clave puede estar presente con el valornullcuando no se haya solicitado la detección; comprueba que haya un objeto no nulo antes de leer sus propiedades. colorspace-
El espacio de color detectado del contenido multimedia, como
"sRGB"o"Gray". El espacio de color del vídeo está disponible cuando se detecta mientras la extracción de metadatos está habilitada; no requiereoutput_meta.colorspace: true. Estableceroutput_meta: falsedesactiva la extracción de metadatos. date_recorded-
La fecha y hora en que se grabó el contenido multimedia. Una marca de tiempo individual en forma de cadena válida se normaliza al formato
YYYY/MM/DD HH:MM:SS. Cuando incluye una zona horaria, se convierte a UTC/GMT y termina enGMT. Las marcas de tiempo en forma de cadena que no se puedan interpretar se convierten ennull. Las marcas de tiempo numéricas y las listas de etiquetas de fecha repetidas conservan sus valores originales. date_file_created-
La marca de tiempo de creación indicada por los metadatos del contenido multimedia, cuando está disponible.
date_file_modified-
La marca de tiempo de modificación indicada por el sistema de archivos o por los metadatos incrustados en el contenido multimedia.
device_name-
El nombre del dispositivo que grabó el contenido multimedia, como
"iPhone 3GS". device_vendor-
El fabricante del dispositivo que grabó el contenido multimedia, como
"Apple". device_software-
La versión del software del dispositivo que grabó el contenido multimedia, como
"3.1.2". latitude-
La latitud donde se grabó el contenido multimedia, como
52.5374. longitude-
La longitud donde se grabó el contenido multimedia, como
13.4034.
Por ejemplo, puedes detectar vídeos entrelazados en un Step de importación o de subida y dirigir solo esos archivos a un Step posterior:
{
"steps": {
":original": {
"robot": "/upload/handle",
"output_meta": {
"interlaced": true
}
},
"only_interlaced": {
"use": ":original",
"robot": "/file/filter",
"accepts": [["${file.meta.interlaced}", "==", "true"]]
}
}
}
Metadatos de audio
Aunque depende del archivo en cuestión, los archivos cuyo type es audio suelen poder contener datos
como los siguientes dentro de la propiedad meta:
duration-
La duración del archivo de audio en segundos.
audio_bitrate-
La tasa de bits de audio en bits por segundo para el conjunto de todos los canales, como
128000. audio_samplerate-
La frecuencia de muestreo de audio en hercios, como
44100. audio_channels-
El número de canales de audio, normalmente
2para estéreo. audio_codec-
El códec de audio, como
"faad". Consulta los códecs de audio compatibles. artist-
Muchas aplicaciones que producen audio escriben información adicional en el archivo de audio, como
artist,year,album,genre. mean_volume-
El volumen medio del archivo de audio. Establece
output_meta.mean_volumeentruepara solicitar la medición. Esta clave puede estar presente con el valornullcuando no se haya solicitado la medición o el valor no estuviera disponible. La mera presencia del campo no indica que se haya ejecutado la medición.