Skip to content

Intelligent Video Upload Processing #74

Description

@mdshack

Shots are currently processed synchronously for simplicity. This works fine for image because the processing is extremely minimal. Videos on the other hand have a higher processing requirement (exporting for HLS, multi-output bitrate, potentially padding the video to be compatible with HLS).

In order to keep things snappy, we need a better process for videos, heres what I am thinking:

  1. Synchronously export a lower quality HLS compatible version of the video (using the "ultrafast" preset), this will create a low quality version with distortions and such, but it will just be to keep the flow intact
  2. Dispatch a queued job chain to
  1. Export to multiple bitrates at slower presets (normal or something)
  2. Cleanup the old "fast" version that was created synchronous (can we just clobber this in the first step so users just start getting served this new version)
  3. Delete the source video

I definitely want to keep the ability to upload a shot and immediately get redirected to that video, wouldn't want a processing screen or anything like that if possible.

In order to make this happen, we will also need a queue setup (database driver should be fine for the moment), its possible we will also need to adopt supervisor or something similar to preserve the current single container approach.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    Status
    Todo

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions