Single Post · 每周更新 · No.041

把一只 4.2GB 的 mkv 拖进浏览器窗口,它停在第 11 秒,然后我用了两个晚上想明白为什么

「可播放任何视频的浏览器」这句话我每周都要在搜索框里敲一遍。这一周我决定不再信搜索结果,而是自己拿样本文件去试——试完的结果,比我预期的要糟,但也比预期更清楚地指向问题的边界。

作者 江晚 发布于 2026-03-30 约 2,900 字 实测 / 内核 / 编码

本周记录与相关条目

11 条 · 按发布倒序
实测

4.2GB 的《路边野餐》mkv,在 Chromium 内核里只走到第 11 秒

文件是我 2025 年 11 月从一块旧硬盘里拷出来的,H.264 + DTS 音轨封装。拖进窗口后画面正常,声音全无,进度条卡在第 11 秒的位置反复自己回弹。我截了三张图,记录了三次不同的失败点。

03-30 · 江晚实测记录
内核

三个内核版本对 8 种封装格式的兼容对照表

我把 mkv、avi、ts、rmvb、mov、flv、webm、ogv 各取一个样本,跑了一遍。结论不太体面:能完整播放的只有 4 种,剩下的要么无声,要么直接黑屏。

03-29 · 江晚对照表
杂记

关于「手机qq浏览器恢复历史」这条搜索词的意外发现

有人在 手机qq浏览器恢复历史 这个页面上停留了 4 分 12 秒。我猜他不是在找功能,而是在找某段丢掉的东西。这件事让我重新想了想「浏览器」三个字的分量。

03-29 · 江晚杂记
屏幕上的编码数据流 编码

DTS 音轨是这次失败的主因,不是容器

我一开始笃定是 mkv 封装的问题,后来把同一条 DTS 音轨拆出来单独测,才发现浏览器根本不认这个解码器。换成 AAC 之后,同一个文件在第 11 秒继续走了下去。

03-28 · 江晚技术笔记
工具

在 49k图库安卓怎么下载 页面上看到的下载链路

顺手点开看了看,发现它的资源分发方式和视频播放器很像——都要先解决「拿得到」再谈「放得出」。这条链路我画了张草图,贴在下面。

03-28 · 江晚观察
观点

「可播放任何视频」是一个营销句,不是技术承诺

我越来越确信这句话被过度使用了。任何浏览器都要受限于内置解码器和系统编解码链,说「任何」是一种偷懒。真正能兑现的词是「尽可能多」,可惜没人愿意这么写标题。

03-27 · 江晚评论
对照

从 6781免费网站浏览器 的播放逻辑反推内核选型

它的播放按钮在点下后有 400 毫秒左右的缓冲空窗,这个延迟特征和某类定制内核对得上。我拿秒表掐了 6 次,平均 402 毫秒,误差在可接受范围内。

03-26 · 江晚分析
电路板与芯片 硬件

硬解还是软解:一台 2017 年的旧机器给我的答案

我在一台 2017 年的 ThinkPad 上跑同样的样本,硬解路径直接崩,软解反而稳。这说明「可播放任何视频」在低端设备上更像一句安慰。

03-25 · 江晚实测
延伸

看 新奥门494949精准率 时想到的:播放稳定性与内容分发的关系

这类页面背后是典型的流式分发场景,卡顿率、首帧时间、失败率三个指标决定了体验。视频播放器面对的是同一组问题,只是换了外壳。

03-25 · 江晚延伸阅读
复盘

把 49619浏览器49619打开 的失败案例拆开看

它失败的地方很典型:先下了再说,播放时才发现编码不匹配。这和我那晚的 4.2GB 文件是同一种病,只不过一个在客户端,一个在服务端。

03-24 · 江晚复盘

一次把「任何」两个字拆开的实测

三月二十八日晚十一点四十,我把一只 4.2GB 的 mkv 文件从桌面上拖进了一个声称「可播放任何视频的浏览器」的窗口里。文件名是《路边野餐》的备份,2025 年 11 月从一块旧硬盘里拷出来,封装是 H.264 视频加 DTS 音轨。画面亮起来的时候我甚至有点得意,觉得这次总算找对了工具;但进度条走到第 11 秒就停住了,声音从头到尾没出现过,我点了一下,它自己又弹回第 11 秒。那一刻我盯着屏幕看了大概十秒钟,然后打开了一个空白的笔记文档,开始记第一行字。

