Problema Demo Arquitectura Comparativa Plataformas CLI Roadmap
🇪🇸 🇬🇧 🇫🇷 🇩🇪
4D 50 35 00
6D 65 74 61
6D 70 35 73
6D 64 61 74
48 45 56 43
01 00 00 00

MP5

Multi-Aspect Adaptive Video Container

Un archivo, todos los aspect ratios, automáticamente. El reproductor elige la mejor versión según la ventana del espectador. Sin exportaciones múltiples. Sin redundancia.

MP5 — Multi-Aspect Adaptive Video Container
1
Archivo de salida
5
Streams embebidos
0
Configuración manual
~50%
Menos tamaño total

Un video, cinco exportaciones

YouTube quiere 16:9. TikTok exige 9:16. Instagram Feed pide 1:1. Tu TV ultrawide necesita 21:9. Con MP4, cada plataforma es una exportación independiente: mismo vídeo, diferentes recortes, archivos duplicados, horas perdidas.

Video original
Exportar 16:9 para YouTube
Exportar 9:16 para TikTok / Shorts
Exportar 1:1 para Instagram Feed
Exportar 4:3 para presentaciones
Exportar 21:9 para cine
5 archivos. Audio duplicado. Metadatos duplicados. Caos.

Una exportación. Todas las versiones.

MP5 empaqueta todas las variantes de aspect ratio en un único archivo inteligente. El contenedor incluye metadatos de IA para cropping inteligente y reglas de detección automática. El reproductor decide qué stream usar según el contexto.

Video original
mp5 encode footage.mp4 --ai-crop smart -o output.mp5
output.mp5
16:9 + 9:16 + 1:1 + 4:3 + 21:9 — todo dentro
Codificación paralela: los 5 streams se generan simultáneamente en múltiples núcleos, no secuencialmente. Menos tiempo que exportar 5 MP4 individuales.

Ver para creer

Dos capturas reales del formato MP5 funcionando: la conversión desde MP4 y la reproducción adaptativa que cambia de stream al redimensionar la ventana.

Conversión MP4 a MP5 — Codificación de múltiples streams en un solo archivo

Reproducción adaptativa — El stream cambia en tiempo real al redimensionar la ventana

Cinco versiones en un archivo

Cada stream está optimizado para un contexto de reproducción diferente. El reproductor selecciona el adecuado en tiempo real.

16:9 — Widescreen

El contenedor se adapta al aspect ratio de la ventana

16:9
1920 x 1080
Widescreen
YouTube, TV, PC
9:16
1080 x 1920
Vertical
TikTok, Reels, Shorts
1:1
1080 x 1080
Cuadrado
Instagram Feed, Facebook
4:3
1440 x 1080
Clásico
Tablets, Presentaciones
21:9
2560 x 1080
Ultrawide
Cine, Monitores UW

Dentro de un archivo MP5

El contenedor extiende ISOBMFF con boxes personalizados. La imagen muestra la estructura completa; debajo puedes explorar cada componente de forma interactiva.

MP5 File Architecture — Estructura del contenedor

Haz clic en cada componente para ver sus detalles técnicos

0x0000
File Header
16 bytes
0x6D657461
META Box — Núcleo inteligente
variable
hdlr — Handler: 'mp5v'
mp5s — Stream Manifest (el núcleo)
mp5d — Detection Rules
mp5i — AI Info (opcional)
0x6D646174
MDAT Box — Datos multimedia
variable
Stream 0: H.265 — 16:9
Stream 1: H.265 — 9:16
Stream 2: H.265 — 1:1
Stream 3: H.265 — 4:3
Stream 4: H.265 — 21:9
File Header

Encabezado del archivo

Los primeros 16 bytes identifican el formato de forma unívoca. El magic number "MP5\0" (0x4D503500) permite distinguirlo instantáneamente de cualquier otro formato.

// Estructura fija de 16 bytes 0x00 4B Magic Number "MP5\0" 0x04 2B Version Major 0x01 0x06 2B Version Minor 0x00 0x08 8B File Size uint64 0x10 4B Flags bitfield
Flags: bit 0 = audio, bit 1 = subtítulos, bit 2 = encriptado, bit 3 = DRM, bit 4 = IA incluida

MP4 vs MP5

Comparativa MP4 vs MP5 — Single Stream vs Multi-Aspect Adaptive
Característica MP4 (ISO 14496-12) MP5
Streams de video 1 solo stream 1-255 streams
Aspect ratios Uno fijo por archivo Múltiples embebidos
Selección de stream No aplica Automática por contexto
Metadatos de IA No soportados Box mp5i nativo
Reglas de detección No aplica Box mp5d condicional
Código de compresión H.264 / H.265 opcional H.265/HEVC nativo
Magic Number ftyp "MP5\0" (0x4D503500)
Compatibilidad Universal Compatible hacia atrás (ISOBMFF)
Overhead metadatos ~200 bytes ~400-800 bytes (5 streams)
Encoding paralelo No optimizado Multi-core nativo
Compatibilidad hacia atrás: MP5 extiende ISOBMFF, no lo rompe. Cualquier parser MP4 que cumpla la especificación ISO 14496-12 puede abrir un archivo MP5: simplemente ignora los boxes personalizados (mp5s, mp5d, mp5i) y reproduce el primer stream disponible en mdat. Sin errores, sin crashes.

Cada bit, una plataforma

Un campo de 32 bits en cada stream donde cada bit representa un destino. Un mismo stream puede servir a múltiples plataformas con una sola combinación OR.

YouTube Main 0x01
YouTube Shorts 0x02
TikTok 0x04
Instagram Feed 0x08
Instagram Stories 0x10
Instagram Reels 0x20
Facebook 0x40
Twitter/X 0x80
LinkedIn 0x100
Monitor Ultrawide 0x200
Monitor Standard 0x400
Móvil Portrait 0x800
Móvil Landscape 0x1000
Tablet 0x2000
Smart TV 0x4000
VR 360 0x8000
Cinema 21:9 0x20000
Archive Master 0x100000
SOCIAL_MEDIA_ALL
0x00000FFC

Agrupa todos los flags de redes sociales. Un solo valor cubre YouTube, TikTok, Instagram, Facebook y Twitter/X.

ALL_SCREEN_TYPES
0x00007E00

Combina todos los tipos de pantalla: ultrawide, standard, móvil, tablet, TV, VR y cine.

Extensible
32 bits

El campo es de 32 bits con espacio para nuevas plataformas. Los bits no asignados quedan reservados para futuro.

De vídeo a MP5

1
Análisis IA

Detección de rostros, puntos de interés, patrones de movimiento y complejidad de escena. Resultados en el box mp5i.

2
Smart AI Crop

Cada variante se recorta inteligentemente. Si hay un rostro, el crop se centra en él para todas las proporciones.

3
Encoding paralelo H.265

Los 5 streams se codifican simultáneamente con libx265. Soporte para NVENC/QSV/VAAPI.

4
Multiplexación

El muxer ensambla el header, los boxes de metadatos y los datos multimedia en el contenedor final.

Selección automática de stream

1
Parse del header

Se leen los 16 bytes iniciales, se verifica el magic number "MP5\0" y se localizan los boxes meta y mdat.

2
Evaluación del contexto

El reproductor mide la ventana, detecta la orientación, identifica la plataforma y evalúa el ancho de banda.

3
Reglas de detección (mp5d)

Las reglas se evalúan secuencialmente. La primera coincidencia determina el stream seleccionado.

4
Reproducción directa

Offsets del manifiesto (mp5s) localizan los bytes exactos en mdat. Acceso O(1). Si la ventana cambia, se reevalúa sin cortes.

Fórmula de selección por aspect ratio:
stream = argmin(|aspect_stream - aspect_ventana|)

Potencia sin complejidad

Aunque el uso cotidiano es 100% gráfico (doble clic), la CLI ofrece control total para scripts, automatización y flujos de trabajo avanzados.

mp5 encode

Codifica un vídeo a MP5 con todos los perfiles por defecto. Opciones para calidad, perfiles personalizados, cropping IA y más.

mp5 inspect

Muestra información técnica completa del contenedor: streams, resoluciones, bitrates, flags de uso, datos de IA.

mp5 extract

Extrae un stream específico como MP4 independiente para máxima compatibilidad con cualquier plataforma o editor.

mp5 batch

Procesa una carpeta completa de vídeos en paralelo, con control sobre el número de workers simultáneos.

mp5 — bash

Del MVP a la adopción masiva

Fase 1 — MVP (Semanas 1-4)

Fundamentos

Especificación del contenedor binario. Encoder básico en Python con wrapper FFmpeg. Parser de metadata en JavaScript. CLI funcional. 3 perfiles de stream mínimo.

v1.0 — Actual
Fase 2 — Inteligencia (Semanas 5-8)

Motor de IA avanzado

Motor YOLO para detección de rostros y cuerpos. Smart cropping que no corta personas. Motion-aware bitrate allocation. HDR y Dolby Vision.

v1.1
Fase 3 — Ecosistema (Semanas 9-12)

Integración everywhere

Plugin FFmpeg (-f mp5). Browser polyfill con Service Worker. SDKs Go/Rust/C++. Plugin WordPress. Export plugin Adobe Premiere y DaVinci Resolve.

v1.2
Fase 4 — Adopción (Mes 4+)

Estandarización

Especificación abierta. Integraciones nativas iOS/Android. Soporte VLC y MPV. API REST cloud encoding. Integración CDNs. Streaming en vivo (fMP5).

v2.0

Instalación en Linux

El instalador configura todo: dependencias, ejecutables, asociación de archivos .mp5 con el reproductor, y menú contextual "Convertir a MP5".

1. Requisitos previos (Ubuntu/Debian)
sudo apt install python3 python3-pip python3-tk ffmpeg vlc xdg-utils desktop-file-utils
2. Clonar y ejecutar instalador
git clone https://github.com/marrionesa/mp5.git cd mp5 chmod +x mp5-installer.sh ./mp5-installer.sh
3. Generar tu primer MP5
mp5 encode video_prueba.mp4
4. Reproducir — doble clic

Haz doble clic en el archivo .mp5 generado. Se abre MP5 Player con VLC embebido. Redimensiona la ventana y observa el cambio de stream en tiempo real.

Lo que hace el instalador

  • Verifica dependencias (python3, ffmpeg, vlc, xdg-utils)
  • Instala python-vlc, ffpyplayer y Pillow vía pip
  • Crea ejecutables: mp5, mp5-encoder, mp5-player
  • Registra entrada .desktop y MIME type video/mp5
  • Asocia doble clic en .mp5 con MP5 Player
  • Añade "Convertir a MP5" al menú contextual de .mp4

Desinstalación limpia

./mp5-installer.sh --uninstall

Borra ejecutables, entradas .desktop y asociación MIME. Sin rastros.

El futuro del vídeo multi-plataforma

MP5 es código abierto bajo licencia GPL-3.0. Puedes usarlo, modificarlo, contribuir y construir sobre él. El ecosistema del vídeo necesita este cambio.