Vídeo flash

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Container file format family

Flash Video es un formato de archivo contenedor utilizado para ofrecer contenido de vídeo digital (por ejemplo, programas de televisión, películas, etc.) a través de Internet utilizando Adobe Flash Player versión 6 y más reciente. El contenido de vídeo Flash también puede ser incrustado dentro de archivos SWF. Hay dos formatos de archivo Flash Video diferentes: FLV y F4V. Los datos de audio y vídeo dentro de los archivos FLV se codifican de la misma manera que los archivos SWF. El formato de archivo F4V se basa en el formato de archivo base ISO, comenzando con la actualización Flash Player 9 3. Ambos formatos son compatibles con Adobe Flash Player y desarrollados por Adobe Systems. FLV fue desarrollado originalmente por Macromedia. A principios de la década de 2000, Flash Video fue el estándar de facto para vídeo de streaming basado en la web (sobre RTMP). Los usuarios incluyen Hulu, VEVO, Yahoo! Video, metáfora, Reuters.com y muchos otros proveedores de noticias.

Flash Video Los archivos FLV generalmente contienen material codificado con codecs siguiendo los formatos de compresión de vídeo Sorenson Spark o VP6. A partir de 2010 las versiones públicas de Flash Player (colaboración entre Adobe Systems y MainConcept) también admiten vídeo H.264 y audio HE-AAC. Todos estos formatos de compresión están restringidos por patentes. Flash Video es visible en la mayoría de los sistemas operativos a través del plugin de Adobe Flash Player y navegador web o uno de varios programas de terceros. Los dispositivos iOS de Apple, junto con casi todos los dispositivos móviles, no admiten el plugin Flash Player y por lo tanto requieren otros métodos de entrega como proporcionados por el Adobe Flash Media Server.

Historia

La versión de 2002 de Flash Player 6 agregó soporte para vídeo en formato de archivo SWF. La versión 2003 de Flash Player 7 agregó soporte directo para el formato de archivo FLV. Debido a las restricciones en el formato de archivo FLV, Adobe Systems creó nuevos formatos de archivo en 2007, basados en el formato de archivo multimedia base ISO (MPEG-4 Parte 12). De esta manera, el formato F4V comparte una base común con el formato MP4, por lo que a veces F4V se denomina informalmente "Flash MP4". Flash Player no comprueba la extensión del nombre del archivo, sino que examina el archivo para determinar el formato del objeto creado.

Los nuevos formatos de archivo son muy diferentes del formato de archivo FLV anterior. Por ejemplo, F4V no admite los formatos de compresión de video Screen video, Sorenson Spark, VP6 y ADPCM o Nellymoser. Los autores de Flash Player recomiendan encarecidamente el uso del nuevo formato de archivo estándar F4V (formato de archivo multimedia base ISO) porque supera los límites funcionales con la estructura FLV al transmitir H.264 o AAC, que es una de las razones por las que Adobe Systems se está alejando del antiguo. Estructura de archivos FLV. Desde 2002, el formato inicial es Flash Video y el sufijo del archivo es.flv con un tipo de medio de Internet derivado de MIME video/x-flv.

El sufijo de archivo de marca Adobe.f4v se amplió desde 2007 para admitir el formato de archivo multimedia base ISO utilizando el mismo tipo de video/mp4 de Internet derivado de MIME que el sufijo de archivo de Apple of.m4v y el sufijo de archivo general de. mp4. Existen sufijos de archivos de la marca Adobe para.f4p que se relacionan con medios cifrados con su esquema Adobe Access DRM; .f4a y.f4b se relacionan respectivamente con.m4a y.m4b con el mismo tipo de medio de Internet derivado de MIME de audio/mp4.

Los archivos SWF publicados para Flash Player 6 y versiones posteriores pueden intercambiar audio, vídeo y datos a través de conexiones RTMP con Adobe Flash Media Server. Una forma de enviar datos a Flash Media Server es desde archivos en formato FLV. Flash Player puede reproducir archivos SWF creados para Flash Player 7 y versiones posteriores en formato FLV directamente (video tipo MIME/x-flv). Flash Player también puede reproducir el nuevo formato de archivo F4V, comenzando con los archivos SWF creados para Flash Player 9 Update 3.

