2525- 相比H264,编码复杂度提升4倍,更消耗系统资源
2626- 编码时间更长
2727
28- 通过软解可以支持,但是CPU会占用较高,而且发热和好点 。
28+ 通过软解可以支持,但是CPU会占用较高,而且发热和耗电 。
2929对解码能力进行评估,来通过机型打分控制是否使用H265以及是用360p还是480p。
3030但是H265全部切换成本较高,牵扯到转码成本以及存储成本,所以可以只对热点的视频去进行编码,这样少量的视频就可以带来可观的效果。
3131
6868
6969### 预取策略
7070
71- 1, 修改AndroidVideoCache进行预加载
72- 2, 线程池并发缓存并控制视频缓存优先级(线程池线程数为3,先加入的先缓存),一次预加载8个视频,item创建时开始预加载,item销毁时,取消预加载
73- 3, 等待下页第一个视频预加载完成,才会进入下一页视频,保证滑到的视频都是可以立马观看的。(一页视频为8个)
74- 4, 当前视频开始播放之后才会进行预加载
75- 5, 区分快滑慢滑两种模式,快滑时取消当前所有预加载,慢滑不取消,因为快滑大概率滑到一个未预加载的视频,慢滑大概率滑到一个已经预加载的视频,保证滑到视频尽快播放。
76- 6, 当视频播放后,根据滑动方向,会将取消的预加载进行恢复,正向滑动就恢复当前之后之后的预加载任务,反选滑动就恢复当前视频之前的预加载任务。
77- 7, 限制网速,当时视频还没播放的时候,会限制预下载的网速(慢滑不会取消预加载),通过让下载线程sleep来限制网速。
78- 8, ijkplayer起播参数配置。
79- 9, 视频压缩和处理(让视频参数都位于视频首部)。
71+ 1 . 修改AndroidVideoCache进行预加载
72+ 2 . 线程池并发缓存并控制视频缓存优先级(线程池线程数为3,先加入的先缓存),一次预加载8个视频,item创建时开始预加载,item销毁时,取消预加载
73+ 3 . 等待下页第一个视频预加载完成,才会进入下一页视频,保证滑到的视频都是可以立马观看的。(一页视频为8个)
74+ 4 . 当前视频开始播放之后才会进行预加载
75+ 5 . 区分快滑慢滑两种模式,快滑时取消当前所有预加载,慢滑不取消,因为快滑大概率滑到一个未预加载的视频,慢滑大概率滑到一个已经预加载的视频,保证滑到视频尽快播放。
76+ 6 . 当视频播放后,根据滑动方向,会将取消的预加载进行恢复,正向滑动就恢复当前之后之后的预加载任务,反选滑动就恢复当前视频之前的预加载任务。
77+ 7 . 限制网速,当时视频还没播放的时候,会限制预下载的网速(慢滑不会取消预加载),通过让下载线程sleep来限制网速。
78+ 8 . ijkplayer起播参数配置。
79+ 9 . 视频压缩和处理(让视频参数都位于视频首部)。
8080
8181
8282
@@ -135,9 +135,6 @@ Conviva在2011年的分享中提到以下观点,缓冲次数始终是最主要
135135不断优化表现直接与收入关联的主要原因是,收入统计通常计出多门且较为滞后,可采用的替代指标包括注册用户数、活跃用户数、视频观察市场、观看次数、播放占比、付费率、留存率、分享率、满意度等。
136136
137137
138-
139-
140-
141138### 监控
142139
143140监控上报,肯定是不可缺少的,这是一个成熟的项目必备的要素。
@@ -152,32 +149,7 @@ Conviva在2011年的分享中提到以下观点,缓冲次数始终是最主要
152149
153150
154151
155-
156-
157-
158-
159-
160-
161-
162-
163-
164-
165-
166-
167-
168-
169-
170-
171-
172-
173-
174-
175-
176-
177-
178-
179-
180152---
181153
182154- 邮箱 :charon.chui@gmail.com
183- - Good Luck!
155+ - Good Luck!
0 commit comments