8.2 播放器核心系统(Player Core Systems)

8.1 的结尾留下了一个分界:解码器把帧从码流里解放出来,工作便告完成——它对比特负责,帧解对了就是满分。可播放器的考卷上还有另一半题目,而且更难:时间。一帧解得再正确,早上屏半秒是穿帮,晚上屏半秒是卡顿;音频视频各自解得完美,错开百毫秒就是事故。

这就是播放器与解码器的本质分工:解码器回答 "帧是什么",播放器回答 "帧在何时"。后者没有规格书可查——编码标准从不规定一台机器该在什么时刻点亮哪个像素。这是一片纯工程的深水区,好在工业界有一份沿用二十余年的参考答案:ffplay 参考实现 [2]。本节的论述将以它为底本,把 "播放" 这件看似直觉的事,拆解成四个可以设计、可以实现的系统:

完成本节后,播放器将不再有黑盒——8.3 我们便动手,用 PyAV 亲手造一台出来。

Copyright © Since 2021 李述博 (Arikan.Li) , All Rights Reserved all right reserved,powered by GitbookLast Updated: 2026-08-26 08:25:15

results matching ""

    No results matching ""