1.一种服务器,其特征在于,包括:
接收模块,用于接收客户端发送的倒序播放请求,所述倒序播放请求包括起始位置信息和结束位置信息,所述起始位置信息对应倒序开始视频帧,所述结束位置信息对应倒序结束视频帧,所述倒序开始视频帧与所述倒序结束视频帧之间包括多个关键帧;
判断模块,用于判断所述倒序开始视频帧是否为关键帧;
定位模块,用于若所述倒序开始视频帧非所述关键帧,定位与所述倒序开始视频帧距离最近且位于所述倒序开始视频帧与所述倒序结束视频帧之间的第n关键帧,其中,n=1;
发送模块,用于从所述第n关键帧开始逐帧发送所述第n关键帧与所述倒序开始视频帧之间的所有视频帧至客户端;
所述定位模块还用于若所述第n关键帧与所述倒序开始视频之间的视频帧发送完成后,定位与所述第n关键帧距离最近且位于所述倒序结束视频帧与所述第n关键帧之间的第n+1关键帧;所述发送模块还用于若所述第n+1关键帧定位成功,从所述第n+1关键帧开始逐帧发送所述第n+1关键帧与所述第n关键帧之间的所有视频帧至客户端,且发送每一个视频帧之间休眠预设时间段,所述预设时间段与显示视频帧的帧率成反比;
所述服务器还包括重定位模块,所述重定位模块用于所述第n+1关键帧与所述第n关键帧之间的所有视频帧发送完成后,n=n+1,定位与所述第n关键帧距离最近且位于所述倒序结束视频帧与所述第n关键帧之间的第n+1关键帧,重复执行所述发送模块和所述重定位模块,直至发送所述倒序结束视频帧至客户端,其中,所述发送模块重复执行若所述第n+1关键帧定位成功,从所述第n+1关键帧开始逐帧发送所述第n+1关键帧与所述第n关键帧之间的所有视频帧至客户端,且发送每一个视频帧之间休眠预设时间段,所述预设时间段与显示视频帧的帧率成反比。
2.根据权利要求1所述的服务器,其特征在于,
发送模块,用于若所述倒序开始视频帧是所述关键帧,发送所述倒序开始视频帧至客户端。
3.一种客户端,所述客户端用于解码并输出权利要求1~2之一所述服务器发送的视频帧;其特征在于,包括:
存储空间数组创建模块,用于创建包括多个存储单元的存储空间数组a且设置每一个所述存储单元的标志位为空闲,所述存储单元的个数为GopSize*2,其中,第1关键帧与倒序开始视频帧之间的所有视频帧构成第一个GOP,一个GOP中包括GopSize个视频帧;
接收模块,用于从第n关键帧开始逐帧接收所述第n关键帧与倒序开始视频帧之间的每一个视频帧,其中n=1;并用于从所述第n+1关键帧开始逐帧接收所述第n+1关键帧与所述第n关键帧之间的每一个视频帧;
解码模块,用于每接收完成一个视频帧,利用所述第n关键帧解码所述视频帧以得到视频画面且记录所述视频帧的解码时间;并用于每接收完成一个视频帧,利用所述第n+1关键帧解码所述视频帧以得到视频画面且记录所述视频帧的解码时间;
存储模块,用于每解码完成一个视频帧,存储与所述视频帧对应的视频画面至标志位为空闲的存储单元中且所述视频画面存储完成后,修改存储所述视频画面的存储单元的标志位为未显示;
标志位修订模块,用于接收到第n+1关键帧时,修改已存储至所述存储空间数组a中,且标志位为未显示的所有存储单元的标志位为待显示;并用于接收到第n+2关键帧时,修改已存储至所述存储空间数组a中,且标志位为未显示的所有存储单元的标志位为待显示;
输出模块,用于标志位为未显示的所有存储单元的标志位由未显示修改为待显示时,对标志位为待显示的所有存储单元中的视频画面按照所述解码时间的先后进行排序,并从所述解码时间最晚的视频画面开始输出且每输出一帧所述视频画面之后休眠预设时间段,所述预设时间段与显示所述视频帧的帧率成反比;
标志位修订模块,还用于每输出一帧所述视频画面后,修改存储所述视频画面的存储单元的标志位为空闲;
n=n+1,重复执行所述接收模块、解码模块、存储模块、标志位修订模块和输出模块,直至所述接收模块收到所述倒序结束视频帧,其中,所述接收模块重复执行从所述第n+1关键帧开始逐帧接收所述第n+1关键帧与所述第n关键帧之间的每一个视频帧,所述解码模块重复执行每接收完成一个视频帧,利用所述第n+1关键帧解码所述视频帧以得到视频画面且记录所述视频帧的解码时间,所述标志位修订模块重复执行接收到第n+2关键帧时,修改已存储至所述存储空间数组a中,且标志位为未显示的所有存储单元的标志位为待显示以及每输出一帧所述视频画面后,修改存储所述视频画面的存储单元的标志位为空闲。
4.根据权利要求3所述的客户端,其特征在于,
输出模块,用于若所述倒序开始视频帧是所述关键帧,输出所述关键帧解码后的视频画面。
5.一种基于RTSP/RTP的播放系统,其特征在于,其包括权利要求1~2之一所述的服务器和权利要求3~4之一所述的客户端,所述服务器与所述客户端之间通过网络通信连接。