Soporte para formatos de compresión de audio y vídeo en Flash Player y en Flash Video
Versión Flash Player Liberado Formato de archivo Formatos de compresión de vídeo Formatos de compresión de audio
6 2002 SWF Sorenson Spark, video de pantalla MP3, ADPCM, Nellymoser
7 2003 SWF, FLV Sorenson Spark, video de pantalla MP3, ADPCM, Nellymoser
8 2005 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2 MP3, ADPCM, Nellymoser
9 2007 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264 MP3, ADPCM, Nellymoser, AAC
SWF, F4V, formato de archivo base ISO H.264 AAC, MP3
10 2008 SWF, FLV On2 VP6, Sorenson Spark, Screen video, Screen video 2, H.264 MP3, ADPCM, Nellymoser, Speex, AAC
SWF, F4V, formato de archivo base ISO H.264 AAC, MP3

  • El uso del formato de compresión H.264 en el formato de archivo FLV tiene algunas limitaciones por lo que los autores de Flash Player alientan enérgicamente el uso del nuevo formato de archivo F4V estándar.

Codificación

Comúnmente, los archivos Flash Video FLV contienen secuencias de bits de video que son una variante patentada del estándar de video H.263, bajo el nombre de Sorenson Spark (FourCC FLV1). Sorenson Spark es un códec más antiguo para archivos FLV, pero también está ampliamente disponible y es compatible, porque fue el primer códec de vídeo compatible con Flash Player. Es el formato de compresión de video requerido para Flash Player 6 y 7. Flash Player 8 y revisiones más recientes también admiten la reproducción de secuencias de bits de video On2 TrueMotion VP6 (FourCC VP6F o FLV4). On2 VP6 es el formato de compresión de vídeo preferido para usar con Flash Player 8 y superior. On2 VP6 puede proporcionar una calidad visual superior a Sorenson Spark, especialmente cuando se utilizan velocidades de bits más bajas. Por otro lado, es computacionalmente más complejo y por lo tanto no funcionará tan bien en ciertas configuraciones de sistema más antiguas.

El formato de archivo Flash Video FLV admite dos versiones de la denominada 'pantalla compartida' Códec (vídeo en pantalla), que es un formato de codificación diseñado para screencasts. Ambos formatos se basan en mosaicos de mapas de bits, pueden tener pérdidas al reducir la profundidad del color y se comprimen usando zlib. La segunda versión sólo se puede reproducir en Flash Player 8 y versiones posteriores. El audio de los archivos Flash Video suele estar codificado como MP3. Sin embargo, el audio de los archivos Flash Video FLV grabados desde el micrófono del usuario utiliza el códec Nellymoser Asao patentado. (Flash Player 10 lanzado en 2008 también admite el códec Speex de código abierto). Los archivos FLV también admiten audio sin comprimir o audio en formato ADPCM. Las versiones recientes de Flash Player 9 admiten AAC (HE-AAC/AAC SBR, AAC Main Profile y AAC-LC). La compatibilidad con la codificación de archivos Flash Video la proporciona una herramienta de codificación incluida con los productos Flash Professional y Creative Suite de Adobe, las herramientas de codificación Flix de On2, Sorenson Squeeze, FFmpeg y otras herramientas de terceros.

Compatibilidad con tipos de medios

Tipos de medios admitidos en los formatos de archivos multimedia base Flash Video e ISO:

  • Video
    • H.264 (added to MP4 and FLV)
    • no oficiales Google GPL FLV implementaciones para Android
      • MPEG-4 ASP (native to MP4)
      • UIT H.263 (native to 3GPP MP4)
  • Audio
    • MPEG capa 3 (native to Flash Video)
    • MPEG AAC (added to Flash Video)

Tipos de medios admitidos solo en el formato de archivo Flash Video:

  • Video general
    • RGB (apodado por el mismo código SWF utiliza)
    • run-length (apodado por el mismo código SWF utiliza)
    • H.263 de Sorenson (native to Flash Video)
    • On2 TrueMotion VP6 con y sin canal alfa (added to Flash Video)
  • Los vídeos animados son las pantallas 1 y 2 (native to SWF).
  • El audio general son PCM y ADPCM (nativo a SWF).
  • Vocal audio
    • Asao de Nellymoser @ 16 o 8 o 5 kHz (nativo a SWF)
    • a-law y μ-law (native to SWF)
    • Speex (added to FLV)
  • Texto programado requiere Los comandos específicos de ActionScript para la captación de carga, que solo son compatibles con archivos de texto externos en formatos JSON o W3C XML.

