Umbraco.VideoProcessing.Demo to demo a video processing flow including:
- User upload video in Umbraco
- Video is processed
- Extract metadata
- Slice video
- Create playlist
- Convert video part into 360, 480, 720, 1080
- Save and monitor process status
- Stream video to user.
Project to upload and view video.
Project to initiate video processing, make sure video is not processed twice.
Projct to slice video into multiple parts
Project to read resolution configuration and emit events to convert video parts to different resolutions.
Project to convert video parts to different resolutions.
Project to capture events in the processing to update the processing status.
Project to delete old converted files, requeue converted videos with errors, redo error processing task...
- Install Dev Containers extension in Visual Studio code
- View -> Command Palette: Use Dev Containers: Clone Repository in Container Volume
- Run MinIO, create user with permissions, create access key and replace in appsettings.json of all projects
- RUN
make run-all
- Install: SQL Server 2019, Redis, MinIO, RabbitMQ
- Change connections in appsettings.json of all projects
- Run MinIO, create user with permissions, create access key and replace in appsettings.json of all projects
- Run sql script to initialize system
- Run projects: UmbracoSite, Jobs.InitiateVideoProcessing, Jobs.SliceVideo, Jobs.SelectResolution, Jobs.ConvertVideo, Jobs.MonitorProcessing