成功率

1. find_stream_info失败后的重试,一般为3次;

2. 细分错误码,找到具体的错误原因;

 

秒播率

1. 先prepare,再setsurface(即java和native并行执行创建逻辑);和除此之外的其他并行逻辑;

2. 设置AVFormat的probesize和max_analyze_duration为更低的时间(一般是50*1024和75000),如果失败,则加大重试;

3. 预加载和预缓存:播放当前视频的同时,预加载下一个视频;大剧预加载;

4. 起播低清晰度,然后切换至高分辨率;

5. ffmpeg起播单线程,因为多线程需要各个线程都解码完毕,存在一个等待的过程;

6. 对HLS流,获取ts列表的第一条ts地址后,即开启下载线程,预计减少200ms的起播时间;

7. 对6,或者采用首片ts起播加速的方案,即ups返回播放地址时,返回播放地址+首片ts地址,首片ts先开播,省去获取播放列表的时间;

深度定制:

1. 直接指定视频格式和音频格式,省去parse的过程;

 

卡顿率

1. 加大buffer,对于直播场景,降低buffer low(即pause)的场景;

2. 限制buffer总大小,提高buffer总时长,降低低清晰度的卡顿率;

 

crash率

1. APP接入crash崩溃分析平台,在服务器上能抓到当前的运行日志;

2. 各维度分析;

相关文章:

  • 2021-10-29
  • 2021-11-23
  • 2021-09-20
  • 2021-12-27
  • 2022-02-03
  • 2022-12-23
  • 2021-06-27
  • 2021-09-14
猜你喜欢
  • 2022-01-05
  • 2021-05-16
  • 2021-04-22
  • 2021-08-26
  • 2022-01-10
  • 2022-12-23
  • 2022-01-22
相关资源
相似解决方案