现象:
拖动seekbar 视频页面会变化,但seekbar 进度会回退几秒-几十秒不等
原因:
部分视频播放时,调用seekTo的时候,会跳回到最开始的位置,这是因为视频的关键帧的问题(GOP导致的),视频压缩比较高,而seek只支持关键帧,出现这个情况就是原始的视频文件中i帧比较少.
视频是自制视频,并且通过格式工厂压缩,导致关键帧缺少.
解决方式
重新给视频源添加keyframe
可用使用FFMPEG进行操作
https://ffmpeg.zeranoe.com/builds/
相关命令
ffmpeg -i %1 -c:v libx264 -preset veryslow -crf 22 -x264opts keyint=123:min-keyint=20 -c:a copy %1_new.mp4
pause
windows下新建文本,后缀改为bat,copy代码保存后, 最后直接拖视频文件到bat 文件上就可以添加关键帧.