Metadatos
Muchos archivos contienen información interesante sobre su contenido. Esto se denomina "metadatos". Transloadit extrae automáticamente estos metadatos de todos los archivos subidos, importados y procesados.
Como mínimo, cada archivo tendrá 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 y de su tipo, pero también de
quién lo produjo. Si fue un iPhone, probablemente incluya latitude para el geoposicionamiento.
Otras claves más comunes 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 allí un archivo.
idUn ID aleatorio y único que Transloadit utiliza internamente para hacer seguimiento del archivo.
nameEl nombre del archivo. Transloadit cambiará la extensión utilizada en este campo si el archivo se procesa y se convierte a otro formato.
basenameEl nombre del archivo sin la extensión.
extLa extensión del archivo.
sizeEl tamaño del archivo, en bytes.
mimeEl tipo MIME determinado para este archivo.
typeUn tipo abstracto que describe el archivo y que actualmente puede ser
"image","video","audio"onull.fieldEl nombre del campo del formulario utilizado para enviar este archivo.
urlLa URL desde la que se puede acceder a este archivo. Puede ser una URL de tu bucket de S3 o una URL temporal de nuestros servidores. Como las URL temporales vencen después de unas horas, asegúrate de mover tus archivos a otro lugar, a menos que uses un Robot de almacenamiento.
original_idEl 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 determinado después de varios Steps de procesamiento.
metaUn objeto que contiene metadatos adicionales extraídos del archivo, como se muestra a continuación.
Metadatos de imágenes
Aunque depende del archivo en cuestión, los archivos cuyo tipo MIME es image normalmente pueden
contener datos como los siguientes dentro de la propiedad meta:
widthEl ancho de la imagen de entrada, en píxeles.
heightLa altura de la imagen de entrada, en píxeles.
aspect_ratioLa relación de aspecto de la imagen, es decir, su ancho dividido entre su altura. Será 0 si, por algún motivo, la altura de la imagen es 0.
date_recordedLa fecha y hora en que se tomó esta imagen, con el formato
YYYY/MM/DD HH:MM:SS TZ, por ejemplo,"2010/06/30 22:16:06 GMT".date_file_createdLa hora de creación en el sistema de archivos.
date_file_modifiedLa hora de modificación en el sistema de archivos.
titleEl título de esta imagen, por ejemplo,
"Tree".keywordsUn arreglo de palabras clave para esta imagen, por ejemplo,
["tree", "nature"].descriptionUna descripción de esta imagen, por ejemplo,
"This tree is very old.".locationLa ubicación donde se tomó esta imagen, que normalmente corresponde a la calle, por ejemplo,
"Zingster Str. 32".creatorLa persona que creó y tomó la imagen.
authorLa persona autora que tomó la imagen. Algunas cámaras completan este campo en lugar de
creator.copyrightEl campo de metadatos de derechos de autor.
copyright_noticeEl campo de metadatos del aviso de derechos de autor.
cityLa ciudad donde se tomó esta imagen, por ejemplo,
"Berlin".stateEl estado donde se tomó esta imagen, por ejemplo,
"Berlin".countryEl país donde se tomó esta imagen, por ejemplo,
"Germany".country_codeEl código del país donde se tomó esta imagen, por ejemplo,
"de".apertureLa configuración de apertura de esta imagen, por ejemplo,
5.7.exposure_compensationLa compensación de exposición de esta imagen, por ejemplo,
"+4/3".exposure_modeEl modo de exposición de esta imagen, por ejemplo,
"Auto".exposure_timeEl tiempo de exposición de esta imagen, por ejemplo,
"1/30".flashLa configuración del flash de esta imagen, por ejemplo,
"Off, Did not fire".focal_lengthLa distancia focal de esta imagen, por ejemplo,
"55.0 mm".f_numberEl número f de esta imagen, por ejemplo,
5.6.isoEl valor ISO de esta imagen, por ejemplo,
800.light_valueEl valor de luz de esta imagen, por ejemplo,
6.9.metering_modeEl modo de medición de esta imagen, por ejemplo,
"Multi-segment".shutter_speedLa velocidad de obturación de esta imagen, por ejemplo,
"1/32".white_balanceLa configuración del balance de blancos de esta imagen, por ejemplo,
"Manual".device_nameEl nombre del dispositivo de la cámara, por ejemplo,
"iPhone 3GS".device_vendorEl fabricante de la cámara, por ejemplo,
"Apple".device_softwareLa versión del software del dispositivo de la cámara, por ejemplo,
"3.1.2".latitudeLa latitud donde se tomó esta imagen, por ejemplo,
52.5374.longitudeLa longitud donde se tomó esta imagen, por ejemplo,
13.4034.thumb_indexEl índice de la miniatura actual, comenzando en 0. Esta clave solo está presente en los resultados de 🤖/video/thumbs.
thumb_offsetEl desplazamiento de la miniatura actual, en segundos. Esta clave solo está presente en los resultados de 🤖/video/thumbs.
frame_countEl número de fotogramas de un archivo GIF animado. El valor predeterminado es
1para todos los demás tipos de imágenes.colorspaceEl espacio de color de la imagen. Por ejemplo, podría ser
"sRGB"o"Gray". En la primera versión de la pila de ImageMagick de Transloadit, hay un error que hace que los colores utilizados en una imagen determinen sucolorspace, por lo que una imagen con colores en escala de grises indicaría"Gray", incluso si se guardó como"RGB".has_clipping_pathEs
1si la imagen contiene un trazado de recorte y0en caso contrario.average_colorNo debe confundirse con el color dominante, que identifica el color de píxel 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_transparencyDevuelve
truepara las imágenes que tienen áreas transparentes. Esta clave solo se devuelve si configurasoutput_meta.has_transparencycomotrue.dominant_colorsDevuelve un arreglo con los 20 colores más utilizados en las imágenes. Esta clave solo se devuelve si configuras
output_meta.dominant_colorscomotrue.
Metadatos de video
Aunque depende del archivo en cuestión, los archivos cuyo tipo MIME es video normalmente pueden
contener datos como los siguientes dentro de la propiedad meta:
widthEl ancho del video, en píxeles. Si el video se diseñó para mostrarse con una relación de visualización diferente de la relación de píxeles, este valor indica el ancho con el que debe mostrarse el video.
heightLa altura del video, en píxeles.
framerateLa velocidad de fotogramas del video, por ejemplo,
29.5.video_bitrateLa tasa de bits del video, por ejemplo,
500000.video_codecEl códec de video, por ejemplo,
"ffh264".audio_bitrateLa tasa de bits del audio del video, por ejemplo,
128000.audio_samplerateLa frecuencia de muestreo del audio del video, por ejemplo,
44100.audio_channelsEl número de canales de audio del video, por ejemplo,
2.audio_codecEl códec de audio del video, por ejemplo,
"faad".seekableIndica si el formato del video permite desplazarse por él, por ejemplo,
true.interlacedIndica si el video parece utilizar escaneo entrelazado. Es
truepara videos entrelazados,falsepara videos progresivos ynullsi la detección no fue concluyente. Esta clave solo se devuelve si configurasoutput_meta.interlacedcomotrue.field_orderEl orden de campos informado por FFprobe, por ejemplo,
"tt","bb","tb","bt","progressive"onull. Trátalo como metadatos de diagnóstico y utilizainterlacedpara una bifurcación sencilla entre contenido entrelazado y progresivo. Esta clave solo se devuelve si configurasoutput_meta.interlacedcomotrue.interlace_detectionDetalles de diagnóstico del detector de entrelazado de Transloadit. Este objeto puede incluir
sampled_frames,tff,bff,progressive,undetermined,confidence,methodyffprobe_field_order. Esta clave solo se devuelve si configurasoutput_meta.interlacedcomotrue.colorspaceEl espacio de color del video. Por ejemplo, podría ser
"sRGB"o"Gray". Esta clave solo se devuelve si configurasoutput_meta.colorspacecomotrue.date_recordedPara obtener más detalles, consulta la descripción de los metadatos de imágenes.
date_file_createdPara obtener más detalles, consulta la descripción de los metadatos de imágenes.
date_file_modifiedPara obtener más detalles, consulta la descripción de los metadatos de imágenes.
device_namePara obtener más detalles, consulta la descripción de los metadatos de imágenes.
device_vendorPara obtener más detalles, consulta la descripción de los metadatos de imágenes.
device_softwarePara obtener más detalles, consulta la descripción de los metadatos de imágenes.
latitudePara obtener más detalles, consulta la descripción de los metadatos de imágenes.
longitudePara obtener más detalles, consulta la descripción de los metadatos de imágenes.
Por ejemplo, puedes detectar videos entrelazados en un Step de importación o 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 tipo MIME es audio normalmente pueden
contener datos como los siguientes dentro de la propiedad meta:
durationLa duración del archivo de audio, en segundos.
audio_bitrateBits por segundo (para todos los canales combinados).
audio_samplerateLa frecuencia de muestreo del audio en hercios, por ejemplo,
44100para un CD.audio_channelsNúmero de canales. Normalmente 2 para estéreo.
audio_codecEl códec de audio utilizado. Esta es una lista de todos los códecs de audio compatibles con Transloadit.
artistMuchas aplicaciones que producen audio escriben información adicional en el archivo de audio, como
artist,year,albumygenre.mean_volumeEl volumen promedio del archivo de audio. Esta clave solo se devuelve si configuras
output_meta.mean_volumecomotrue.