3 ms·
You could cut on any frame if your container and decoder supported decoding two tracks at once, then switching the active track. You could decode two tracks in
by jamesfmilne 3y ago
You could cut on any frame if your container and decoder supported decoding two tracks at once, then switching the active track. You could decode two tracks in parallel, each from the last keyframe, then switch whenever your want.
Scope-creep would of course require that to expand to include dissolves, transitions, etc until you've got a whole editor/compositor engine running just to playback a single composition.
However this would be quite possible with technologies like WebCodecs+WebGPU.
- josteink 3y agoDecoding a single frame can be done a completely deterministic constant-time basis using hardware acceleration, common in embedded systems. Decoding two consecutive frames would obviously require two such cycles, which the hardware may or may not be spec’d for. With three, four or n skipped frames, you would require (at least) n frames prebuffering, rendering and graphics memory to guarantee smooth playback. I think it makes sense to differentiate between mastering formats and consumption formats. One does not, after all, ship studio masters of albums or songs people listen to.
- Scaevolus 3y agoYou don't even need to support multi-stream decoding, just fast seeking. Matroska supports a feature like this where it can link together multiple segments, letting you do something like having one file for a repeated opening sequence in a TV series.