两路视频跳帧的一些想法:
关于多路视频,如果不涉及对比的话,多线程是最佳选择,来一路视频的话,直接开一个线程去显示处理,非常有效,方便。
但如果说要求两路视频的图像的相似度,那么便牵扯到解码同步问题,如果说一路是本地视频文件,一路是网络视频流,那么很可能由于其帧型的不同,导致解码效率不同,相同序号的帧出现在两个时刻。感觉对比的话,应该是在线程里,当然,鉴于计算量比较大,比较的时候可以再开线程,此为后话。
再说同步的问题,可设置标志位,标定帧号。由于解码本地视频丢帧率较小,且由于帧型而导致解码效率要比网络视频的解码效率要高,故可以将同步开关设置在本地视频解码中。例如帧号,本地视频设置为N1,网络视频设置为N2,两路同时解码,N1 与 N2 自加。后续在N1 < N2 的情况下,N1 解码,也即本地视频解码。这样做有一个前提条件,就是网络视频不丢帧,且解码不丢帧,否则本地视频的解码进度将逐渐滞后于网络视频的解码。
考虑到丢帧的情况,解释说现在要考虑的是:
1、只要是进行了解码,不管成功与否,N2自加,N1解码自加
2、N2 解码成功,即网络视频端解码成功,N2自加,N1的话自加,可能导致N1的进度进度小于N2,即网络视频播放进度在本地视频之前。
综上,不管网络端是否解码成功,本地接口都必须进行解码,两路视频帧号自加运算。
视频解码,本人一直喜欢用定时器,下面谈一些关于定