Tipos de medios admitidos solo en el formato de archivo multimedia base ISO:

  • Los vídeos animados son los tipos de QuickTime para GIF, PNG y JPEG, que reemplazan las codificaciones Screen 1 y 2.
  • Texto programado requiere ActionScript comandos específicos para la carga de capciones incrustados como EIA-608 o texto basado en mac QuickTime con la versión derivada 3GPP que admite Unicode.

Convertidores FLV

Un conversor FLV es un tipo de software de conversión de vídeo que se utiliza para convertir vídeos de diferentes formatos a FLV. A continuación se muestra una lista de conversores de vídeo gratuitos populares que admiten la conversión a FLV.

  • SUPER (librería)
  • Free Studio (freeware)
  • Freemake Video Converter (freeware)
  • Format Factory (freeware)
  • Conversor de vídeo HandBrake (software libre con licencia deGPL)
  • VLC Reproductor de vídeo (software libre con licencia deGPL)
  • Cualquier convertidor de vídeo (librería y comercial)
  • FFmpeg (software libre con licencia deGPL)
  • Easy 7-Zip (7z)-Via Extraction of Audios (MP3) y Videos (sin audio)

Estos programas se ejecutan en Microsoft Windows. HandBrake, FFmpeg y VLC también se ejecutan en Mac OS X y Linux.

Estructura de vídeo Flash

Encabezado

Los archivos FLV comienzan con un encabezado estándar que se muestra a continuación:

CampoTipo de datosDefaultDetalles
Firmabyte[3]"FLV"Siempre "FLV"
Versiónuint81Sólo 0x01 es válido
Banderasuint8 bitmask0x05Bitmask: 0x04 es audio, 0x01 es video (así que 0x05 es audio+video)
Tamaño del encabezadouint32_be9Se utiliza para saltar un nuevo encabezado expandido

Paquetes

Después de la cabecera, el archivo se divide en paquetes llamados "marcas FLV", que tienen cabeceras de paquete de 15 bytes. Los primeros cuatro bytes denotan el tamaño del paquete/tag anterior (incluyendo el encabezado sin el primer campo), y ayuda en buscar hacia atrás.

CampoTipo de datosDefaultDetalles
Tamaño del paquete anterioruint32_be0Para el primer paquete de NULL
Tipo de paqueteuint818Para el primer paquete de Metadatos AMF
Tamaño de la cargauint24_bevariasTamaño de los datos del paquete sólo
Timestamp Loweruint24_be0Para el primer paquete de NULL
Timestamp Upperuint80Ampliación para crear un valor uint32_be
ID de transmisiónuint24_be0Para el primer flujo del mismo tipo establecido a NULL
Datos de cargafreeformvariasDatos definidos por tipo de paquete

El byte Tipo de paquete de un encabezado de paquete/etiqueta se basa en el byte de ID del mensaje RTMP con el valor de metadatos AMF de 18 (0x12), el valor de carga útil de video de 9 (0x09) y la carga útil de audio. El valor de 8 (0x08) es el único tipo válido utilizado. El tercer bit indica que la carga útil está cifrada utilizando el mismo mecanismo que utiliza RTMP; sin embargo, esto rara vez se utiliza debido a que en su lugar se utilizan transportes cifrados como RTMP. El cifrado de paquetes FLV generalmente se hereda de un archivo MP4 almacenado en un Adobe Flash Media Server.

  • Tipos de paquete enumerados como 1 es un tamaño de paquete de serie RTMP.
  • Tipos de paquete enumerados de 3 son RTMP bytes read report, RTMP ping, RTMP server bandwidth, RTMP client bandwidth.
  • Tipos de paquete enumerados a partir de 8 son carga útil de audio, carga de vídeo.
  • Tipos de paquete enumerados a partir de 15 son RTMP flex stream send, RTMP flex objeto compartido, RTMP flex mensaje, metadatos AMF, objeto compartido, RTMP invocar.
  • Tipo de paquete enumerado como 24 es un vídeo flash encapsulado.
