• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

看完这篇文章你起码对分析视频卡顿有点思路了-01

android 搞代码 3年前 (2022-03-01) 34次浏览 已收录 0个评论
文章目录[隐藏]

熟话说,授人以鱼不如授人以渔,这里记录的是在理论我的项目上,我遇到问题时是如何进行排查解决的,给大家提供个思路参考~

一、遇到的问题

通过pc后盾查看手机端实时视频,呈现先呈现一帧画面,而后画面卡住,过个几秒钟后,画面才晦涩。

二、剖析问题

1)这个问题,咱们首先须要排查下是手机端还是pc端的问题,不然间接丢给pc端共事排查,人家搞半天,最初发现是手机端的问题,那就难堪了;

2)上面咱们来看下如果排查是哪端呈现的问题?

其实思路也很简略,咱们须要本地保留一份yuv和h264流文件,而后借助软件查看,本地的流文件是否失常。如果有问题,那就是手机端的问题,否则,就能够让pc端的共事一起排查了。

i.如上面代码块所示,我在流推送给后盾之前,把yuv流数据保留到本地文件外面;


ii、如上面代码块所示,把编码后的h264流保留下来

  private void saveStreamFile(byte[] buffer, String encodeFormat, int width, int height) {
        String dirString = "/sdcard/videoStream/";
        File dirFile = new File(dirString);

        if (!dirFile.exists()) {
            dirFile.mkdirs();
        }

        File saveFile = new File(dirString + width + "_" + height + "Stream.yuv");

        try {
            FileOutputStream fileOutputStream = new FileOutputStream(saveFile, true);
            fileOutputStream.write(buffer);
            fileOutputStream.flush();
            fileOutputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

iii、流文件保留下来了,就是怎么查看的问题了。

我应用的是ElecardStreamEyeTools工具,这个工具能够播放yuv文件和h264流,后缀都须要批改成.yuv能力查看。

如下图所示,yuv流文件是抉择Elecard YUV Viewer 来查看,h264流文件是抉择Elecard StreamEye来查看。


3)下面一波操作后,是时候有个根本论断了。播放本地保留下来的yuv和h264流文件,发现都是晦涩的,没有卡顿景象。而且发现h264流文件外面,是有够多的i帧的,这时候能够让pc端的共事一起排查了。

附:
ElecardStreamEyeTools工具 下载地址:
https://download.csdn.net/dow…

自己从事Android Camera相干开发已有5年

目前在深圳下班

欢送大家关注我的微信公众号“小驰笔记”

大家一起学习交换

——– 2021.02.26 深圳 15:17


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:看完这篇文章你起码对分析视频卡顿有点思路了-01

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址