一下是通过wireshark抓包工具抓得,见下
GET /yplaylog?hd=2&number=59&langid=0&videoid=224369529¤tPlayTime=0&totalsec=138 HTTP/1.1
记录视频刚刚开始,currentPlayTime=0
,表示视频还没有播放,totalsec=138
,表示视频一共时长,单位是秒。
GET /event?t=1001&e=pgsbd&v=mlc&d=Zj1vZmYmcT1oZDImd3Q9aW50ZXJpb3ImbD1vbiZ3PW9mZg==&x=dWlkPTAmdGM9MTE3JnZlcj0xLjAuMCZzaWQ9JnZpZD0yMjQzNjk1MjkmY3Q9ZSZjcz0yMTA0JnRiPTUwJnY9MzEzMnlzcF95b3VrdV9wczA2LTEwLTExLTU2JnRvPTExNyZmaWQ9bnVsbCZzc2lkPTM0MzQyMDIwMTQ5NzgxMDRmMzY0YQ== HTTP/1.1
/event?t=1001&e=pgsbd表示拖拽动作,拖拽动作与其前面最近的的yplaylog之间会有很多类似GET /tslog?pt=50&cpt=50&uid=0&sn=10&hi=5&ctp=1&lang=0&r=%2D326997602&pc=0&vid=224369529&cf=2&full=0&vvid=3434202014978104f364a&iku=u HTTP/1.1
的包,这个包是周期性出现,可以通过统计这个包的出现的次数,因为这包是周期性出现的,每10秒出现一次,统计次数,再加上其前面yplaylog对应的currentPlayTime=0,就可知道拖拽动作对应的视频播放时间t1。
然后根据GET /event?t=1001&e=pgsbd
,其后第一次出现的GET /yplaylog?
,其会对应一个当前视频播放的时间,记为t2,统计GET /event?t=1001&e=pgsbd
和GET /yplaylog?
两者出现的GET /tslog?pt的次数,t2-(GET /tslog?pt的次数)*10,可以大概估计视频被拽到的播放时间t3。
拖拽时长即t4=t3 -t1。
整个过程会存在误差,误差会在10s-20s内,目前的思路是这样的,还可以进一步改善,有待下一步的实验改善。
未完待续。