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.
42 lines
1.4 KiB
SQL
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; |