Ryan Malloy 840bd34f29 🎬 Video Processor v0.4.0 - Complete Multimedia Processing Platform
Professional video processing pipeline with AI analysis, 360° processing,
and adaptive streaming capabilities.

 Core Features:
• AI-powered content analysis with scene detection and quality assessment
• Next-generation codec support (AV1, HEVC, HDR10)
• Adaptive streaming (HLS/DASH) with smart bitrate ladders
• Complete 360° video processing with multiple projection support
• Spatial audio processing (Ambisonic, binaural, object-based)
• Viewport-adaptive streaming with up to 75% bandwidth savings
• Professional testing framework with video-themed HTML dashboards

🏗️ Architecture:
• Modern Python 3.11+ with full type hints
• Pydantic-based configuration with validation
• Async processing with Procrastinate task queue
• Comprehensive test coverage with 11 detailed examples
• Professional documentation structure

🚀 Production Ready:
• MIT License for open source use
• PyPI-ready package metadata
• Docker support for scalable deployment
• Quality assurance with ruff, mypy, and pytest
• Comprehensive example library

From simple encoding to immersive experiences - complete multimedia
processing platform for modern applications.
2025-09-22 01:18:49 -06:00

42 lines
1.4 KiB
SQL

-- Database initialization for Video Processor
-- Creates necessary databases and extensions
-- Create test database
CREATE DATABASE video_processor_test;
-- Connect to main database
\c video_processor;
-- Enable required extensions
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- Create basic schema (Procrastinate will handle its own tables)
CREATE SCHEMA IF NOT EXISTS video_processor;
-- Grant permissions
GRANT ALL PRIVILEGES ON DATABASE video_processor TO video_user;
GRANT ALL PRIVILEGES ON DATABASE video_processor_test TO video_user;
GRANT ALL PRIVILEGES ON SCHEMA video_processor TO video_user;
-- Create a sample videos table for demo purposes
CREATE TABLE IF NOT EXISTS video_processor.videos (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
filename VARCHAR(255) NOT NULL,
original_path TEXT,
processed_path TEXT,
status VARCHAR(50) DEFAULT 'pending',
metadata JSONB,
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Create index for efficient queries
CREATE INDEX IF NOT EXISTS idx_videos_status ON video_processor.videos(status);
CREATE INDEX IF NOT EXISTS idx_videos_created_at ON video_processor.videos(created_at);
-- Insert sample data
INSERT INTO video_processor.videos (filename, status) VALUES
('sample_video_1.mp4', 'pending'),
('sample_video_2.mp4', 'processing'),
('sample_video_3.mp4', 'completed')
ON CONFLICT DO NOTHING;