M3U8 文件推流上屏卡顿排查

2022-02-23 20:07:51 浏览数 (1)

目录

问题

解决

总结

问题

录制服务生成了一些 m3u8 文件,现在,把这些 m3u8 文件推流上屏之后,出现了规律性卡顿。但是播放视频源文件,发现文件本身没有问题,播放很流畅。

解决

目测这个视频源文件没有问题,但是这其实是假象,视频源文件确实存在问题。

我为什么会说一段播放十分流畅的视频有问题呢?请听我下面分解。

我们看到画面播放流畅,其实只能说明视频部分没问题,一个视频文件一般是由视频部分(video)和音频部分(audio)组成的。既然视频部分没有问题,那我们就来看一下音频部分,首先查看源文件的音频信息,可以使用如下命令:(以 windows 系统为例)

.ffprobe -show_frames -select_streams a -of xml G:jobkadunindex_0001.ts > audio.info

截图如下:

命令执行完毕后,会把音频信息保存到 audio.info 文件, 我们打开文件如下:

乍一看也没有什么问题,但是如果把滚动条往右拉(文件的行比较长),我们就会发现问题,每个音频包的大小只有11个字节,大概只有一个 aac 音频头的大小,几乎没有任何实际音频数据,如下图所示:

是不是压根儿就没有音频数据呢?当然这只是我们的猜测,我再用工具验证一下,分析结果如下:

果然,我们的猜测是正确的。

正常的视频文件(同时包含音频和视频部分)如下图所示:

我们非常清晰的看到视频和音频的占比与分布。

总结

综上所述,这个视频源文件是很有问题的,只有音频头信息,但是没有实际的音频数据,最终造成了播放器端在渲染过程中出现卡顿的问题。这就好比,我告诉你我有钱,结果你和我借的时候发现我没有。而此时,你正需要这笔钱去干别的事情,没有这笔钱你就干不了别的,因此你卡住了,“卡顿了”。很好理解吧!嗯嗯,成功甩锅!哈哈 。

0 人点赞