FLV Estructura de la etiqueta

A continuación, hay tres bytes para el Tamaño de carga útil que indica la longitud de los Datos de carga útil, luego cuatro bytes para la Marca de tiempo en milisegundos. (con el último byte utilizado para extender los primeros tres bytes), los siguientes 3 bytes para el ID de transmisión (incrementado para múltiples transmisiones del mismo tipo) y, finalmente, seguidos por los datos de carga útil reales. Existe una relación directa entre los campos que se encuentran en una etiqueta FLV y los que se encuentran en un paquete RTMP, ya que, por ejemplo, el campo Tipo de paquete FLV utiliza los mismos valores numéricos que el campo Tipo de fragmento RTMP (por ejemplo, 0x08 para audio y 0x09 para video). ). Las etiquetas FLV se convierten así en paquetes RTMP cuando el archivo se transmite a través de un Flash Media Server o un servidor RTMP equivalente.

El primer paquete encontrado suele ser un paquete de metadatos que contiene información como:

  • "duración" - 64 bits de valor de punto flotante IEEE en segundos
  • "Ancho" y "altura" – 64 bits de valor de punto flotante IEEE en píxeles
  • "framerate" – 64 bits de valor de punto flotante IEEE en marcos por segundo
  • "keyframes" – un array con las posiciones de p-frames, necesario cuando se busca el acceso al azar.
  • "duraAdditionalHeader" - una variedad de secuencias requeridas decodificando pares informativos
    • "Encryption" - una serie de pares informativos de cifrado requeridos
    • "Metadatos" - Base64 cadena codificada de un certificado X.509 firmado que contiene el Adobe Access Clave de descifrado AES requerida

Cuando se transmite utilizando un reproductor creado con Actionscript, los valores de metadatos anteriores se pasan como argumentos en la función de devolución de llamada onMetaData. Los paquetes de audio tienen el primer byte de la carga útil que define los detalles de decodificación con los primeros cuatro bits para la codificación utilizada y los últimos cuatro bits para los parámetros necesarios para procesar la codificación. Los paquetes de vídeo tienen este orden invertido.

Las codificaciones de vídeo enumeradas desde 0 son:

IdCodificación de vídeo
0RGB
1Run-length
2Sorenson H.263
3Pantalla 1
4On2 TrueMotion VP6
5VP6 con alfa
6Pantalla 2
7MP4 H.264
8UIT H.263
9MPEG-4 ASP.

Los parámetros de procesamiento de vídeo enumerados desde 1 son:

IdParámetros de procesamiento de vídeo
1marco clave
2marco no clave
3Marco desechable H.263
4marco clave generado
5un byte marco buscando instrucciones

Las codificaciones MPEG-4 como H.264, MPEG-4 ASP y AAC agregan un valor de un byte con un valor NULL que indica que la carga útil contiene detalles de configuración MPEG-4. Las codificaciones de vídeo MPEG-4 también añaden tres bytes para el desplazamiento de la marca de tiempo de la composición, que es necesario para las codificaciones que utilizan fotogramas B.

Las codificaciones de audio enumeradas desde 0 son:

IdCodificación de audio
0PCM nativa
1ADPCM
2MPEG capa 3
3PCM - poco endian
4Asao 16 kHz
5Asao 8 kHz
6Tasa de parámetro Asao
7a-law
8μ-law

Las codificaciones de audio enumeradas a partir de 10 son:

IdCodificación de audio
10MP4 AAC
11Speex

Las codificaciones de audio enumeradas a partir de 14 son MPEG capa 3 8 kHz, específicas del dispositivo, como MIDI.

Parámetros de procesamiento de audio con los primeros dos bits para la frecuencia de muestreo, el siguiente bit marca el tamaño de muestra de 16 bits activado y desactivado indica el tamaño de muestra de 8 bits, y el bit final marca los canales estereofónicos activados y desactivados indicando solo monoaural. Las frecuencias de muestreo enumeradas desde 0 son 5,5 kHz, 11,025 kHz un cuarto, 22,05 kHz la mitad, 44,1 kHz completo.

Los paquetes cifrados tienen un encabezado adicional de 31 o 24 bytes antes de la carga útil cifrada AES-CBC de la siguiente manera:

