背景
刚好有学员朋友在群里问道有没有什么播放软件可以实现对视频的逐帧即一帧一帧播放。在做android系统开发时候经常会偶尔遇到有时候是闪黑,闪白等一瞬间现象的问题。这类问题要分析的话就不得不需要对设备录屏,然后对录屏进行逐帧播放查看现象,看看到底是怎么回事,比如闪黑,闪白看肯定就是中间有一帧黑了,或者白了,导致前后帧的视觉差异太大,但是这个又是一瞬间的现象,导致给人就是闪黑,闪白现象。
可能很多人说直接上马哥使用的winscope不就行了么,但是很多时候可能是个偶现问题,你不一定可以复现,不一定有winscope等。所以就不得不先拿录制的视频来进行分析,分析就需要对视频进行逐帧进行播放,那么下面马哥就给大家推荐几个工作中可以逐帧播放的视频播放器。
VLC播放器
这个播放器只要做音视频开发的一般都知道哈,但是很少人可能知道VCL其实还支持逐帧播放,具体操作如下
点击 “工具”进入“自定义界面”
只要点击逐帧播放这个按钮就可以实现对视频一帧一帧播放。
QuickTime播放器
这个逐帧播放使用很简单,只需要在播放解码键盘上向左向右按键既可以
ffplay:
这个是个完全命令行的播放器,不可以鼠标操作,具体逐帧播放其实是有按键可以控制的,这个按键就是“s”这个按键
While playing:
q, ESC quit
f toggle full screen
p, SPC pause
m toggle mute
9, 0 decrease and increase volume respectively
/, * decrease and increase volume respectively
a cycle audio channel in the current program
v cycle video channel
t cycle subtitle channel in the current program
c cycle program
w cycle video filters or show modes
s activate frame-step mode
left/right seek backward/forward 10 seconds or to custom interval if -seek_interval is set
down/up seek backward/forward 1 minute
page down/page up seek backward/forward 10 minutes
right mouse click seek to percentage in file corresponding to fraction of width
left double-click toggle full screen
就是这里的
s activate frame-step mode
可以一帧一帧问步伐进行播放
具体详情试看方式:
投屏专题部分:
https://mp.weixin.qq.com/s/IGm6VHMiAOPejC_H3N_SNg
更多framework详细代码和资料参考如下链接
hal+perfetto+surfaceflinger
https://mp.weixin.qq.com/s/LbVLnu1udqExHVKxd74ILg
其他课程七件套专题:
点击这里
https://mp.weixin.qq.com/s/Qv8zjgQ0CkalKmvi8tMGaw
视频试看:
https://www.bilibili.com/video/BV1wc41117L4/
更多framework假威风耗:androidframework007