Transcoding speed, fps and media time
Transcoding speed compares produced media-time progress with wall time, while fps, bitrate and completion describe different quantities.
A speed multiplier compares media-time progress with wall time. Frames per second counts frame processing at a particular point. Encoded bitrate counts bits per media second. They are different units.
Confusing them can make a normal or deliberately idle job appear too slow, or make a high frame-processing count look faster than it really is.
An original progress excerpt
frame=1440 fps=48 time=00:01:00.00 speed=2.00x
Assume this excerpt describes a 24-fps output that produced 60 media seconds over 30 wall seconds:
1440 frames / 24 frames per media second = 60 media seconds
60 media seconds / 30 wall seconds = 2x
The excerpt is an illustration, not a captured server log. Actual field availability and calculation details depend on the tool/version and output context.
The output cadence determines the fps conversion
| Source cadence | Output cadence | Processing count rate | Corresponding rate in the stated simple case |
|---|---|---|---|
| 24 fps | 24 fps | 48 output frames/s | 2x |
| 24 fps | 30 fps | 60 output frames/s | 2x |
| About 59.94 fps | About 29.97 fps | About 59.94 output frames/s | About 2x |
Dividing the second row's 60 by the source 24 would yield 2.5. That is not the output-media progress represented by the specified 30-fps output.
Variable cadence and multiple outputs can need a more careful timestamp-based interpretation. A frame counter alone does not provide every timeline origin or duration.
time is a media coordinate
A progress time generally concerns output media progress, not the elapsed wall clock. Starting from another source position, copying timestamps or using another output origin can complicate the comparison.
A diagnostic should establish the context and compare progress over a known wall-time interval. A source position of minute 20 is not evidence that the process ran for twenty minutes.
Likewise, fps is not Mbit/s. A job can have high fps while producing a large output rate that overwhelms delivery.
Active speed and waiting time
A producer can intentionally pause after getting ahead. During that interval, little new media is produced. Averaging the quiet period with active processing gives another number from the engine's active speed.
In an original idealised cycle, a producer active at 4x for one quarter of the wall time can average 1x over the full cycle. That can meet ordinary playback demand while avoiding conversion of the entire source immediately.
A low recent progress value therefore needs the surrounding state: active conversion, throttling, input wait, output wait or failure. The value alone does not distinguish those causes.
See Also
- Real-time transcoding and playback deadlines
- Transcode throttling and producer lead
- Reading a transcoding log
- Video Frame Rate
- Fractional Frame Rates: 23.976, 29.97, and 59.94