CampoTipo de datosDefaultDetalles
NumFiltersuint81siempre sólo 1
FilterNameC string"Encriptación"si sólo las cargas de pago seleccionadas están encriptadas entonces es "SE"
Duraciónuint24_be16 o 17inicialización longitud vectorial
EncryptedAUuint8 bitmask0x80 o 0x00sólo si FilterName es "SE", entonces 0x80 significa carga útil cifrada
IVuint128variasvector de inicialización para descifrado AES
Índicefreeformvariascarga útil cifrada
Paddingfreeform0x10encriptación

Reproductores FLV

Un reproductor FLV es un tipo de reproductor multimedia que se utiliza para reproducir vídeos Flash desde una PC y desde sitios web de Internet. Un reproductor FLV se puede utilizar de forma independiente, sin la necesidad de herramientas de desarrollo o creación de Adobe Flash. También se puede incrustar en el sitio web mediante un componente Flash o una versión integrable del reproductor FLV.

Adobe Flash Player es un reproductor multimedia y de aplicaciones desarrollado originalmente por Macromedia y adquirido por Adobe Systems. Reproduce archivos SWF, que pueden ser creados por Adobe Flash Professional, Apache Flex o varios otros sistemas Adobe y herramientas de terceros. Tiene soporte para un lenguaje de secuencias de comandos llamado ActionScript, que se puede utilizar para mostrar vídeo Flash desde un archivo SWF. Debido a que Flash Player se ejecuta como un complemento del navegador, es posible incrustar Flash Video en páginas web y ver el video dentro de un navegador web. Flash Player admitió la visualización de archivos Flash Video desde la versión 6, con los códecs de video Sorenson Spark y On VP6. Recientemente también se agregó soporte para contenido de video H.264.

H.264

Flash Player 9 Update 3, lanzado el 3 de diciembre de 2007, también incluye soporte para el nuevo formato de archivo Flash Video F4V y el estándar de video H.264 (también conocido como MPEG-4 parte 10 o AVC), que es aún más computacionalmente exigente, pero ofrece una relación calidad/bitrate significativamente mejor. Específicamente, Flash Player ahora admite video comprimido en H.264 (MPEG-4 Parte 10), audio comprimido usando AAC (MPEG-4 Parte 3), F4V, MP4 (MPEG-4 Parte 14), M4V, M4A, 3GP y Formatos de contenedor multimedia MOV, especificación de texto cronometrado 3GPP (MPEG-4 Parte 17), que es un formato de subtítulos estandarizado y soporte de análisis parcial para el formato 'ilst' atom, que es el equivalente ID3 que iTunes utiliza para almacenar metadatos. No se admite vídeo MPEG-4 Parte 2 (por ejemplo, creado con DivX o Xvid). En una entrevista con BBC News, el programador principal de Flash, Jonathan Gay, dijo que la empresa había querido utilizar H.264 cuando se añadió originalmente el soporte de vídeo a Flash, pero se había visto disuadida por los derechos de licencia de patentes de alrededor de 5 millones de dólares. millones) por año.

Reproducción

Flash Player admite dos modos distintos de reproducción de vídeo:

  • Software Rendered Video: Flash Player admite el software renderizado de vídeo desde la versión 6. Tal vídeo soporta animaciones vectoriales mostradas por encima del contenido de vídeo. Este contenido se produce normalmente mediante la decodificación de software.
  • Hardware Acelerado Video: Flash Player admite reproducción de vídeo acelerada desde la versión 10.2, para formatos de vídeo H.264, F4V y FLV. Este vídeo se muestra sobre todo el contenido Flash, y aprovecha los chipsets de codec de vídeo instalados en el dispositivo del usuario. Los desarrolladores deben utilizar específicamente la tecnología "StageVideo" dentro de Flash Player para permitir la decodificación de hardware. Flash Player utiliza tecnologías como la aceleración de vídeo DirectX y OpenGL para hacerlo.

Basado en escritorio

Microsoft Windows, Mac OS X, basado en Unix

  • Adobe Media Player (freeware) (ya no publicado o apoyado por Adobe)
  • Media Player Classic (software libre)
  • MPlayer (software libre)
  • RealPlayer (freeware)
  • Reproductor multimedia VLC (software libre)
  • Winamp (freeware)

