Skip to content

Design a Video Processing Pipeline, stage 1 of 14: model

Read the requirements like an engineer

Before choosing anything, turn the brief into numbers. Two of them decide most of this design: how long a large upload takes over an ordinary connection, and how many transcodes are in flight at once.

Useful arithmetic: 1 GB is 8 gigabits. Little's law says the average number of jobs in a system equals the arrival rate times the time each job spends there (L = λW). It holds for any stable system regardless of how arrivals are distributed.

Decide whether each statement holds, fails, or depends on something the brief has not settled.

System so far· 3 parts
1CLIENTInstructorbrowserSERVICEVideo APIDATABASEPostgres

Select a component to see what it is responsible for and which state it owns.

  1. 1Instructor browser → Video API: Create upload, report parts, poll status

What you need to know

0 of 3 checks done
  1. Network speeds are quoted in bits per second; file sizes in bytes. One byte is 8 bits, so 1 GB is 8 gigabits. To get a transfer time, convert the file to bits and divide by the link speed.

  2. Work it out

    A 4 GB file uploads over a 20 Mbps home connection. About how many minutes does it take?
    minutes