Spec canónica de protocols/media-object/MEDIA_OBJECT_SPEC.md, copiada sin reescribir.
protocols/media-object/MEDIA_OBJECT_SPEC.mdPágina generada desde
protocols/media-object/MEDIA_OBJECT_SPEC.md. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
Metadata de un segmento o unidad de media. Es la unidad mínima direccionable en el media graph.
interface MediaObject {
/** Identificador único del objeto. */
id: string;
/** Track al que pertenece (video, audio, subtitles, etc.). */
trackId: string;
/** Codec del contenido (hevc, av1, aac, eac3, etc.). */
codec: string;
/** Presentation timestamp en microsegundos. */
pts: number;
/** Decode timestamp en microsegundos. */
dts: number;
/** Duración en microsegundos. */
duration: number;
/** ¿Es keyframe? */
keyframe: boolean;
/** IDs de objetos de los que este depende (para decoding). */
dependencyIds: string[];
/** Tamaño en bytes. */
size: number;
/** SHA-256 del payload. */
sha256: string;
}Payload completo: metadata + bytes.
interface MediaUnit {
/** Metadata del segmento. */
metadata: MediaObject;
/** Bytes del segmento. */
payload: Uint8Array;
}Contenedor lógico que agrupa tracks y capacidades.
interface MediaPresentation {
/** Tracks disponibles. */
tracks: MediaTrack[];
/** Duración total en microsegundos. */
duration: number;
/** Capacidades del presentation (codecs, resoluciones, HDR, etc.). */
capabilities: string[];
/** Codecs utilizados (deduplicado de tracks). */
codecs: string[];
}
interface MediaTrack {
/** ID del track (único dentro del presentation). */
id: string;
/** Tipo de track: video, audio, subtitles, attachment. */
type: 'video' | 'audio' | 'subtitles' | 'attachment';
/** Codec del track. */
codec: string;
/** Ancho en pixels (solo video). */
width?: number;
/** Alto en pixels (solo video). */
height?: number;
/** Frame rate (solo video). */
frameRate?: number;
/** Canales de audio (solo audio). */
channels?: number;
/** Sample rate en Hz (solo audio). */
sampleRate?: number;
/** Idioma (ISO 639-1). */
language?: string;
/** ¿Es el track por defecto? */
default: boolean;
}sha256 permiten deduplicación y verificación de integridaddependencyIds permite reconstruir el DAG de decoding sin parsear el bitstream