¿Qué es 3GP?
3GP es el contenedor multimedia que 3GPP define como una instancia de ISO Base Media File Format (MPEG-4 Parte 12), creado para la mensajería y el streaming móviles 3G. Un archivo 3GP puede contener video H.263, H.264 o H.265, audio de la familia AMR o AAC y texto temporizado.
Cómo funciona 3GP
Un archivo 3GP almacena pistas multimedia temporizadas en la estructura de cajas de ISO Base Media File Format, la misma familia que MP4. Su caja de tipo de archivo contiene marcas de cuatro caracteres que identifican la versión de 3GPP y el perfil a los que se ajusta el archivo, por ejemplo, 3gp4 para un archivo de la versión 4 o 3gr6 para un archivo de descarga progresiva de la versión 6. La especificación actual registra video H.263, H.264 y H.265; audio AMR, AMR-WB, AMR-WB+, EVS, IVAS, Enhanced aacPlus y AAC; y texto temporizado. El video MPEG-4 Parte 2 ya no figura en esa lista (el historial de cambios registra su eliminación en la versión 16), aunque los archivos antiguos todavía pueden contenerlo. Los requisitos de decodificación dependen de los códecs internos, no del contenedor, por lo que un sistema de recepción de archivos debería analizar cada pista antes de decidir si basta con remultiplexar o si es necesario transcodificar.
Datos clave
video/3gppno demuestra que exista una pista de video: el registro lo considera válido para cualquier archivo 3GP, incluidos los que solo contienen audio.audio/3gppes la etiqueta más restrictiva, reservada para archivos sin material visual, y el texto temporizado cuenta como material visual. Analiza las pistas antes de clasificar un archivo como audio o video para su procesamiento.- No hay ningún número mágico registrado para 3GP. Un archivo conforme comienza con una caja de tipo de archivo que incluye una marca 3GPP, como
3gp4o3gp6, entre sus marcas compatibles, y se indica a los lectores que consulten esa lista en lugar de basarse en la marca principal. FFmpeg muestra estos valores comomajor_brandycompatible_brandscuando abre un archivo. Un archivo puede contener marcas tanto de 3GP como de MP4, por lo que el sufijo.3gpo.mp4por sí solo no determina qué reglas sigue. - 3G2 es el equivalente de 3GPP2, no un alias de 3GP. Tiene registros independientes (
video/3gpp2yaudio/3gpp2, con el sufijo habitual.3g2), debe incluir una marca 3GPP2 y puede contener voz con el vocoder 13K o con EVRC, que la especificación 3GP no registra. MP4 Registration Authority registra3g2acomo marca 3GPP2, y el multiplexor 3G2 de FFmpeg 8.0 escribe3g2a, o3g2bcuando una pista es H.264. Ambos pertenecen a la familia de archivos ISO, por lo que un mismo analizador puede leer cualquiera de los dos (FFmpeg utiliza un único demultiplexor para ambos), pero los decodificadores necesarios pueden ser distintos. - Al copiar las pistas de un archivo 3GP a MP4 sin recodificarlas con FFmpeg, el multiplexor MP4 acepta pistas H.264, H.265, MPEG-4 Parte 2 y AAC, pero no tiene una etiqueta de entrada de muestra para H.263, AMR o AMR-WB, y se detiene con el error «codec not currently supported in container». Esas pistas deben recodificarse para generar una salida MP4. Esto abarca únicamente los códecs mencionados y describe las tablas del multiplexor de FFmpeg verificadas en la versión 8.0, no todas las herramientas de empaquetado. Una etiqueta es necesaria para copiar una pista, pero no garantiza que pueda copiarse, y copiarla tampoco implica que pueda reproducirse en un navegador.
Cuándo es relevante 3GP
Mantén la recepción de archivos 3GP para grabaciones de teléfonos antiguos y archivos históricos de mensajería móvil. Para la entrega web, convierte a MP4 con video H.264 y audio AAC, que MDN enumera como compatibles en MP4 con Chrome, Edge, Firefox y Safari (Firefox depende de los decodificadores del sistema operativo). No sirvas el propio archivo 3GP: el índice de formatos de contenedores de MDN solo menciona Firefox para Android como compatible con 3GP, y las guías de códecs de MDN indican que ningún navegador principal ha incorporado decodificación H.263 y señalan que AMR no es compatible con Chrome ni Firefox. Copiar una pista a MP4 tampoco permite reproducirla por sí solo: vuelve a realizar el encoding del video MPEG-4 Parte 2, que MDN enumera como no compatible con Chrome, Edge, Opera y Safari, y verifica H.265 en los navegadores de destino, porque MDN vincula su compatibilidad con la versión del navegador, el sistema operativo y el hardware. Conserva también el original, porque AMR de banda estrecha es audio de voz a 8 kHz y volver a realizar su encoding aporta compatibilidad, no fidelidad.
Cómo ayuda Transloadit con 3GP
La tabla de formatos de audio y video de Transloadit, que abarca Robots basados en FFmpeg como /video/encode, incluye 3gp y 3g2 como formatos que esos Robots pueden escribir. Ambas filas muestran «No» en «Lectura» porque cada una corresponde al multiplexor de FFmpeg de ese nombre, y FFmpeg lee estos archivos mediante un demultiplexor independiente y compartido. Como describe la documentación de formatos de FFmpeg, ese único demultiplexor maneja toda la familia MOV, MP4 y 3GP, y FFmpeg lo identifica con el nombre combinado mov,mp4,m4a,3gp,3g2,mj2, que incluye tanto 3gp como 3g2, cuando abre un archivo de ese tipo.
La tabla indica qué puede leer y escribir cada versión del stack de FFmpeg, no un resultado probado para cada códec dentro de una subida 3GP. El comportamiento de copia de pistas sin recodificación descrito en los datos clave se verificó en el código fuente de FFmpeg 8.0, no en un stack de Transloadit. Procesa un archivo antiguo representativo con tu Assembly antes de depender de ese comportamiento.
Explora los formatos de archivo y las capacidades de compresión de Transloadit
Fuentes
- ETSI TS 126 244 V19.1.0 (3GPP TS 26.244): formato de archivo 3GPP (3GP)
- RFC 3839: registros de tipos MIME para archivos multimedia 3GPP
- RFC 4393: registros de tipos MIME para archivos multimedia 3GPP2
- RFC 4867: formato de carga útil y almacenamiento de archivos AMR y AMR-WB (frecuencias de muestreo de los códecs)
- MP4 Registration Authority: marcas registradas (códigos de marca 3GPP y 3GPP2)
- Documentación de formatos de FFmpeg: demultiplexor mov/mp4/3gp y multiplexores ISOBMFF
- FFmpeg 8.0 movenc.c, líneas 8749–8821: tablas de etiquetas de códecs para los multiplexores 3GP y MP4
- FFmpeg 8.0 movenc.c, líneas 5934–5973: marcas de tipo de archivo escritas por los multiplexores 3GP y 3G2
- Incidencia de FFmpeg #10864: falla la copia de pistas AMR-NB sin recodificación a MP4 y 3GP (reportada en FFmpeg 4.4.4 y 6.1.1)
- MDN: formatos de contenedores multimedia (compatibilidad de los navegadores con 3GP; códecs compatibles en MP4)
- MDN: guía de códecs de video para la web (compatibilidad de los navegadores con H.263, MPEG-4 Parte 2 y H.265)
- MDN: guía de códecs de audio para la web (compatibilidad de los navegadores con AMR)