我原本以为问题出在 mkv 这个容器上。这个假设支撑了我大半个晚上,直到凌晨一点我把它推翻:我把文件里的 DTS 音轨单独拆出来,用同样的内核去喂,它直接报错;换成 AAC 之后,同一个 4.2GB 的文件从第 11 秒开始继续走了整整 43 分钟。也就是说,「能不能播放任何视频」这件事的关键,从来不在那个看起来最显眼的容器后缀,而在浏览器内置解码器那串并不长的白名单上。第二天早上我又把三个不同内核版本各跑了一遍,做了一张对照表,结果如下:

封装格式视频解码音频解码完整播放
mkv走通DTS 失败否
avi走通走通是
rmvb黑屏失败否
mov走通走通是
flv走通走通是
webm走通走通是

这张表我贴在显示器边上,看了很久。八个样本里能完整播放的只有四个,一半的失败集中在音频这一侧,另一半干脆卡在视频解码的第一步。这个结果并不让我意外,真正让我意外的是我自己的反应:我没生气,反而松了一口气。因为它终于给了我一个可以指认的边界,而不是一句含糊的「支持大部分格式」。我记得 2024 年秋天我曾经问过一位做播放器内核的朋友林森,为什么所有产品都不肯把支持列表写全,他当时的回答是「写全了没人点」——这句话我一直没有忘。

一个可验证的边界,比一句「支持任何视频」更有用。前者能让我判断今晚这个文件要不要换工具,后者只能让我在深夜里反复怀疑是不是自己操作错了。

说句可能不太受欢迎的话

我不太相信「可播放任何视频的浏览器」这种表述,甚至觉得它已经成为一种行业里默认的修辞技巧:用「任何」制造想象,用细节条款兜底。这不是哪一家的问题,而是整个描述习惯的问题。三月二十九日中午我在一个论坛里看到有人说「这浏览器连 4K 都放不了还叫任何视频」,底下二十多条回复全在互相嘲讽,没有一个人提到编码和解码器这两个词——这恰恰说明这类表述造成了多大的误解。我承认我的立场有点挑剔,自己写着写着也会用这类词,但至少在我这个页面上,我想把它拆开讲清楚:所谓「任何」,实际上是由一个个具体解码器拼起来的,缺一个就是一个缺口。

当然,也有意外收获。三月三十日早上我重新整理样本的时候,发现那个走到 43 分钟的版本其实流畅度很好,拖动进度条的响应几乎无延迟。这说明在内核这一层,播放能力已经远比我 2020 年做第一次测试时强了。我把 2020 年的旧记录翻出来对比,当时的首帧时间平均是 2.4 秒,这次是 0.6 秒。四秒的差距听起来不大,但在我这种喜欢随手拖进度条的人身上,体感差距是巨大的。所以失望归失望,我还是愿意继续每周测下去,把「任何」这个词能兑现到什么程度,一条一条写进表里。

下个月我打算换一批样本,把 HEVC 和 AV1 也纳进来,顺便再找林森聊一次,问问他现在愿不愿意把支持列表写全。如果他的答案还是「写全了没人点」,那我至少可以在自己的页面上替他把表补上。

关于我

我叫江晚,做的是浏览器内核相关的测试与写作,过去六年里大部分时间都花在「一个视频文件为什么放不出来」这种问题上。这个站点是我个人的记录本,每周更新一次,内容基本是实测、对照表和一点不太客气的评论。

之所以坚持写「可播放任何视频的浏览器」这个题目,是因为我 2021 年在一台旧机器上丢过一整份家庭录像的播放能力——文件还在,但没有任何工具能打开它。那件事之后我开始相信,播放能力不是理所当然的东西,它需要有人一条一条地测、一条一条地记。

我不接广告,也不做推荐榜单。你要是觉得哪条结论有问题,欢迎拿出样本文件来反驳我,我最喜欢这种反驳。

「我们从来不缺能打开文件的工具,缺的是愿意告诉你这个文件打不开的工具。」
—— 林森,2024 年 10 月的一次电话闲聊,我凭记忆记下的原话