技术栈
mpv
FFZero1
14 天前
c++
·
音视频
·
mpv
[mpv架构] (三) mpv 怎么实现 MP4 秒开?
当敲下 mpv video.mp4,回车。在第一个画面出现在屏幕上之前,mpv 已经做了一系列精密的初始化:打开文件、探测格式、创建 FFmpeg 上下文、解析轨道——这些在 demux 线程启动之前完成。选轨和建解码器则在 demux 线程启动之后、预读开始之前。
FFZero1
1 个月前
音视频
·
mpv
[mpv架构] (二) 为什么 mpv 要把 FFmpeg 的 I/O 换掉?
用 mpv video.mp4 播放本地文件,中途按 q。退出几乎在瞬间完成——用户看到的是"快",但真正值得琢磨的是背后的设计问题:demux 线程可能正阻塞在 read() 或 recv() 上,播放器凭什么既能随时打断它,又能在平时不空转浪费 CPU?
我是有底线的