T-HUB/packages/core/src/video.ts
glass beadian aa5e262f3a Tactical Media Broadcast Hub — initial release
Self-hosted multi-platform broadcast newsroom for activist collectives:
publishing pipeline with group approval and DST-proof scheduling, TweetDeck-style
column wall with hostile-content-safe rendering, live control room with Auto
Director, bridged chat governance with polls and quorum, distributed sandboxed
transcode workers, encrypted content-addressed archive, monthly analytics.

MIT licensed. See README.md and docs/.
2026-10-10 11:56:42 +00:00

42 lines
830 B
TypeScript

export interface VideoAsset {
id: string;
workspaceId: string;
storageKey: string;
mimeType: string;
sizeBytes: number;
width?: number;
height?: number;
durationMs?: number;
frameRate?: number;
codec?: string;
audioCodec?: string;
thumbnailKey?: string;
}
export type VideoProcessingJobState =
| "queued"
| "probing"
| "transcoding"
| "complete"
| "failed";
export interface VideoProcessingJob {
id: string;
workspaceId: string;
videoAssetId: string;
state: VideoProcessingJobState;
progressPercent?: number;
outputKey?: string;
error?: string;
}
export interface VideoLibraryEntry {
videoAsset: VideoAsset;
processingState: VideoProcessingJobState;
publications: Array<{
connectionId: string;
remoteId: string;
platform: string;
publishedAt: Date;
}>;
}