Los dispositivos Mac OS pueden reproducir vídeos flash en QuickTime con la ayuda de software adicional (como el componente Perian de código abierto).

Basado en PDA y en teléfonos inteligentes

Basado en Windows Mobile, Palm OS

  • Los medios de comunicación Reproductor (software de fuente abierta)

Los dispositivos iPhone y Android pueden reproducir vídeos flash con la ayuda de software adicional (como la aplicación de navegador web Skyfire). Apple iOS nunca ha admitido Flash. Las versiones de Android superiores a 2.1 a 4.0 admitían Flash; Adobe ha descontinuado Flash Player para Android. El 29 de junio de 2012, Adobe anunció que, como estaban descontinuando el desarrollo de la versión móvil de Flash, impedirían que Flash Player se instalara desde Google Play Store en cualquier dispositivo Android que aún no tuviera Flash Player instalado, y que no lanzarían una versión de Flash certificada para su uso con la versión 4.1 de Android, con nombre en código Jelly Bean.

Opciones de entrega

Los archivos Flash Video se pueden entregar de varias maneras diferentes:

  • Como independiente. Archivo FLV. Aunque los archivos Flash Video son normalmente entregados usando un reproductor Flash para el control, el. El archivo FLV en sí solo es jugable con un reproductor de FLV. Hay varios jugadores de terceros disponibles.
  • Embedded in an SWF file using the Flash authoring tool (supported in Flash Player 6 and later). El archivo entero debe ser transferido antes de que la reproducción pueda comenzar. Cambiar el vídeo requiere reconstruir el archivo SWF.
  • Descarga progresiva vía HTTP (apodado en Flash Player 7 y posterior). Este método utiliza ActionScript para incluir un archivo de vídeo Flash externamente hospedado lado cliente para la reproducción. La descarga progresiva tiene varias ventajas, incluyendo buffering, el uso de servidores genéricos HTTP, y la capacidad de reutilizar un solo reproductor SWF para múltiples fuentes de vídeo Flash. Flash Player 8 incluye soporte para el acceso aleatorio dentro de archivos de vídeo usando la funcionalidad de descarga parcial de HTTP, a veces esto se conoce como streaming. Sin embargo, a diferencia de la transmisión mediante RTMP, HTTP "streaming" no admite la transmisión en tiempo real. Streaming via HTTP requiere un reproductor personalizado y la inyección de metadatos específicos de Flash Video que contengan la posición de inicio exacta en bytes y código de tiempo de cada clave. Utilizando esta información específica, un reproductor de vídeo Flash personalizado puede solicitar cualquier parte del archivo Flash Video desde un marco de clave especificado. Por ejemplo, Google Video, YouTube y Bitgravity soportan la descarga progresiva y pueden buscar cualquier parte del vídeo antes de que se complete el buffering.
  • Transmitido vía RTMP al Flash Player usando el Flash Media Server (anteriormente llamado Flash Communication Server), libre C++ RTMP Server, VCS, ElectroServer, Helix Universal Server, Wowza Media Server, Unified Streaming Platform WebORB for.NET, WebORB for Java, erlyvideo (en erlang), o el servidor Red5 de código abierto. En abril de 2008 hay registradores de flujo disponibles para este protocolo, excluido el software de recodificación de pantallas.
  • Flash Media Server 4.5 permite streaming de vídeo Flash a iPhones y iPads. Lo logra mediante la entrega del contenido en una secuencia MPEG-2 usando el formato HTTP Live Streaming.

Grabación de vídeo flash

Es posible grabar vídeos flash en línea utilizando grabadores de secuencias y captura de vídeo de pantalla software. El primero da resultados sin pérdidas, mientras que el segundo permite grabar cualquier vídeo incluso cuando se utilizan medidas anti-leeching.

Contenido relacionado

Historia de la cámara

La historia de la cámara comenzó incluso antes de la introducción de la fotografía. Las cámaras evolucionaron desde la cámara oscura a través de muchas...

Tubo de vacío

Un tubo de vacío, tubo de electrones o válvula termoiónica, es un dispositivo que controla el flujo de corriente eléctrica en un alto vacío entre...

Tecnología en la Edad Antigua

Durante el crecimiento de las civilizaciones antiguas, la tecnología antigua fue el resultado de los avances en ingeniería en la antigüedad. Estos avances...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save